軟件開發(fā)是生產(chǎn)制造軟件;軟件測試是驗證開發(fā)出來軟件的質(zhì)量。類比傳統(tǒng)加工制造企業(yè),軟件開發(fā)人員就是生產(chǎn)加工的工人,軟件測試人員就是質(zhì)檢人員。對于軟件測試與軟件開發(fā)過程之間的關(guān)系,套用固定的模型不是聰明之舉。
(1)項目規(guī)劃階段:負責從單元測試到系統(tǒng)測試的整個測試階段的監(jiān)控。
(2)需求分析階段:確定測試需求分析、系統(tǒng)測試計劃的制定,評審后成為管理項目。測試需求分析是對產(chǎn)品 生命周期中測試所需求的資源、配置、每階段評判通過的規(guī)約;系統(tǒng)測試計劃則是依據(jù)軟件的需求規(guī)格說明書,制定測試計劃和設(shè)計相應(yīng)的測試用例。
(3)詳細設(shè)計和概要設(shè)計階段:確保集成測試計劃和單元測試計劃完成。
(4)編碼階段:由開發(fā)人員進行自己負責部分的代碼的測試。在項目較大時,由專人進行編碼階段的測試任務(wù)。
(5)測試階段(單元、集成、系統(tǒng)測試):依據(jù)測試代碼進行測試,并提交相應(yīng)的測試狀態(tài)報告和測試結(jié)束報告。
開發(fā)和測試是一個有機的整體!在產(chǎn)品的發(fā)布之前,開發(fā)和測試是循環(huán)進行的, 測出的缺陷要經(jīng)開發(fā)人員修改后繼續(xù)測試。在開發(fā)的同時測試經(jīng)理開始編寫測試用例,測試文檔要參考開發(fā)文檔,所以開發(fā)和測試是不可分割的, 少了任何一個都不能開發(fā)出產(chǎn)品。
從角色方面看,像理論和實驗的關(guān)系,開發(fā)人員通過自己的想象創(chuàng)造出一套思想,之后測試人員再對它進行檢驗、證偽,開發(fā)人員再修改的過程從而不斷豐富產(chǎn)品。
從方法方面看,是演繹和歸納的關(guān)系,一個要掌握大量的技術(shù),一個要不斷地從實例中學(xué)習(xí)。因這兩方面的不同,所以開發(fā)和測試看上去做的工作很不一樣。
軟件測試是貫穿于軟件開發(fā)過程的,軟件生存周期的各個階段都少不了相應(yīng)的測試。開發(fā)與測試是相輔相成、密不可分的,開發(fā)人員開發(fā)出新的產(chǎn)品后要通過測試判斷產(chǎn)品是否完全滿足用戶的需求。如果發(fā)現(xiàn)缺陷,提交給開發(fā)人員進行修復(fù),然后再轉(zhuǎn)交測試人員進行回歸測試,直到產(chǎn)品符合需求規(guī)格說明。一個符合用戶需求的產(chǎn)品是開發(fā)和測試共同努力的成果。
不能為空
不能為空