資源描述:
《軟件工程第11章軟件測試與調(diào)試ppt課件.ppt》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在教育資源-天天文庫。
1、本章要點:?軟件測試方法?軟件測試用例?軟件測試步驟?軟件測試工具《軟件工程》第11章軟件測試與調(diào)試軟件測試,是指利用人工或自動的方法執(zhí)行和評價各個模塊的過程。其目的在于驗證模塊是否滿足規(guī)定的要求,查看期望的結(jié)果與獲得的結(jié)果之間有無差別,以便最大限度地找出系統(tǒng)在實際運行中可能出現(xiàn)的錯誤和問題?!盾浖こ獭?1.1.1軟件測試的概念11.1軟件測試概述第11章軟件測試與調(diào)試(1)測試是為了發(fā)現(xiàn)程序中的錯誤而執(zhí)行程序的過程,測試的目的在于發(fā)現(xiàn)錯誤;(2)一個好的測試用例或方案是極可能發(fā)現(xiàn)迄今為止尚未發(fā)現(xiàn)的錯誤的測試用例或方案;(3)成功的測
2、試是發(fā)現(xiàn)了至今為止尚未發(fā)現(xiàn)的錯誤的測試?!盾浖こ獭?1.1.2軟件測試的目的11.1軟件測試概述第11章軟件測試與調(diào)試(1)從用戶和開發(fā)者的角度出發(fā);(2)全過程測試;(3)測試計劃方案要盡量全面,但不可能“窮舉”;(4)妥善保存測試計劃、測試用例、出錯統(tǒng)計和最終分析報告,為維護提供方便;(5)嚴格執(zhí)行測試計劃,排除測試的隨意性?!盾浖こ獭?1.1.3軟件測試的原則11.1軟件測試概述第11章軟件測試與調(diào)試(一)審查測試中的信息,并進行測試:此階段,輸入信息有三類:(1)軟件配置;(2)測試配置;(3)測試工具。(二)測試結(jié)果:將實
3、測結(jié)果與預期結(jié)果比較。如發(fā)現(xiàn)錯誤數(shù)據(jù),就意味軟件有錯誤,就需要開始排錯。(三)調(diào)試排錯:排錯的過程是測試過程中最不可預知的部分,即使是一個與預期結(jié)果只相差無幾的錯誤,也可能需要花上很長的時間去查找原因并改正錯誤。(四)可靠性分析:通過收集和分析測試結(jié)果數(shù)據(jù),開始針對軟件建立可靠性模型進行可靠性預測。《軟件工程》11.1.4軟件測試的過程11.1軟件測試概述第11章軟件測試與調(diào)試靜態(tài)測試是指被測試程序不在機器上運行,而是采用人工檢測和計算機輔助對被測程序的數(shù)據(jù)流和控制流等信息進行靜態(tài)分析,找出系統(tǒng)的缺陷,作出測試報告。因此,靜態(tài)測試又稱靜
4、態(tài)分析。靜態(tài)測試的目的是檢查代碼與設計的一致性、代碼的可讀性、正確性和結(jié)構的合理性等?!盾浖こ獭?1.2.1靜態(tài)測試方法11.2軟件測試方法第11章軟件測試與調(diào)試靜態(tài)測試具體有兩種:(1)人工測試:指不依靠計算機而靠人工審查程序。人工審查程序偏重于程序質(zhì)量的檢驗,而軟件審查除審查程序質(zhì)量外,還要對各階段的軟件產(chǎn)品進行檢驗。人工檢測可以發(fā)現(xiàn)計算機不易發(fā)現(xiàn)的錯誤。(2)計算機輔助靜態(tài)分析:利用靜態(tài)分析工具對被測試程序進行特性分析,從程序中提取信息,以便檢查程序邏輯的各種缺陷和可疑的程序構造。如,用錯的局部量和全程量、不匹配的參數(shù)、不適當?shù)?/p>
5、循環(huán)嵌套和分支嵌套、潛在的死循環(huán)等。《軟件工程》11.2.1靜態(tài)測試方法11.2軟件測試方法第11章軟件測試與調(diào)試動態(tài)測試是指通過運行程序發(fā)現(xiàn)錯誤。一般意義上的測試大多是指動態(tài)測試。動態(tài)測試方法中又根據(jù)測試用例的設計方法不同,分為:黑盒測試、白盒測試和灰盒測試三類?!盾浖こ獭?1.2.2動態(tài)測試方法11.2軟件測試方法第11章軟件測試與調(diào)試1.黑盒測試特點:(1)不考慮軟件的具體實現(xiàn),當軟件內(nèi)部實現(xiàn)發(fā)生變化時,測試用例仍可以使用;(2)用例設計可以和軟件實現(xiàn)同時進行;(3)對一些外購軟件、參數(shù)化軟件包及某些自動生成軟件,由于無法得到源
6、程序,只能選擇黑盒測試法測試。優(yōu)點:(1)適用于各個測試階段;(2)從產(chǎn)品功能角度進行測試;(3)容易生成測試數(shù)據(jù)。缺點:(1)某些代碼得不到測試;(2)無法發(fā)現(xiàn)軟件需求說明書本身的錯誤;(3)不易進行充分性測試?!盾浖こ獭?1.2.2動態(tài)測試方法11.2軟件測試方法第11章軟件測試與調(diào)試黑盒技術設計測試用例的方法有:等價類劃分、邊界值分析、錯誤推測、因果圖等。黑盒測試主要發(fā)現(xiàn)以下錯誤:(1)是否有不正確或遺漏的功能;(2)界面錯誤;(3)訪問外部信息是否有錯,如數(shù)據(jù)結(jié)構;(4)性能錯誤。性能上是否滿足要求等;(5)初始化或終止錯誤。
7、《軟件工程》11.2.2動態(tài)測試方法11.2軟件測試方法第11章軟件測試與調(diào)試2.白盒測試白盒測試使用的是覆蓋測試方法,有語句覆蓋、判斷覆蓋、條件覆蓋、判斷/條件覆蓋、條件組合覆蓋和路徑覆蓋等。白盒測試存在以下缺陷:(1)一般不可能進行窮舉測試,企圖遍歷所有的路徑,往往是做不到的。(2)對于可能的功能性錯誤也無能為力,也就是說,即使每條路經(jīng)都測試了,程序仍可能有錯。《軟件工程》11.2.2動態(tài)測試方法11.2軟件測試方法第11章軟件測試與調(diào)試3.灰盒測試灰盒測試是將黑盒測試、白盒測試、回歸測試和變異測試結(jié)合在一起,構成一種無縫測試技術。
8、《軟件工程》11.2.2動態(tài)測試方法11.2軟件測試方法第11章軟件測試與調(diào)試常用測試方法:等價類劃分、邊界值分析、錯誤推測方法。1.等價類劃分方法(一)劃分等價類等價類是指某個輸入域的子集合。等價類劃分可