軟件測試 seventhday(系統測試)

一、健壯性測試

健壯性測試(Robustness Testing):

1.主要用於測試系統抵禦錯誤的能力;

2.這裏的錯誤通常是指由於設計缺陷而帶來的系統錯誤。(自身的問題)

3.測試的重點爲當出現故障時,是否能夠自動恢復或忽略故障繼續運行

健壯性測試的現狀:

1.企業往往分配少量的資源用於確定系統的異常處理,從而忽略系統健壯性。

2.一個好的軟件系統必須經過健壯性測試才能最終交付給用戶。

健壯性的含義:

1.一是高可靠性。體現了軟件系統的質量;需要根據符合規格說明的數據選擇測試用例,用於檢測正常情況下的系統輸出的正確性。

2.二是從錯誤中恢復的能力。體現了軟件系統的適應性。需要在異常數據中選擇測試用例,檢測非正常情況下的系統行爲。

健壯性的評價:

1.通過;

2.災難性失效:最嚴重的;

3.重啓失效:一個系統函數的調用沒有返回,使得調用它的程序掛起或停止;

4.夭折失效:異常輸入,系統發出錯誤提示,程序中止;

5.沉寂失效:異常輸入,系統發出錯誤提示,但是測試結果沒有發生異常;

6.干擾失效:系統異常時返回了錯誤提示,但是該錯誤提示不是期望中的錯誤;

自動化實現上述內容時需要把握的原則:

1.可移植性:健壯性測試基準程序是用來比較不同系統的健壯性,因此可移植性是測試基準程序的基本要求;

2.覆蓋率:一般選用使用頻度較高的模塊進行測評;

3.可擴展性;

4.測試結果的記錄;

二、安全性測試

安全性測試:

1.檢查系統對非法入侵的防範能力。(外部的攻擊)

2.其目的是爲了發現軟件系統中是否存在安全漏洞

3.軟件安全性是指在非正常條件下不發生安全事故的能力

系統安全設計的準則:

使非法侵入的代價超過被保護的信息的價值。

安全性測試手段:

測試者扮演一個試圖攻擊系統的角色。

安全性的層次:

1.應用程序級別的安全性:對數據或業務功能的訪問

2.系統級別的安全性:對系統的登錄或遠程訪問

3.應用程序級別的安全性可確保在預期的安全性情況下,操作者只能訪問特定的功能或用例,或者只能訪問有限的數據;

4.系統級別的安全性對確保只有具備系統訪問權限的用戶才能訪問應用程序,而且只能通過相應的入口來訪問;

安全性測試方法:

1.功能驗證:黑盒測試方法,主要是驗證涉及安全的軟件功能是否有效;

2.漏洞掃描:安全性漏洞掃描通常藉助於特定的漏洞掃描器完成;

分爲主機漏洞掃描器和網絡漏洞掃描器:主機漏洞掃描器是指在本地運行檢測系統漏洞的程序,網絡漏洞掃描器是指基於網絡遠程監測目標網咯和主機系統漏洞的程序。

3.模擬攻擊:模擬攻擊來驗證軟件或信息系統的安全防護能力;

冒充;重演;消息篡改;拒絕服務(Dos);內部攻擊;外部攻擊;陷阱;木馬;

4.偵聽技術:實際上實在數據通信或數據交互過程中,對數據進行截取分析的過程

目前最爲流行的是網絡數據包的捕獲技術,通常稱爲Capture;

該項技術主要用於對網絡加密的驗證;

三、可靠性測試

軟件可靠性:

在規定的時間、規定的運行剖面上運行規定的軟件,測試其是否能正常執行的能力;

度量指標:

1.平均無故障時間是否超過規定時限;

2.因故障而停機的時間在一年中應不超過多少時間等;

3.可用軟件可靠性模型來評估這些指標的有效性;

基本參數:

1.t1,t2,...,tn是系統正常工作的時間;T1,T2,...,Tn是系統的維護時間;

2.故障率:λ=n/Σti=總失效次數/總工作時間;單位是FIT,1FIT=10^-9/小時;

3.維修率:u=n/ΣTi=總失效次數/總維護時間;

4.平均無故障時間:MTBF=1/λ;

5.平均維護時間:MTTR=1/u;

6.有效度:A=總工作時間/(總工作時間+總維護時間)=MTBF/(MTBF+MTTR)=u/λ+u;

7.殘留的缺陷數目No:可以採用第二章敘述的方法進行估計;

8.可靠性:R(t)=e^(-∫0t λ(t)dt);

四、恢復性測試

恢復性測試:

1.主要檢查系統的容錯能力;

2.恢復測試要採用各種方法強迫系統失敗,然後驗證系統是否能儘快恢復;

涉及恢復性測試用例時,需要考慮的問題:

1.測試是否存在潛在的災難,以及可能造成的損失;

2.保護和恢復工作是否爲災難提供了足夠的準備;

3.當真正需要時,恢復過程能否正常工作;

五、備份測試

1.備份測試是恢復性測試的一個補充,也是恢復性測試的一個部分;

2.備份測試的目的是驗證系統在軟件或者硬件失敗時備份數據的能力

3.備份測試需要考慮的角度;

六、兼容性測試

兼容性測試是指檢查軟件之間是否能夠正確地進行交互和共享信息

軟件兼容性測試需要解決的問題:

1.軟件設計需求與運行平臺的兼容性;

2.軟件的行業標準或規範,以及如何達到這些標準和規範的條件;

3.被測軟件與其他平臺、其他軟件交互或共享的信息;

兼容性測試:

1.向前和向後兼容;

2.不同版本之間的兼容;

3.標準和規範;

4.數據共享兼容性;

七、安裝性測試

1.安裝性測試是軟件測試首要解決的問題;

2.不僅要考慮在不同的操作系統上運行,還要考慮與現有軟件系統的配合使用問題;

八、可用性測試

可用性測試是對於用戶友好性的測試,是指在設計過程中被用來改善易用性的一系列方法。

可用性測試方法:

一對一用戶測試;啓發式評估;焦點小組;

測試人員應關注的問題:對於用戶是否太過於複雜或者是否傳遞信息不夠清晰。

九、配置測試

驗證系統在不同的系統配置下能否正常工作。

目的:促使被測軟件在儘可能多的硬件平臺上運行。有時會和兼容性測試或安裝測試一起進行。

十、文檔測試

1.軟件產品由可運行的程序、數據和文檔組成

2.一個好的軟件文檔可以提高軟件產品的可用性和可靠性,降低支持費用。

3.文檔測試目標是驗證軟件文檔是否正確記錄系統的開發全過程的技術細節。

4.文檔測試的內容:文檔的正確性;文檔的完備性;文檔的可理解性。

5.文檔測試方法:文檔走查;數據校對;操作流程檢查;引用測試。

十一、GUI測試

十二、驗收測試

1.驗收測試是部署軟件之前的最後一項測試,目的是確保軟件準備就緒,並且可以讓最終用戶使用。

2.正式驗收測試;非正式驗收測試;Beta測試。

十三、迴歸測試

1.迴歸測試是在軟件發生變動時保證原有功能正常運作的一種測試策略和方法。

2.不需要進行全面的測試,只需要根據修改的情況進行有選擇性的測試。

十四、網站測試

文字測試;鏈接測試;圖形測試;表單測試;動態內容測試;數據庫測試;服務器性能和加載測試;安全性測試。


接下來大概是要複習現代操作系統或者計算機網絡了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章