在集成測試的時候,已經對一些子系統進行了功能測試、性能測試等等,那么在系統測試時能否跳過相同內容的測試?
不能!因為集成測試是在仿真環境中開展的,那不是真正的目標系統。再者,單元測試和集成測試通常由開發小組執行。根據測試心理學的分析,開發人員測試自己的工作成果雖然是必要的,但不能作為成果已經通過測試的依據。
既然系統測試與驗收測試的內容幾乎是相同的,為什么還要驗收測試?
首先是“信任”問題。對于合同項目而言,如果測試小組是開發方的人員,客戶怎么能夠輕易相信“別人”呢? 所以當項目進行系統測試之后,客戶再進行驗收測試是情理之中的事。否則,那是客戶失職。
不論是合同項目還是非合同項目,軟件的最終用戶各色各樣(如受教育程度不同、使用習慣不同等等)。測試小組至多能夠模仿小部分用戶的行為,但并不具有普遍的代表性。
能否將系統測試和驗收測試“合二為一”?
系統測試不是一會兒就能做完的,比較長時間的用戶測試很難組織。用戶還有自己的事情要做,他們為什么要為別人測試呢?即使用戶愿意做系統測試,他們消耗的時間、花費的金錢大多比測試小組的高。
系統測試時會找出相當多的軟件缺陷,軟件需要反反復復地改錯。如果讓用戶發現“內幕”,一是丟臉,二是會嚇跑買主。所以還是關起門來,先讓測試小組做完系統測試的好。
原文轉自:http://www.anti-gravitydesign.com