標籤:com 階段 程式 標準 要求 大量 缺陷 src 組合
1.測試特點
大量統計資料表明,目前軟體測試所花費用已超過軟體開發費用的30%。
目的:在軟體投入生產運行之前,儘可能地發現軟體(主要是程式)中的錯誤和缺陷。
一次成功的測試是發現至今為止尚未發現的錯誤。
高效的測試是指用少量的測試案例,發現儘可能多的錯誤。
2.測試分類
階段劃分:單元測試,整合測試,確認測試,系統測試。
方法劃分:白盒測試,黑箱測試。
產品劃分:α測試和β測試。
注意:在實際應用中,一旦糾正了程式中的錯誤,還應該部分或全部進行重新測試,這種測試稱為迴歸測試。
3.V模型
V模型是一個以測試為驅動的開發模型,該模型強調開發過程中測試貫穿始終。
4.單元測試
模組的內聚程度高可以簡化單元測試過程。測試的方案也將明顯減少,模組內的錯誤也更容易預測和發現。
5.整合測試
非漸增式:講究一步到位,診斷定位和改正錯誤困難,只適合一些非常小的軟體。
漸增式:
自頂向下:先測試上層模組,再測試下層模組,不必編寫驅動模組。
自底向上:先測試下層模組,再測試上層模組,不必編寫樁(測試)模組。
6.白盒測試-覆蓋標準
1.語句覆蓋:每個語句至少執行一次
2.判定覆蓋:不僅每個語句至少執行一次,而且每個判定的每種可能都至少執行一次
3.條件覆蓋:不僅每個語句至少執行一次,而且判定運算式中的每個條件都取得各種可能的結果
4.判定/條件覆蓋:同時滿足判定覆蓋和條件覆蓋
5.條件組合覆蓋:使每個判定運算式中的條件結果的所有組合至少出現一次
6.路徑覆蓋:使程式中所有可能的路徑都至少經過一次(如果程式中有環路,,則要求每條環路至少經過一次)
注意:滿足條件組合覆蓋的測試案例,也一定滿足判定/條件覆蓋。然而,條件覆蓋還不能保證程式中所有可能的路徑都至少經過一次
注意:條件覆蓋不一定包含判定覆蓋,判定覆蓋也不一定包含條件覆蓋。
注意:路徑覆蓋並未考慮判定中的條件結果的組合,並不能代替條件覆蓋和條件組合覆蓋
軟體工程-軟體測試