在傳統(tǒng)的瀑布模型中,軟件項(xiàng)目主要有一下幾個階段組成:用戶需求、需求分析、概要設(shè)計、詳細(xì)設(shè)計、編碼和實(shí)現(xiàn)、測試以及運(yùn)行維護(hù)。由于軟件測試僅處于運(yùn)行維護(hù)階段之前,是軟件產(chǎn)品交付用戶使用之前保證軟件質(zhì)量的重要手段。因此人們一般認(rèn)為,軟件測試只是軟件編碼后的一個階段。
但隨著軟件測試業(yè)的發(fā)展,人們越來越認(rèn)識到:軟件測試不應(yīng)只是軟件項(xiàng)目的收尾工作,而應(yīng)該在軟件生命周期的每一階段中都包含測試。軟件測試是貫穿于整個軟件開發(fā)生命周期的過程活動,包括軟件測試計劃、軟件測試需求分析、軟件測試用例設(shè)計、軟件測試執(zhí)行、軟件缺陷管理、軟件測試風(fēng)險管理以及其他的一些軟件測試相關(guān)的活動等等組成。在軟件項(xiàng)目的每個階段,都需要進(jìn)行不同目的和不同內(nèi)容的測試活動,以保證各個階段工作產(chǎn)品輸出的正確性。軟件測試的對象也不僅僅是軟件代碼,還包括軟件需求文檔和設(shè)計文檔等其他所有的軟件工作產(chǎn)品。軟件開發(fā)與軟件測試之間應(yīng)該是交互進(jìn)行的,比如單元編碼之后需要進(jìn)行單元測試,模塊組合之后進(jìn)行集成測試。
如果等到軟件編碼結(jié)束之后才進(jìn)行測試,測試的時間很有限,很難達(dá)到測試的覆蓋率要求和測試的質(zhì)量要求。同時,假如在項(xiàng)目開發(fā)的后期,發(fā)現(xiàn)一些軟件需求階段和概要設(shè)計階段的錯誤和問題,修改這些缺陷導(dǎo)致的成本將是非常高的。有資料表明:平均而言,如果在需求階段修正一個錯誤的代價是1,那么,在設(shè)計階段就是它的3-6倍,在編程階段是它的10倍,在內(nèi)部測試階段是它的20-40倍,在外部測試階段是它的30-70倍,而到了產(chǎn)品發(fā)布出去,這個數(shù)字就是40-1000倍。修正錯誤的代價不是隨著時間線性增長的,而幾乎是呈指數(shù)增長的。因此,應(yīng)盡早地不斷地進(jìn)行軟件測試,發(fā)現(xiàn)錯誤并加以修正,而非軟件開發(fā)結(jié)束后才進(jìn)行測試。
推薦閱讀:
本文內(nèi)容不用于商業(yè)目的,如涉及知識產(chǎn)權(quán)問題,請權(quán)利人聯(lián)系SPASVO小編(021-60725088-8054),我們將立即處理,馬上刪除。