標籤:
軟體開發的生命週期主要包括以下的階段:
1、問題定義。
2、可行性研究。
3、需求分析。
4、概要設計。
5、詳細設計。
6、編碼和單元測試。
7、綜合測試。
8、軟體維護
以上就是一個軟體開發的完整生命週期,能比較明顯的看出,到詳細設計為止,之前的階段很少涉及到測試的環節,從編碼實現開始,測試就開始貫穿之後的階段,編碼實現中,用的最多的就是單元測試,編碼人員或測試人員主要通過一些測試案例來檢測編寫的代碼塊是否實現了所需要的功能,但是單元測試中又分為黑箱測試和白盒測試,黑箱測試是不知道內部的詳細實現,只是測試一個功能是顯示,所以又稱為功能測試,它只能驗證輸入和輸出的關係,卻不能發現設計上的存在的問題。而白盒測試,則需要讀懂代碼,瞭解內部的詳細實現,然後編寫測試案例,常用的軟體測試方法有兩大類:靜態測試方法和動態測試方法。其中軟體的靜態測試不要求在電腦上實際執行所測程式,主要以一些人工的類比技術對軟體進行分析和測試;而軟體的動態測試是通過輸入一組預先按照一定的測試準則構造的執行個體資料來動態運行程式,而達到發現程式錯誤的過程。無論白盒測試還是黑箱測試,都只能在一定程度上保證模組功能的正確性,而不能保證百分之百的正確,所以在後期還會有相應維護。
假設各個模組都已經測試通過,那麼就進入到了下一個階段,那就是綜合測試,其中最基本的測試就是整合測試和驗收測試。所謂整合測試是根據設計的軟體結構,把經過單元測試檢驗的模組按某種選定的策略裝配起來,在裝配過程中對程式進行必要的測試。在這個測試中經常出現的情況就是:每一個模組的測試都能通過,但是一整合就會出現各種各樣的問題。而驗收測試則是按照規格說明的規定(通常在需求分析階段確定),由使用者(或在使用者積极參与下)對目標系統進行驗收。當然還包括了壓力測試(尤其是大型的網站)以及效能測試。
其實交付客戶使用之後,也可以看做是一個測試,不過是各個使用者進行測試,發現問題後反饋到開發方,也就是軟體維護。
測試在軟體開發生命週期中佔著極大的比重。而且對任何一個軟體都具有很重要的意義,開發人員只能通過測試的結果分析軟體中存在或遇到的問題,才能進行修正。所以不能輕視測試的作用。
(以上僅代表筆者意見,出錯之處,請各位讀者及時指出,以免誤導他人)
軟體開發生命週期中測試的使用方式