1. 程式人生 > >軟體測試的藝術(一):軟體測試的重要原則

軟體測試的藝術(一):軟體測試的重要原則

軟體測試是為了發現錯誤而執行程式的過程,這就說明目的是為了發現錯誤,動作是執行程式。

在進行軟體測試的過程中,要遵循很多的原則,以下是幾個重要的測試原則:

1)      測試用例中一個必需部分是對預期輸出或結果進行定義。

         對於軟體測試,必須是有明確的定義輸入資料和條件,同時對輸出結果有準確的判斷。這樣才能辨別是否是有效的測試,當前的結果是否是正確的。

2)      程式設計師應當避免測試自己編寫的程式。

         人都會有固定思維,一方面是可能對軟體需求規格書的理解偏差,導致編寫的程式也有偏差,所以自己沒有發現。另一方面是人的傾向是程式是正確的,會盡量去避免發現錯誤。

3)      編寫軟體的組織不應當測試自己編寫的軟體。

         原理跟上一條相似。會潛意識裡避免發現錯誤,且難以發現自身問題。

4)      應當徹底檢查每個測試的執行結果。

5)      測試用例的編寫不僅應當根據有效或預料到的輸入情況,而且也應當根據無效和未預料到的輸入情況。

         通常會忽略無效和未預料到的輸入情況,而實際上很多錯誤都發生於此。

6)      檢查程式是否“未做其應該做的”僅是測試的一半,測試的另一半是檢查程式是否“做了其不應該做的”。

         這也是測試的兩面,沒有做應該做的是錯誤,做了不該做的也同樣是錯誤。

7)      應避免測試用例用後即棄,除非軟體本身就是一個一次性的軟體。

         編寫測試用例本身是一個複雜且耗時的事情,要考慮之後的迭代,產品的更新換代,能夠節省不少時間,其次能及時對測試用例進行優化和升級。

8)      計劃測試工作時不應默許假定不會發生錯誤。

         任何錯誤都可能會發生,還有很多未發現的隱藏錯誤。必須充滿好奇心和質疑的態度去探究。

9)      程式某部分存在更多錯誤的可能性,與該部分已發現錯誤的數量成正比。

         發生錯誤越多的地方意味著程式的這部分越不穩定,隱藏的問題也越多。所以要重點測試發生了更多錯誤的地方,挖出隱藏問題。

10)      軟體測試是一項極富創造性、極具智力挑戰性的工作。