當(dāng)前位置首頁 > 汽車/機(jī)械/制造 > 機(jī)械軟件
搜柄,搜必應(yīng)! 快速導(dǎo)航 | 使用教程

軟件工程軟件測試

文檔格式:PPT| 50 頁|大小 1.06MB|積分 10|2024-10-18 發(fā)布|文檔ID:247351369
第1頁
第2頁
第3頁
下載文檔到電腦,查找使用更方便 還剩頁未讀,繼續(xù)閱讀>>
1 / 50
此文檔下載收益歸作者所有 下載文檔
  • 版權(quán)提示
  • 文本預(yù)覽
  • 常見問題
  • 軟件測試,第 五,章,5.1,軟件測試的基本概念,一、軟件測試的目的和重要性,因?yàn)殚_發(fā)工作的前期不可避免地會(huì)引入錯(cuò)誤,測試的,目的是為了發(fā)現(xiàn)和改正錯(cuò)誤,,這對(duì)于某些涉及人的生命安全或重要的軍事、經(jīng)濟(jì)目標(biāo)的項(xiàng)目顯得尤其重要1963年美國飛往火星的火箭爆炸,原因是,FORTRAN,程序:,DO 5 I=1,3,誤寫為:,DO 5 I=1.3,損失1000萬美元1967,年蘇聯(lián),“,聯(lián)盟一號(hào),”,宇宙飛船返回時(shí)因忽略一個(gè)小數(shù)點(diǎn),在進(jìn)入大氣層時(shí)打不開降落傘而燒毀二、軟件測試的,特點(diǎn),1、軟件測試的開銷大,按照,Boehm,的統(tǒng)計(jì),軟件測試的開銷大約占總成本的30%-50%例如:,APPOLLO,登月計(jì)劃,80%的經(jīng)費(fèi)用于軟件測試2、不能進(jìn)行,“,窮舉,”,測試,只有將所有可能的情況都測試到,才有可能檢查出所有的錯(cuò)誤但這是不可能的:,例:程序,P,有兩個(gè)整型輸入量,X、Y,,輸出量為,Z,,在32位機(jī)上運(yùn)行所有的測試數(shù)據(jù)組(,X,i,,Y,i,),的數(shù)目為:2,2 =2 1毫秒執(zhí)行1次,共需5億年32,32,64,P,X,Y,Z,二、軟件測試的,特點(diǎn) 結(jié)論,3、軟件測試難度大,根據(jù)上述分析,既然不能進(jìn)行,“,窮舉,”,測試,又要查出盡可能多的錯(cuò)誤,軟件測試工作的難度大。

    只有選擇,“,高效的測試用例,”,什么是,“,高效的測試用例,”,?,如何選擇,“,高效的測試用例,”,?,這就是本章討論的主要問題!,三、軟件測試的基本原則,3、充分注意測試中的群集現(xiàn)象1、盡量不由程序設(shè)計(jì)者進(jìn)行測試2、關(guān)鍵是注重測試用例的選擇輸入數(shù)據(jù)的組成(輸入數(shù)據(jù)、預(yù)期的輸出結(jié)果),既有合理輸入數(shù)據(jù),也有不合理的輸入數(shù)據(jù)用例既能檢查應(yīng)完成的任務(wù),也能夠檢查不應(yīng)該完成的任務(wù)長期保存測試用例5.2,軟件測試方法,軟件測試方法分為兩類:靜態(tài)分析、動(dòng)態(tài)測試,一、靜態(tài)分析方法,指以人工的、非形式化的方法對(duì)程序進(jìn)行分析和測試桌前檢查代碼會(huì)審步行檢查,步行檢查時(shí),還常使用以下分析方法:,調(diào)用圖,從語義的角度考察程序的控制路線數(shù)據(jù)流分析圖,檢查分析變量的定義和引用情況調(diào)用圖,無論,Y,為何值,都不能夠調(diào)用子程序,READY,Y0,N,X:=Y,X1)AND(B=0),THEN X:=X/A;,IF(A=2)OR (X1),THEN X:=X+1,END;,1)選擇邏輯覆蓋標(biāo)準(zhǔn)2)按照覆蓋標(biāo)準(zhǔn)列出所有情況3)選擇確定測試用例4)驗(yàn)證分析運(yùn)行結(jié)果與預(yù)期結(jié)果邏輯結(jié)構(gòu),白盒法舉例,Procedure(VAR A,B,X:REAL);,BEGIN,IF(A1)AND(B=0),THEN X:=X/A;,IF(A=2)OR (X1),THEN X:=X+1,END;,A1,AND,B=0,X:=X/A,A=2,OR,X1,X:=X+1,Y,N,Y,N,邏輯結(jié)構(gòu),1、語句覆蓋,使得程序中每個(gè)語句至少都能被執(zhí)行一次。

    A1,AND,B=0,X:=X/A,A=2,OR,X1,X:=X+1,a,b,c,d,e,滿足語句覆蓋的情況:,執(zhí)行路徑:ace,選擇用例:,(2,0,4),(2,0,3),用例格式:,輸入(A,B,X),輸出(A,B,X),Y,N,Y,N,2、判定覆蓋,使得程序中每個(gè)判定至少為,TRUE,或,FALSE,各一次A1,AND,B=0,X:=X/A,A=2,OR,X1,X:=X+1,a,b,c,d,e,覆蓋情況:,應(yīng)執(zhí)行路徑,ace,abd,或:,acd,abe,選擇用例(其一):,(2,0,4),(2,0,3)ace,(1,1,1),(1,1,1)abd,(2,1,1),(2,1,2)abe,(3,0,3),(3,1,1)acd,Y,Y,N,N,3、條件覆蓋,A1,AND,B=0,X:=X/A,A=2,OR,X1,X:=X+1,a,b,c,d,e,使得判定中的每個(gè)條件獲得各種可能的結(jié)果應(yīng)滿足以下覆蓋情況:,判定一:A1,A,1,B=0,B,0,判定二:A=2,A,2,X1,X1,選擇用例:,(2,0,4),(2,0,3),(1,1,1),(1,1,1),N,N,Y,Y,2,A,1,A,2,0,B=0,4,X1,1,A1,A=2,1,B,0,1,X1,注意,:(1,0,3),(1,0,4),(2,1,1),(2,1,2),滿足條件覆蓋,但不滿足判斷覆蓋。

    4、判定/條件覆蓋,同時(shí)滿足判斷覆蓋和條件覆蓋A1,AND,B=0,X:=X/A,A=2,OR,X1,X:=X+1,a,b,c,d,e,應(yīng)滿足以下覆蓋情況:,條件:A1,A,1,B=0,B,0,A=2,A,2,X1,X1,應(yīng)執(zhí)行路徑,ace,abd,或:,acd,abe,選擇用例:,(2,0,4),(2,0,3)(ace),(1,1,1),(1,1,1)(abd),Y,Y,N,N,5、條件組合覆蓋,使得每個(gè)判定中條件的各種可能組合都至少出現(xiàn)一次A1,X:=X/A,A=2,X:=X+1,a,b,c,d,e,B=0,X1,Y,N,Y,N,Y,N,Y,N,編譯系統(tǒng)下的執(zhí)行情況:,部分路徑未被執(zhí)行滿足以下覆蓋情況:,A1,B=0 ,A1,B,0,A,1,B=0,A,1,B0,A=2,X1,A=2,X1,A,2,X1,A,2,X1,選擇用例:,(2,0,4),(2,0,3),(2,1,1),(2,1,2),(1,0,3),(1,0,4),(1,1,1),(1,1,1),路徑覆蓋:選擇足夠多的測試數(shù)據(jù),使程序的每條可能路徑都至少執(zhí)行一次START,INPUT,(,A,B,C,),IF A5,THEN X=10,ELSE X=1,END IF,IF B10,THEN Y=20,ELSE Y=2,END IF,IF C15,THEN Z=30,ELSE Z=3,END IF,PRINT(X,Y,Z),STOP,共有,8,條可能的執(zhí)行路徑,三個(gè)判定表達(dá)式之值依次為假、假、假:,輸入:,A=1,,,B=1,,,C=1,;預(yù)期輸出:,X=1,,,Y=2,,,Z=3,三個(gè)判定表達(dá)式之值依次為假、假、真:,輸入:,A=2,,,B=3,,,C=23,;預(yù)期輸出:,X=1,,,Y=2,,,Z=30,三個(gè)判定表達(dá)式之值依次為假、真、假:,輸入:,A=3,,,B=12,,,C=6,;預(yù)期輸出:,X=1,,,Y=20,,,Z=3,三個(gè)判定表達(dá)式之值依次為假、真、真:,輸入:,A=4,,,B=13,,,C=16,;預(yù)期輸出:,X=1,,,Y=20,,,Z=30,三個(gè)判定表達(dá)式之值依次為真、假、假:,輸入:,A=6,,,B=7,,,C=9,;預(yù)期輸出:,X=10,,,Y=2,,,Z=3,三個(gè)判定表達(dá)式之值依次為真、假、真:,輸入:,A=8,,,B=8,,,C=18,;預(yù)期輸出:,X=10,,,Y=2,,,Z=30,三個(gè)判定表達(dá)式之值依次為真、真、假:,輸入:,A=10,,,B=12,,,C=6,;預(yù)期輸出:,X=10,,,Y=20,,,Z=3,三個(gè)判定表達(dá)式之值依次為真、真、真:,輸入:,A=11,,,B=14,,,C=57,;預(yù)期輸出:,X=10,,,Y=20,,,Z=30,二、動(dòng)態(tài)測試方法,(2),等,價(jià),分,類,法,邊,值,分,析,法,錯(cuò),誤,推,測,法,因,果,圖,法,(2)黑盒法,不考慮程序的內(nèi)部結(jié)構(gòu)與特性,只根據(jù)程序功能或程序的外部特性設(shè)計(jì)測試用例。

    1、等價(jià)分類法,基本思想:,根據(jù)程序的,I/O,特性,將程序的定義域劃分為有限個(gè)等價(jià)區(qū)段,“,等價(jià)類,”,,從等價(jià)類中選擇出的用例,具有,“,代表性,”,等價(jià)類分為:,有效等價(jià)類,對(duì)于程序的規(guī)格說明是合理的、有意義的輸入數(shù)據(jù)構(gòu)成的集合無效等價(jià)類,對(duì)于程序的規(guī)格說明,是不合理的,是沒有意義的輸入數(shù)據(jù)構(gòu)成的集合等價(jià)分類法步驟,應(yīng),按照輸入條件,(如輸入值的范圍,值的個(gè)數(shù),值的集合,輸入條件必須如何)劃分為有效等價(jià)類和無效等價(jià)類例如:每個(gè)學(xué)生可選修1-3門課程,可以劃分一個(gè)有效等價(jià)類:選修1-3門課程可以劃分兩個(gè)無效等價(jià)類:未選修課,選修課超過3門又如:標(biāo)識(shí)符的第一個(gè)字符必須是字母可以劃分為一個(gè)有效等價(jià)類:第一個(gè)字符是字母可以劃分一個(gè)無效等價(jià)類:第一個(gè)字符不是字母劃分“等價(jià)類”,顯然,關(guān)鍵是,如何劃分等價(jià)類,A、,為每個(gè)等價(jià)類編號(hào);,B、,使一個(gè)測試用例盡可能覆蓋多個(gè)有效等價(jià)類,C、,特別要注意的是:一個(gè)測試用例只能覆蓋一個(gè)無效等價(jià)類選擇測試用例,等價(jià)分類法步驟,如何劃分等價(jià)類?,有效等價(jià)類,(,合理等價(jià)類,),無效等價(jià)類,(,不合理等價(jià)類,),(1),如果,輸入,條件規(guī)定了取值,范圍,,可定義,一個(gè)有,效等價(jià)類和兩個(gè)無效等價(jià)類。

    例,輸入,值是學(xué)生成績,范圍是,0,100,0 100,有效等價(jià)類,0,成績,100,無效等價(jià)類,成績,100,無效等價(jià)類,成績,0,(2),如果,輸入,條件代表,集合,的某個(gè)元素,,則可,定義,一個(gè)有效等價(jià)類和一個(gè)無效等價(jià)類3),如規(guī)定了輸入數(shù)據(jù)的一組值,且程序?qū)Σ煌斎胫底霾煌幚?,則每個(gè)允許的輸入值是一個(gè)有效等價(jià)類,并有一個(gè)無效等價(jià)類,(,所有不允許的輸入值的集合,),例:輸入條件說明學(xué)歷可為,:,???、本科、碩士、博士四種之一,則分別取這四個(gè)值作為四個(gè)有效等價(jià)類,另外把四種學(xué)歷之外的任何學(xué)歷作為無效等價(jià)類,(4),如果規(guī)定了,輸入,數(shù)據(jù),必須遵,循,的規(guī)則,可,確定,一個(gè)有效等價(jià)類,(,符合規(guī)則,),和若干個(gè)無效等價(jià)類,(,從不同角度違反規(guī)則,),5),如已劃分的等價(jià)類各元素在程序中的處理方式不同,則應(yīng)將此等價(jià)類進(jìn)一步劃分成更小的等價(jià)類用等價(jià)類劃分法設(shè)計(jì)測試用例步驟:,(1),形成,等價(jià)類表,,每一等價(jià)類規(guī)定一個(gè)唯一的,編號(hào),;,(2),設(shè)計(jì)一,測試用例,,,使其盡可能多地覆蓋尚未,覆蓋,的,有效等價(jià)類,,,重復(fù)這一步驟,直到所有有效等價(jià)類均被測試用例所覆蓋;,(3),設(shè)計(jì)一新,測試用例,,,使其只,覆蓋,一個(gè),無效等價(jià)類,,,重復(fù)這一步驟直到所有無效等價(jià)類均被覆蓋;,例,:,某報(bào)表處理系統(tǒng)要求用戶輸入處理報(bào)表的日期,日期限制在,2003,年,1,月至,2008,年,12,月,即系統(tǒng)只能對(duì)該段期間內(nèi)的報(bào)表進(jìn)行處理,如日期不在此范圍內(nèi),則顯示輸入錯(cuò)誤信息。

    系統(tǒng)日期規(guī)定由年、月的,6,位數(shù)字字符組成,前四位代表年,后兩位代表月如何用等價(jià)類劃分法設(shè)計(jì)測試用例,來測試程序的日期檢查功能?,輸入,條件,有效等價(jià)類 無效等價(jià)類,報(bào)表日期的,類型及長度,6,位數(shù)字,字符,(1),有非數(shù)字字符,(4),少于,6,個(gè),數(shù)字,字符,(5),多于,6,個(gè),數(shù)字,字符,(6),年份范圍,在,2003,2008,之間,(2),小于,2003,(7),大于,2008,(8),月份范圍,在,1,12,之間,(3),“報(bào)表日期”輸入條件的等價(jià)類表,小于,1,(9),大于,12,(10),第二步:,為有效等價(jià)類設(shè)計(jì),測試用例,測試數(shù)據(jù) 期望結(jié)果,覆蓋,范圍,200306,等價(jià)類,(1)(2)(3),輸入,有效,對(duì)表中,編號(hào)為,1,2,3,的,3,個(gè)有效等價(jià)類用,一,個(gè)測試用例,覆蓋,:,(1),6,位數(shù)字,字符,(2),年在,2003,2008,之間,(3),月在,1,12,之間,第,三,步:,為每一個(gè)無效等價(jià)類設(shè)至少,設(shè)計(jì)一個(gè),測試用例,測試數(shù)據(jù) 期望結(jié)果,覆蓋,范圍,003,MAY,等價(jià)類,(4),輸入無,效,20035,等價(jià)類,(5),輸入無,效,2003005,等價(jià)類,(6),輸入無,效,2001,05,等價(jià)類,(7),輸入無,效,2009,05,等價(jià)類,(8),輸入無,效,2003,00,等價(jià)類,(9),輸入無,效,2003,13,等價(jià)類,(10),輸入無,效,不能出現(xiàn)相同,的測試用例,本例的,10,個(gè)等價(jià)類至,少需要,8,個(gè)測試用例,2、邊值分析法,基本思想:,選擇等價(jià)類的邊緣值作為測試用例,讓每個(gè)等價(jià)類的邊界都得到測試,選擇測試用例既考慮,輸入,亦考慮,輸出,。

    分析步驟:,A、,先劃分等價(jià)類B、,選擇測試用例,。

    點(diǎn)擊閱讀更多內(nèi)容
    最新文檔
    傳統(tǒng)文化道德不是高懸的明月而是腳下的星光.pptx
    世界無煙日關(guān)注青少年成長健康無煙為成長護(hù)航.pptx
    五四青年節(jié)詩詞贊歌五四青年自強(qiáng)不息.pptx
    XX學(xué)校班主任培訓(xùn)用心管理慧做班主任.pptx
    拒絕熬夜健康養(yǎng)生規(guī)律作息遠(yuǎn)離亞健康.pptx
    兒童成長手冊時(shí)光里的童真印記.pptx
    幼兒園夏季傳染病預(yù)防指南預(yù)見夏天健康童行夏季傳染病預(yù)防科普.pptx
    高中生心理健康教育主題班會(huì)快樂學(xué)習(xí)高效學(xué)習(xí)正視壓力學(xué)會(huì)減壓.pptx
    員工職業(yè)道德與職業(yè)素養(yǎng)培訓(xùn)遵守職業(yè)道德提高職業(yè)修養(yǎng).pptx
    2025職業(yè)病防治法宣傳周健康守護(hù)職防同行.pptx
    XX幼兒園防災(zāi)減災(zāi)安全教育臨災(zāi)不亂安全童行學(xué)會(huì)保護(hù)自己.pptx
    在2025年縣教育工作大會(huì)暨高考備考工作推進(jìn)會(huì)上的講話發(fā)言材料.docx
    在2025年縣全面從嚴(yán)治黨和黨風(fēng)廉政會(huì)議上的講話發(fā)言材料.docx
    在2025年全市慶祝“五一”暨勞動(dòng)模范表彰大會(huì)上的講話發(fā)言材料多篇.docx
    2025年稅務(wù)局青年代表在五四青年座談會(huì)上的發(fā)言材料3篇.docx
    在2025年市委全體會(huì)議上的主持講話發(fā)言材料.docx
    2025年黨風(fēng)廉政建設(shè)工作要點(diǎn)材料.docx
    在2025年全市青年干部慶祝五四青年節(jié)大會(huì)上的講話發(fā)言材料多篇.docx
    在入黨積極分子培訓(xùn)班上的講話發(fā)言材料.docx
    縣文旅局黨組書記在五一假期及夏季旅游安全生產(chǎn)工作部署會(huì)議上的講話發(fā)言材料.docx
    賣家[上傳人]:痛苦女王
    資質(zhì):實(shí)名認(rèn)證