白盒測試與黑盒測試的方式雖然不同,但往往有“異曲同工”之妙。在很多地方,白盒測試與黑盒測試會產(chǎn)生一模一樣的效果(或者能推理出來),這樣的測試是冗余的。

  在集成測試、系統(tǒng)測試階段,可能要執(zhí)行多次“回歸測試”。每一次“回歸測試”都會存在不少的冗余,應當設法剔除不必要的重復測試工作。

  減少無價值的測試

  無價值的測試通常是由于不懂得測試技術(shù)引起的。例如功能測試,在等價區(qū)間之中,本來只要測試一個典型的輸入行了,如果有人在此區(qū)間測試了100次,那么其中99次是無價值的。

  如何“偷工減料”

  有一些“短、平、快”的項目,經(jīng)費本來少,用戶對質(zhì)量要求也馬馬虎虎。為了能多掙一點錢,開發(fā)方不得不采用“偷工減料”的方式來降低測試代價。偷工減料的途徑無非是減少測試的內(nèi)容和頻度。但不能砍得太狠,否則軟件拿不出手;痉椒ㄊ钦页鲕浖行枰獌(yōu)先測試的部分(見下表),其它次要部分可以忽略或?qū)碓贉y試。

  “偷工減料”方法的測試優(yōu)先級:

  哪些功能是軟件的特色?

  哪些功能是用戶常用的?

  如果系統(tǒng)可以分塊賣的話,哪些功能塊在銷售時昂貴?

  哪些功能出錯將導致用戶不滿或索賠?

  哪些程序是復雜、容易出錯的?

  哪些程序是相對獨立,應當提前測試的?

  哪些程序容易擴散錯誤?

  哪些程序是全系統(tǒng)的性能瓶頸所在?

  哪些程序是開發(fā)者沒有信心的?