軟件測試的基礎------總結

一個軟件的生命週期各個階段:

  • 項目啓動

主要任務是:申請項目立項、審覈項目立項、召開項目立項會議

  • 項目策劃:

主要任務是:制定項目策劃方案、評審項目策劃方案、修改項目策劃方案

  • 需求開發與管理

主要任務是:編寫用戶需求說明書、評審用戶需求說明、修改用戶需求說明書;編寫軟件需求說明書、評審軟件需求說明、修改軟件需求說明書、填寫需求跟蹤矩陣。

  • 系統設計

主要任務是:設計軟件系統的模塊層次結構、設計數據庫的結構、以及設計模塊的控制流程,其目的是明確軟件系統‘如何做’。這個階段分爲2個步驟:概要設計和詳細設計。概要設計:解決軟件系統的模塊劃分和模塊的層次結構以及數據庫設計。詳細設計:解決每個模塊的控制流程、內部算法和數據結構的設計。這個階段結束,要交付概要設計說明書和設計說明書,也可以合併在一起,稱爲設計說明書。另外,還要評審概要設計和詳細設計、修改概要設計和詳細設計。

  • 編碼階段

主要任務是:根據需求及系統設計、軟件開發工程師開始使用某種開發語言設計、編寫代碼、通過對代碼的設計、編寫、調試、最後形成一個軟件產品。

  • 測試階段

主要任務是:編寫、評審、修改單元測試計劃;編寫、評審、修改單元測試用例;執行單元測試;編寫、評審、修改單元測試報告;編寫、評審、修改集成測試計劃;編寫、評審、修改基礎測試用例;執行集成測試;編寫、評審、修改集成測試報告;編寫、評審、修改系統測試計劃;編寫、評審、修改系統測試用例;執行系統測試;編寫、評審、修改系統測試報告。

  • 部署上線

主要任務是:給用戶部署計算機軟件的環境,並且爲用戶提供使用培訓,接受用戶的培訓反饋,修改、完善計算機軟件。

  • 項目結項

主要任務是:編寫項目結項報告、召開項目結項會議,總結項目過程中的經驗教訓,並且預估項目的後續工作。

軟件測試分爲正確性測試和錯誤性測試

正確性測試:通過設計的數據來驗證軟件是否符合用戶要求和測試規範。也就是證明軟件是否符合用戶的需求,軟件是正確的。

錯誤性測試:通過設計數據,故意促使錯誤的發生,也就是事情在不該出現的時候出現或在應該出現的時候沒有出現,或者證明軟件實現了用戶沒有要求的事情。從本質上說,就是挖掘軟件中的毛病。

軟件測試分爲黑盒測試和白盒測試

黑盒測試:獨立於程序代碼,從用戶的角度通過一定的測試步驟與測試案例,驗證軟件功能、性能等指標是否滿足實際應用需求。

白盒測試:針對程序代碼進行正確性檢驗的測試工作。

軟件測試分爲靜態測試和動態測試

靜態測試:不需要運行程序代碼而進行的測試。例如測試產品說明書,對此進行檢查和審閱。靜態方法不運行被測程序本身,僅通過分析或檢查源程序的方法、結構、過程、接口等來檢查程序的正確性。通過程序靜態特性的分析,找出欠缺和可疑之處。

動態測試:通過運行被測程序,檢查運行結果與預期結果的差異,並分析運行效率和健壯性等性能。由編寫測試用例、執行程序、分析程序的輸出結果。(執行程序、驗證軟件的正確性也屬於動態測試)

從項目整理來說,軟件測試的目的是爲了保證軟件產品的最終質量,在軟件開發的過程中,對軟件產品進行質量控制。

一般來說軟件測試由獨立產品測試部門負責,嚴格按照軟件測試流程,制定測試計劃、測試方案、測試規範、實施測試,對測試記錄進行分析,並根據迴歸測試情況編寫測試報告。測試是爲了證明程序有錯,但不能保證程序沒有錯誤。

在軟件開發過程中存在的缺陷類型:

  • 需求描述存在錯誤、有歧義、描述不清楚,這樣的需求是不正確的,是不能作爲產品生產依據的。
  • 需求描述不完整、混亂且不易於修改維護,這樣的需求是不正確的,是不能作爲產品生產依據的。
  • 研發過程中的計劃要明確研發過程的目的、接口、環境、配置、流程、進度、人力資源、溝通計劃、風險計劃、質量計劃、測試計劃、以及出口產品等信息,如果信息不完全,那麼這個計劃就是不全面的。
  • 研發過程設計問題,主要是設計與需求不一致,設計沒有全面覆蓋需求、設計架構不合理,設計中存在錯誤、設計可靠性、穩定性不強等。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章