在做作業之前我們首先要明確軟件測試過程中的幾個名詞:
Fault:在軟件測試中,fault是指程序中靜態的缺陷,也就是指在程序中存在的編程錯誤。
Error:在軟件測試中,error是指由于程序中存在的fault而產生的不正確的內在狀態。
Failure: ?在軟件測試中,failure是指程序產生與我們期望不同的結果,強調外在表現。
作業內容:
?
分析:
1、第一個程序的fault是:i>0不能滿足條件,應改為i≥0.
?第二個程序的fault是:應該從后往前搜索而不是從前往后
2、設計一個不執行fault的測試用例。
?第一個程序:x=null , y=2
?第二個程序:x=null
3、設計一個執行fault但是不導致error的測試用例
?第一個程序:x=[2,3,4] , y=4 ? ?//執行fault但是不受數組第一位(error處)影響
?第二個程序:x=[1,0,1] ? ? ? ? ? ?//執行fault但是不受數組檢索順序(error處)影響
4、設計一個導致Error,但不導致Failure的測試用例
? ? ?//受error處影響但是實際值與期待值相同,不產生Failure。
? ? ?第一個程序:x=[1] , y=2 ?//expected:-1 , actual:-1
? ? ?第二個程序:x=[0,1,2] ?//expected:0 , actual:0
?