軟件測試的藝術第二章總結

軟件測試的定義

測試是爲發現錯誤而執行程序的過程

軟件測試的心理學

經過測試來增長程序的價值,是指測試提升了程序的可靠性或質量。提升了程序的可靠性,是指找出並最終修改了程序的錯誤。所以不要只是爲了證實程序可以正確運行而去測試程序;相反,
應該一開始就假設程序中隱藏着錯誤(這種假設對於幾乎全部的程序都成立),而後測試程序,發現儘量多的錯誤
若是咱們的目的是證實程序中不存在錯誤,那就會在潛意識中傾向於實現這個目標,也就是說,咱們會傾向於選擇可能較少致使程序失效的測試數據。另外一方面,若是咱們的目標在於證實程序中存在錯誤,咱們設計的測試數據就有可能更多地發現間題
把程序當成病人,要找出病因

軟件測試的原則

  1. 測試用例中一個必需部分是對預期輸出或結果的定義
  2. 程序員應當避免測試本身編寫的程序
  3. 編寫軟件的組織不該當測試本身編寫的軟件
  4. 應當完全檢查每一個測試的執行結果
  5. 測試用例的編寫不只應當根據有效和預期的輸入狀況,並且也應當根據無效和未預料到的輸入狀況
  6. 檢查程序是否「未作其應該作的」僅是測試的一半,測試的另外一半是檢查程序是否「作了其不該該作的」
  7. 應避免測試用例用後即棄,除非軟件自己就是一個一次性的軟件
  8. 計劃測試工做時不該默許假定不會發現錯誤
  9. 程序某部分存在更多錯誤的可能性,與該部分已發現錯誤的數目成正比
  10. 軟件測試是一項極富創造性、極具智力挑戰性的工做

總結

  1. 軟件測試是爲發現錯誤而執行程序的過程
  2. 一個好的測試用例具備較高的發現某個還沒有發現的錯誤的可能性
  3. 一個成功的測試用例可以發現某個還沒有發現的錯誤
相關文章
相關標籤/搜索