標籤:軟體測試
軟體測試在程式員對每一個模組的編碼之後先做程式測試,再做單元測試,然後再進行整合(綜合或組裝)測試,系統測試,驗收(確認)測試,平行測試,人工測試,其中單元測試的一部分已在編碼階段就開始了,測試橫跨開發與測試兩個階段,又有不同的人員參加,測試工作本身是複雜的。
據統計測試工作量要佔軟體開發總成本的40%到50%以上。
從這張圖中我們可以看到,軟體測試設計概念和原則、技術兩方面的內容。
首先來說概念和原則。
概念:軟體測試時對軟體計劃、軟體設計、軟體編碼進行查錯和錯誤修正的活動(包括代碼執行活動與人工活動),軟體測試其實包括程式測試。軟體確認和程式確認分別是它們的廣義概念。在這裡需要補充一點軟體錯誤,軟體錯誤主要是有一些功能錯和系統錯。功能錯是需求分析設計不完整而引起的,系統錯是總體設計錯誤而引起的。
測試原則:(1)測試前要認定被測試軟體有錯,不要認為軟體沒有錯
(2)要預先確定被測試軟體的測試結果
(3)要盡量避免測試自己編寫的程式。
(4)測試要兼顧合理輸入與不合理輸入資料。
(5)測試要以軟體需求規格說明書為標準。
(6)要明確找到的新錯與已找到的舊錯成正比。
(7)測試是相對的,不能窮盡所有的測試,要據人力物力安排測試,並選擇好的測試案例與測 試方法。
(8)測試案例留作測試報告與以後的反覆測試用,重新驗證錯誤修正的程式是否有錯。
再來說技術。
測試目標:
(1)測試時為了發現程式中的錯誤而執行程式的過程;
(2)好的測試方案是極可能發現迄今為止尚未發現的錯誤的測試方案;
(3)成功的測試是發現了至今為止尚未發現的錯誤的測試。
測試方法:按照測試過程是否在實際應用環境中來分有靜態分析與動態分析。
測試方法有分析方法(包括靜態分析法與白盒法)與非分析方法(稱黑盒法)。
白盒法是通過剖析器內部的邏輯與執行路線來設計測試案例,進行測試的方法,白盒法也稱邏輯驅動方法。黑盒法是功能驅動方法,僅根據I/O資料條件來設計測試案例,而不管程式的內部結構與路徑如何。說白了就是白盒法就是透明的,對其內部能操作。黑盒法因為不透明,所以只能進行整體外部操作。
設計測試方案:語句覆蓋、判定覆蓋和條件覆蓋是重點。
軟工視頻(21~25)-軟體測試