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