資源描述:
《軟件工程導(dǎo)論 第7章 測(cè)試課件.ppt》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、2教學(xué)內(nèi)容7.1軟件測(cè)試基礎(chǔ)7.2測(cè)試用例設(shè)計(jì)7.3測(cè)試策略7.4調(diào)試7.5小結(jié)習(xí)題37.1軟件測(cè)試基礎(chǔ)測(cè)試目標(biāo):測(cè)試是為了發(fā)現(xiàn)程序中的錯(cuò)誤而執(zhí)行程序的過(guò)程;好的測(cè)試方案是極可能發(fā)現(xiàn)迄今為止尚未發(fā)現(xiàn)的錯(cuò)誤的測(cè)試方案;成功的測(cè)試是發(fā)現(xiàn)了至今為止尚未發(fā)現(xiàn)的錯(cuò)誤的測(cè)試。-G.Myers(IBM)47.1軟件測(cè)試基礎(chǔ)理解測(cè)試測(cè)試目的是想以最少的時(shí)間和人力,系統(tǒng)地找出軟件中潛在的各種錯(cuò)誤和缺陷。如果我們成功地實(shí)施了測(cè)試,我們就能夠發(fā)現(xiàn)軟件中的錯(cuò)誤。測(cè)試的附帶收獲是,它能夠證明軟件的功能和性能與需求說(shuō)明相符合。實(shí)施測(cè)試收集到
2、的測(cè)試結(jié)果數(shù)據(jù)為可靠性分析提供了依據(jù)。測(cè)試不能表明軟件中不存在錯(cuò)誤,它只能說(shuō)明軟件中存在錯(cuò)誤。5誰(shuí)參與測(cè)試?用戶方代表軟件最終使用者軟件開發(fā)人員軟件測(cè)試人員高層經(jīng)理的支持過(guò)程保證人員(SQA)6軟件測(cè)試的對(duì)象軟件測(cè)試并不等于程序測(cè)試。軟件測(cè)試應(yīng)貫穿于軟件定義與開發(fā)的整個(gè)期間。需求分析、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)以及程序編碼等各階段所得到的文檔,包括需求規(guī)格說(shuō)明、概要設(shè)計(jì)規(guī)格說(shuō)明、詳細(xì)設(shè)計(jì)規(guī)格說(shuō)明以及源程序,都應(yīng)成為軟件測(cè)試的對(duì)象。7測(cè)試原則所有測(cè)試都應(yīng)該能追溯到用戶需求。應(yīng)該遠(yuǎn)在測(cè)試開始之前就制定出測(cè)試計(jì)劃。Pareto
3、原則可應(yīng)用于軟件測(cè)試。Pareto原則說(shuō)明,測(cè)試發(fā)現(xiàn)的錯(cuò)誤中的80%很可能是由程序中20%的模塊造成的。測(cè)試應(yīng)從“小規(guī)?!遍_始,逐步轉(zhuǎn)向“大規(guī)?!备F舉測(cè)試是不可能的。對(duì)發(fā)現(xiàn)錯(cuò)誤較多的程序段,應(yīng)進(jìn)行更深入的測(cè)試。應(yīng)由獨(dú)立的第三方來(lái)構(gòu)造測(cè)試87.2測(cè)試用例的設(shè)計(jì)測(cè)試任何產(chǎn)品都有兩種方法:如果已經(jīng)知道了產(chǎn)品應(yīng)該具有的功能,可以通過(guò)測(cè)試來(lái)檢驗(yàn)是否每個(gè)功能都能正常使用,稱為黑盒測(cè)試;如果知道產(chǎn)品的內(nèi)部工作過(guò)程,可以通過(guò)測(cè)試來(lái)檢驗(yàn)產(chǎn)品內(nèi)部動(dòng)作是否按照規(guī)格說(shuō)明書的規(guī)定正常進(jìn)行,稱為白盒測(cè)試。97.2測(cè)試用例的設(shè)計(jì)黑盒測(cè)試法把程
4、序看作一個(gè)黑盒子,完全不考慮程序的內(nèi)部結(jié)構(gòu)和處理過(guò)程。它只檢查程序功能是否能按照規(guī)格說(shuō)明書的規(guī)定正常使用,程序是否能適當(dāng)?shù)亟邮蛰斎霐?shù)據(jù)并產(chǎn)生正確的輸出信息,程序運(yùn)行過(guò)程中能否保持外部信息的完整性。黑盒測(cè)試又稱為功能測(cè)試。白盒測(cè)試法是把程序看成裝在一個(gè)透明的白盒子里,測(cè)試者完全知道程序的結(jié)構(gòu)和處理算法。這種方法按照程序內(nèi)部的邏輯測(cè)試程序,檢測(cè)程序中的主要執(zhí)行通路是否都能按預(yù)定要求正確工作。白盒測(cè)試又稱為結(jié)構(gòu)測(cè)試。107.2.1白盒測(cè)試邏輯覆蓋法語(yǔ)句覆蓋判定覆蓋條件覆蓋判定/條件覆蓋條件組合覆蓋點(diǎn)覆蓋邊覆蓋路徑覆蓋T
5、XX=X/AX=X+1例:PROCEDUREexp(A,B:real;X:real);BeginIF(A>1)AND(B=0)THENX:=X/A;IF(A=2)OR(X>1)THENX:=X+1END;(a1S(A=2)or(X>1)Fd4c=X/A56eX=X+137E11(A>1)and(B=0)Fb2TTXX=X/ATX=X+1121、語(yǔ)句覆蓋所有的語(yǔ)句至少執(zhí)行一次。測(cè)試用例的設(shè)計(jì)格式:【輸入的(A,B,X),輸出的(A,B,X)】【(2,0,4),(2,0,3)】覆蓋ace【L1】能夠發(fā)現(xiàn)嗎?andor
6、X>1X<1(a1SE34c=X/A56eX=X+17(A>1)and(B=0)Fb2(A=2)or(X>1)FdaTXX=X/AX=X+12、判定覆蓋判定覆蓋就是使得程序中每個(gè)判斷的取真分支和取假分支至少經(jīng)歷一次?!?2,0,4),(2,0,3)】覆蓋ace【L1】【(1,1,1),(1,1,1)】覆蓋abd【L2】只有一半路徑!((A=2)or(X>1)X=X+1eSFd34c=X/A567E131(A>1)and(B=0)Fb2TaTXX=X/AX=X+12、判定覆蓋另一組可用的測(cè)試用例:【(2,1,1),
7、(2,1,2)】覆蓋abe【L3】【(3,0,3),(3,1,1)】覆蓋acd【L4】滿足判定覆蓋的測(cè)試用例一定滿足語(yǔ)句覆蓋。(S(A=2)or(X>1)Fd34c=X/A56eX=X+17E141(A>1)and(B=0)Fb2TaTXX=X/AX=X+13、條件覆蓋每個(gè)語(yǔ)句至少執(zhí)行一次,而且判定表達(dá)式中的每個(gè)條件都要取得各種可能的結(jié)果?!?1,0,3),(1,0,4)】L3(a,b,e)FTFT【(2,1,1),(2,1,2)】L3(a,b,e)TFTF不滿足語(yǔ)句覆蓋!((A=2)or(X>1)eSE15Fd
8、34c=X/A56X=X+171(A>1)and(B=0)Fb2TaTXX=X/AX=X+13、條件覆蓋【(2,0,2),(2,0,1)】L3(a,b,e)TTTF【(1,1,2),(2,1,3)】L3(a,b,e)FFFT或者TTTTFFFF((A=2)or(X>1)X=X+1eSFd4c=X/A5637E161(A>1)and(B=0)Fb2TaTXX=X/AX=X+