軟件測試
(1)目的:是為了評價和改進產(chǎn)品質(zhì)量、識別產(chǎn)品的缺陷和問題而進行的活動,被認(rèn)為是一種應(yīng)該包括在整個開發(fā)和維護過程中的活動。
(2)測試分類
①按開發(fā)階段分:單元測試;集成測試(又稱組裝測試、聯(lián)合測試、子系統(tǒng)測試、部件測試,包括:易用性測試、兼容性測試、安裝測試、文檔測試等P682);系統(tǒng)測試[1](包括:功能測試、健壯性測試);驗收測試(又稱確認(rèn)測試、交付測試,包括:易用性測試、兼容性測試、安裝測試、文檔測試等P682)。
②按測試實施組織分:開發(fā)方測試(α,Alpha測試),用戶測試(β,Beta測試),第三方測試。
③按測試技術(shù)分:黑盒測試(又稱功能測試,不考慮程序內(nèi)部結(jié)構(gòu)和特性,只檢查程序功能是否符合需求規(guī)格說明書的規(guī)定內(nèi)容,程序是否能正確的接受輸入并產(chǎn)生正確的輸出。主要用于軟件界面和功能進行測試)。白盒測試(又稱結(jié)構(gòu)測試,測試人員了解程序內(nèi)部結(jié)構(gòu)和處理過程,檢查軟件內(nèi)部動作是否符合設(shè)計說明書的規(guī)定。目的是通過檢查軟件內(nèi)部邏輯結(jié)構(gòu),對軟件中邏輯路徑進行覆蓋測試)。灰盒測試(介于黑盒和白盒測試之間,關(guān)注輸入、輸出是否正確,同時也關(guān)注內(nèi)部表現(xiàn)?;液袦y試基于程序運行時的外部表現(xiàn)并結(jié)合程序內(nèi)部邏輯來設(shè)計用例)。
④按測試執(zhí)行方式分:①靜態(tài)測試(代碼檢查、靜態(tài)結(jié)構(gòu)分析、代碼質(zhì)量度量),②動態(tài)測試(編寫測試用例、執(zhí)行程序、分析輸出結(jié)果)
⑤按測試對象類型分:功能測試,界面測試,流程測試,接口測試,安裝測試,文檔測試,源代碼測試,性能測試(負(fù)載、壓力[2](并發(fā)、大數(shù)據(jù))、穩(wěn)定性測試),數(shù)據(jù)庫測試,網(wǎng)絡(luò)測試。
⑥按質(zhì)量屬性分:容錯性測試,兼容性測試,安全性測試,可靠性測試,可用性測試,維護性測試,可移植性測試,易用性測試。
⑦按測試地域分:本地化測試、國際化測試。
(3)測試工作效率與質(zhì)量考核:(P749)
◆測試設(shè)計中的工作效率相關(guān)指標(biāo)有:文檔產(chǎn)出率、用例產(chǎn)出率。
◆測試設(shè)計中的工作質(zhì)量相關(guān)指標(biāo)有:需求覆蓋率、文檔質(zhì)量、文檔有效率、用例有效率、評審問題數(shù)。
◆測試執(zhí)行中的工作效率相關(guān)指標(biāo)有:執(zhí)行效率、進度偏離度、缺陷發(fā)現(xiàn)率(即單位時間內(nèi)發(fā)現(xiàn)的缺陷數(shù)量)。
◆測試執(zhí)行中的工作質(zhì)量相關(guān)指標(biāo)有:缺陷數(shù)、有效缺陷數(shù)/率、嚴(yán)重缺陷率、模塊缺陷率(該模塊經(jīng)測試發(fā)現(xiàn)的缺陷數(shù)/該模塊的功能點數(shù))、Bug發(fā)現(xiàn)的時間點,Bug曲線的收斂性、缺陷定位和可讀性。
(4)軟件測試與調(diào)試的區(qū)別:測試是找錯誤,調(diào)試是定位和修正錯誤;調(diào)試是測試之后的活動,兩者在目標(biāo)、方法和思路上都有不同;測試是從一個已知條件開始,使用預(yù)定義的過程,有預(yù)知結(jié)果,而調(diào)試則是從一個未知的條件開始,結(jié)束的過程也不可預(yù)計;測試過程可事先設(shè)計,進度可預(yù)計,而調(diào)試不能描述過程或持續(xù)時間。
[1] 系統(tǒng)測試:對已集成好的軟件系統(tǒng)進行徹底測試,以驗證系統(tǒng)的正確性和性能是否滿足其規(guī)約所指定的要求。
[2] 壓力測試:并發(fā)能力、大數(shù)據(jù)測試。