《軟體測試》[(美)Ron Patton]第三章閱讀總結

ljhynl發表於2020-11-10

第三章 軟體測試的實質

一、測試的原則

1、完全測試程式是不可能的
  • 輸入量太大
  • 輸出結果太多
  • 軟體執行路徑太多
  • 軟體說明書是主觀的,可以說從旁觀者來看是缺陷
2、軟體測試是有風險的行為

軟體測試員要學會的一個關鍵思想:
如何把數量巨大的可能測試減少到可以控制的範圍,以及如何針對風險作出明智的抉擇,哪些測試重要,哪些不重要

3、測試無法顯示潛伏的軟體缺陷

軟體測試工作可以報告軟體缺陷存在,卻不能報告軟體缺陷不存在,如何情況下都不能保證軟體缺陷沒有了。

4、找到的軟體缺陷越多,就說明軟體缺陷越多

軟體測試員很長時間內找不到軟體缺陷的原因。找到一個,之後很快找到更多:

  • 程式設計師也有心情不好的時候
  • 程式設計師往往犯同樣的錯誤
  • 某些軟體缺陷實乃冰山一角
5、殺蟲劑怪事

定義:軟體測試越多,其對測試的免疫力越強
如何克服:軟體測試員必須不斷編寫不同的、新的測試程式,對程式不同部分進行測試,以找出更多軟體缺陷。

6、並非所有軟體缺陷都要修復

不需要修復軟體缺陷的原因:

  • 沒有足夠的時間
  • 不算真正的軟體缺陷
  • 修復的發現太大
  • 不值得修復
    決策過程通常由軟體測試員、專案經理及程式設計師共同參與。
7、什麼時候才叫缺陷難以說清

注意:尚未發現或未觀察到的軟體缺陷只能說是潛在缺陷。
在軟體測試中與通航進行探討,聽聽他人意見並驗證從而明確自己的觀點。

8、產品說明書從沒有最終版本

軟體測試員必須要想到產品說明書可能改變。可能發生未曾計劃測試的功能會增加,經過測試並報告軟體缺陷可能發生變化甚至被刪除等情況。

9、軟體測試員在產品小組中不受歡迎

軟體測試員的工作是檢查和批評同事的工作,挑毛病,公佈發現的問題。
對保持小組成員和睦的建議:

  • 早點找出缺陷
  • 控制情緒
  • 不要總是報告壞訊息
10、軟體測試是一個講究條理的技術職業

二、軟體測試的術語和定義

1、精確和準確

軟體測試要精確度還是準確度很大程度上取決於產品是什麼,最終取決於開發小組的目標。
理解:
飛鏢的目標是投中靶盤的中心,現有三個飛鏢,三個飛鏢若是落點集中則說明精確,若是命中目標則說明準確。

2、確認和驗證

確認:保證軟體符合產品說明書的過程
驗證:保證軟體滿足使用者要求的過程
舉例:哈勃天文望遠鏡問題

3、質量和可靠性

質量:“優秀程度”、“同類優越性”,能夠滿足客戶要求
可靠性:質量的一個方面

4、測試和質量保證

使用場景:描述確認和驗證的小組和過程
軟體質量保證人員的主要職責是建立和執行改進軟體開發過程並防止軟體缺陷發生的標準和方法

相關文章