一、軟件開發(fā)階段劃分
1、需求分析 :《需求規(guī)格說明書》?
2、概要設(shè)計(jì):《概要設(shè)計(jì)說明書》
3、詳細(xì)設(shè)計(jì):《詳細(xì)設(shè)計(jì)說明書》
4、編碼
那個(gè)階段引入的缺陷最多:
需求分析(56%)、概程序設(shè)計(jì)(25%)、編寫代碼(13%-15%)、其他(6%)
二、軟件測試階段劃分
1、單元測試:針對軟件設(shè)計(jì)最小單位
依據(jù):《詳細(xì)設(shè)計(jì)文檔》
(1)、以功能測試為主,重點(diǎn)核心模塊可以進(jìn)行白喝測試
(2)、可能需要編寫驅(qū)動(dòng)模塊和樁模塊(驅(qū)動(dòng)模塊:模擬被測模塊的上一級模塊,調(diào)用北側(cè)模塊的那個(gè)模塊;樁模塊:模擬被測模塊的下一級,被被測模塊調(diào)用)
(3)、在實(shí)際工程中,為了節(jié)約成本,單元測試只有開發(fā)人員完成,有悖于測試思想
2、集成測試:也叫組裝測試
(1)、拿到一個(gè)新的集成版本,需要先做冒煙測試(利用較少的時(shí)間、人對軟件的主要功能進(jìn)行測試),主要判斷該軟件是否值得測試
(2)、一個(gè)版本基本的測試思路 A冒煙測試 B反側(cè) C回歸測試 D新的功能測試
3、系統(tǒng)測試:對整個(gè)軟件系統(tǒng)進(jìn)行全面完整的測試,在系統(tǒng)測試之前有“確認(rèn)測試”
4、驗(yàn)收測試:用戶體驗(yàn)測試UAT*(user acceptance test)
(1)、Alpha測試:由最終的用戶在開發(fā)環(huán)境對軟件進(jìn)行測試
(2)、Beta測試:有最終用戶在實(shí)際環(huán)境進(jìn)行測試
三、軟件測試模型
1、概念:測試模型提現(xiàn)的是開發(fā)和測試的對應(yīng)關(guān)系
2、v模型:

(1)、優(yōu)點(diǎn):測試階段明確,即包括單元級,也包括用戶級與開發(fā)關(guān)系明確
(2)、缺點(diǎn):容易理解成,測試知識開發(fā)后的工作,不符合越早測試和不斷測試原則
(3)、深入理解:在編碼之前需要對相關(guān)需求文檔、開發(fā)文檔進(jìn)行測試--越早測試;根據(jù)相關(guān)文檔在測試執(zhí)行之前,編寫各個(gè)階段的測試計(jì)劃、測試用例等文檔--測試過程是有計(jì)劃性的‘
注意:單元測試需要有詳細(xì)設(shè)計(jì)文檔
? ? ? ? ? ?集成測試需要有概要設(shè)計(jì)文檔
? ? ? ? ? ?系統(tǒng)測試需要有需求文檔
四、軟件測試的分類
1、按照測試技術(shù)劃分:
(1)、黑盒測試:功能測試 ,必須要做的
(2)、白盒測試:邏輯結(jié)構(gòu)測試,代碼級需要編寫測試用例
(3)、灰盒測試
2、按照是否需要運(yùn)行代碼劃分
(1)、靜態(tài)測試:界面測試、文檔測試、代碼規(guī)范等
(2)、動(dòng)態(tài)測試:通過人工使用工具運(yùn)行程序進(jìn)行檢查
3、按照軟件特性分類
(1)、性能測試:分布式軟件,必須使用工具
(2)、功能測試