軟體測試是乙個過程,是哲學思想在軟體工程中的運用,更是質量目標的擴充套件和延伸。軟體測試構成了具有豐富內容的三維空間。
1. 測試目標— 質量特性的驗證
正確性測試 (correctness testing) 或功能性測試:是基於產品功能規格說明書、從使用者角度針對產品特定的功能和特性所進行的驗證活動,以確認每個功能是否得到完整的實現,使用者能否正常使用這些功能。功能測試一般要在完成整合測試後進行,而且是針對應用系統、在實際執行環境下而進行的測試。
效能測試(performance testing):是測試在一定條件下系統行為表現,是否在設計的效能指標範圍內。如測試**在併發使用者數為10、100、1000、10000等情況下,頁面的響應時間是否在3秒或5秒內,響應時間最長是否不超過15秒或30秒。效能測試不同於負載測試(stress/load testing),效能測試是在定義的各種條件下去衡量系統的有關效能指標,而負載測試只測試在一些極端條件下,系統還能否正常工作,或載入到系統崩潰而找出系統效能的瓶頸,所以也可以和效能測試結合起來做。
可靠性測試(reliability testing):是評估軟體在執行時的可靠性,即通過測試確認平均無故障時間(mttf, mean time to failure)或最初平均壽命,即故障發生前平均工作時間(mttff, mean-time -to-first-failure)。可靠性測試強調隨機輸入,並通過模擬系統實現,很難通過實際系統的執行來實現。可靠性測試,一般伴隨著強壯性測試(robustness/strong testing)。
安全性測試(safety or security testing):是測試系統在應付非授權的內部/外部訪問、非法侵入或故意的損壞時的系統防護能力,以檢驗系統有能力使可能存在來自於內/外部的傷害或損害的風險限制在可接受的水平內。軟體可靠性要求,通常包括了安全性的要求。但是軟體的可靠性不能完全取代軟體的安全性,因為安全性還涉及到資料加密、保密、訪問許可權等方面的要求。
容錯性測試(tolerance testing):是檢查軟體在異常條件下自身是否具有防護性的措施或者某種災難性恢復的手段。如當系統出錯時,能否在指定時間間隔內修正錯誤並重新啟動。容錯性測試看作由系統異常處理測試和恢復測試組成。
恢復測試 (recovery testing),在系統崩潰、硬體故障、或者其他災難發生之後,重新恢復系統和資料的能力測試,包括確定軟體系統的平均修復時間(mttr,mean time to repair)。
相容性測試 (compatibility testing),測試在各種的硬體/軟體/作業系統/網路環境下的軟體表現,包括硬體介面、軟體新舊版本相容、已存在資料的相容能力。
2. 測試方法 — 哲學的思考
測試的方法技術,經過多年的發展,已經相當成熟,方法比較多。如白盒測試方法 (white-box test) 、灰盒測試方法(gray-box test)和黑盒測試方法(black-box test),就是一種哲學思想在軟體測試中的體現和延伸。從哲學觀點看,分析問題和解決問題的方法有兩種:白盒子方法和黑盒子方法。如果我們對被測的物件/世界(軟體)認知很少,可以不用了解其內部結構,完全只關注其外部的變化,如外部的輸入、外部作用或被測的物件所處的條件以及被測的物件輸出的結果,就可以完成測試,這就是黑盒測試方法。隨著對被測的物件的認知越來越多,就可以採用灰盒測試方法;當我們完全認知被測的物件時,就可以用白盒測試方法。也見:
測試方法的辯證統一 (1)和 第7回 軟體測試方法的應用之道。
3. 測試階段 - 生命週期的顯現
隨著軟體開發的生命週期所包含的活動——程序的不斷推進,測試與之對應,也劃分了不同的測試階段,包括單元測試、整合測試、系統測試和驗收測試等,我們將在後面陸續討論。
預知後事如何,請讀下回分解:
第9回
驗證和確認——缺一不可
®
——系列討論的目錄,見:
軟體測試演義——中高階系列(序)
第8回 測試的三維空間
軟體測試是乙個過程,是哲學思想在軟體工程中的運用,更是質量目標的擴充套件和延伸。軟體測試構成了具有豐富內容的三維空間。1.測試目標 質量特性的驗證 正確性測試 correctness testing 或功能性測試 是基於產品功能規格說明書 從使用者角度針對產品特定的功能和特性所進行的驗證活動,以確認...
三維空間剛體旋轉
剛體 運動過程中不會產生形變的物體,運動過程中同乙個向量的長度和夾角都不會發生變化。剛體變換也稱為歐式變換。旋轉矩陣 四元數旋轉向量 尤拉角安裝方式 eigen庫只有標頭檔案,沒有.so和.a二進位制檔案,所以在cmakelists.txt中只需要新增標頭檔案路徑,並不需要使用target link...
BFS 三維空間迷宮
題面 你被困在乙個三維的空間中,現在要尋找最短路徑逃生!空間由立方體單位構成。每次向上下前後左右移動乙個單位需要一分鐘,且不能對角線移動。空間的四周封閉。你的目標是走到空間的出口。問是否存在逃出生天的可能性?如果存在,則需要多少時間?輸入第一行是乙個數表示空間的數量。每個空間的描述的第一行為l,r和...