本書第六章,主要講的是更高級(jí)別的測(cè)試,它最適合用于軟件產(chǎn)品??蓮膬蓚€(gè)層面來概述。
⊙更高級(jí)別的測(cè)試
當(dāng)程序無法實(shí)現(xiàn)其最終用戶要求的合理功能時(shí),就發(fā)生了一個(gè)軟件錯(cuò)誤。因而即使完成了一次非常完美的單元測(cè)試,仍然不能保證已經(jīng)找出了程序中的所有錯(cuò)誤,所以必須有這一測(cè)試環(huán)節(jié)。
⊙軟件開發(fā)過程與測(cè)試過程的對(duì)應(yīng)
軟件開發(fā)過程在很大程度上是溝通有關(guān)最終程序的信息、并將信息從一種形式轉(zhuǎn)換到另一種形式,因此,絕大部分軟件錯(cuò)誤都可以歸因?yàn)樾畔贤ê娃D(zhuǎn)換時(shí)發(fā)生的故障。
現(xiàn)有三個(gè)補(bǔ)充的方法來預(yù)防或識(shí)別這些錯(cuò)誤,它們分別是:
⊙可以使軟件開發(fā)過程更加精密,以防其中出現(xiàn)很多錯(cuò)誤;
⊙在每個(gè)階段結(jié)束時(shí),可以引入一個(gè)獨(dú)立的驗(yàn)證過程,在進(jìn)入下一個(gè)階段之前盡可能多地發(fā)現(xiàn)問題;
⊙對(duì)不同的開發(fā)階段采用不同的測(cè)試方法。即:將每一個(gè)測(cè)試過程都重點(diǎn)針對(duì)一個(gè)特定的轉(zhuǎn)換步驟,從而也針對(duì)一類具體的錯(cuò)誤。(能在開發(fā)過程和測(cè)試過程之間建立起一對(duì)一的聯(lián)系,能避免沒有效果的多余測(cè)試,并使我們不會(huì)遺漏掉大量的錯(cuò)誤類型。)
文尾,需注明的是:測(cè)試過程順序并不一定意味著嚴(yán)格的時(shí)間順序,多種測(cè)試在時(shí)間上是可以發(fā)生部分重疊測(cè)試的。但需要說明,集成測(cè)試往往并不作為一個(gè)獨(dú)立的測(cè)試步驟,而且在進(jìn)行增量模塊測(cè)試時(shí),它是模塊測(cè)試的隱含部分。(開發(fā)過程與測(cè)試過程的對(duì)應(yīng)關(guān)系圖,由于篇幅的原因,在此就不再敘述。)
⊙更高級(jí)別的測(cè)試
當(dāng)程序無法實(shí)現(xiàn)其最終用戶要求的合理功能時(shí),就發(fā)生了一個(gè)軟件錯(cuò)誤。因而即使完成了一次非常完美的單元測(cè)試,仍然不能保證已經(jīng)找出了程序中的所有錯(cuò)誤,所以必須有這一測(cè)試環(huán)節(jié)。
⊙軟件開發(fā)過程與測(cè)試過程的對(duì)應(yīng)
軟件開發(fā)過程在很大程度上是溝通有關(guān)最終程序的信息、并將信息從一種形式轉(zhuǎn)換到另一種形式,因此,絕大部分軟件錯(cuò)誤都可以歸因?yàn)樾畔贤ê娃D(zhuǎn)換時(shí)發(fā)生的故障。
現(xiàn)有三個(gè)補(bǔ)充的方法來預(yù)防或識(shí)別這些錯(cuò)誤,它們分別是:
⊙可以使軟件開發(fā)過程更加精密,以防其中出現(xiàn)很多錯(cuò)誤;
⊙在每個(gè)階段結(jié)束時(shí),可以引入一個(gè)獨(dú)立的驗(yàn)證過程,在進(jìn)入下一個(gè)階段之前盡可能多地發(fā)現(xiàn)問題;
⊙對(duì)不同的開發(fā)階段采用不同的測(cè)試方法。即:將每一個(gè)測(cè)試過程都重點(diǎn)針對(duì)一個(gè)特定的轉(zhuǎn)換步驟,從而也針對(duì)一類具體的錯(cuò)誤。(能在開發(fā)過程和測(cè)試過程之間建立起一對(duì)一的聯(lián)系,能避免沒有效果的多余測(cè)試,并使我們不會(huì)遺漏掉大量的錯(cuò)誤類型。)
文尾,需注明的是:測(cè)試過程順序并不一定意味著嚴(yán)格的時(shí)間順序,多種測(cè)試在時(shí)間上是可以發(fā)生部分重疊測(cè)試的。但需要說明,集成測(cè)試往往并不作為一個(gè)獨(dú)立的測(cè)試步驟,而且在進(jìn)行增量模塊測(cè)試時(shí),它是模塊測(cè)試的隱含部分。(開發(fā)過程與測(cè)試過程的對(duì)應(yīng)關(guān)系圖,由于篇幅的原因,在此就不再敘述。)