測(cè)試用例八大設(shè)計(jì)方法和實(shí)例_第1頁(yè)
測(cè)試用例八大設(shè)計(jì)方法和實(shí)例_第2頁(yè)
測(cè)試用例八大設(shè)計(jì)方法和實(shí)例_第3頁(yè)
測(cè)試用例八大設(shè)計(jì)方法和實(shí)例_第4頁(yè)
測(cè)試用例八大設(shè)計(jì)方法和實(shí)例_第5頁(yè)
已閱讀5頁(yè),還剩19頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、測(cè)試用例設(shè)計(jì)方法1等價(jià)類劃分1.1理論知識(shí)等價(jià)類劃分是一種典型的黑盒測(cè)試方法。這一方法完全不考慮程序的內(nèi)部結(jié)構(gòu),只依據(jù)程序的規(guī)格說(shuō)明來(lái)設(shè)計(jì)測(cè)試用例。等價(jià)類是指某個(gè)輸入域的子集合。在該子集合中,各個(gè)輸入數(shù)據(jù)對(duì)于揭示程序中的錯(cuò)誤都是等效的。等價(jià)類合理地假設(shè):某個(gè)等價(jià)類的代表值,與該等價(jià)類的其他值,對(duì)于測(cè)試來(lái)說(shuō)是等價(jià)的。因此,可以把全部的輸入數(shù)據(jù)劃分成若干的等價(jià)類,在每一個(gè)等價(jià)類中取一個(gè)數(shù)據(jù)來(lái)進(jìn)行測(cè)試。這樣就能以較少的具有代表性的數(shù)據(jù)進(jìn)行測(cè)試,而取得較好的測(cè)試效果。等價(jià)類劃分是把所有可能的輸入數(shù)據(jù),即程序的輸入域劃分成若干部分(子集),然后從每一個(gè)子集中選取少數(shù)具有代表性的數(shù)據(jù)作為測(cè)試用例.該方法是

2、一種重要的,常用的黑盒測(cè)試用例設(shè)計(jì)方法.1)分類:劃分等價(jià)類:等價(jià)類是指某個(gè)輸入域的子集合.在該子集合中,各個(gè)輸入數(shù)據(jù)對(duì)于揭露程序中的錯(cuò)誤都是等效的.并合理地假定:測(cè)試某等價(jià)類的代表值就等于對(duì)這一類其它值的測(cè)試.因此,可以把全部輸入數(shù)據(jù)合理劃分為若干等價(jià)類,在每一個(gè)等價(jià)類中取一個(gè)數(shù)據(jù)作為測(cè)試的輸入條件,就可以用少量代表性的測(cè)試數(shù)據(jù).取得較好的測(cè)試結(jié)果.等價(jià)類劃分可有兩種不同的情況:有效等價(jià)類和無(wú)效等價(jià)類.有效等價(jià)類:是指對(duì)于程序的規(guī)格說(shuō)明來(lái)說(shuō)是合理的,有意義的輸入數(shù)據(jù)構(gòu)成的集合.利用有效等價(jià)類可檢驗(yàn)程序是否實(shí)現(xiàn)了規(guī)格說(shuō)明中所規(guī)定的功能和性能無(wú)效等價(jià)類:與有效等價(jià)類的定義恰巧相反.設(shè)計(jì)測(cè)試用例時(shí)

3、,要同時(shí)考慮這兩種等價(jià)類.因?yàn)?,軟件不僅要能接U合理的數(shù)據(jù),也要能經(jīng)受意外的考驗(yàn).這樣的測(cè)試才能確保軟件具有更高的可靠性.2)劃分等價(jià)類的方法:下面給出六條確定等價(jià)類的原則:在輸入條件規(guī)定了取值范圍或值的個(gè)數(shù)的情況下,則可以確立一個(gè)有效等價(jià)類和兩個(gè)無(wú)效等價(jià)類.在輸入條件規(guī)定了輸入值的集合或者規(guī)定了必須如何”的條件的情況下,可確立一個(gè)有效等價(jià)類和一個(gè)無(wú)效等價(jià)類.在輸入條件是一個(gè)布爾量的情況下,可確定一個(gè)有效等價(jià)類和一個(gè)無(wú)效等價(jià)類.在規(guī)定了輸入數(shù)據(jù)的一組值(假定n個(gè)),并且程序要對(duì)每一個(gè)輸入值分別處理的情況下,可確立n個(gè)有效等價(jià)類和一個(gè)無(wú)效等價(jià)類.在規(guī)定了輸入數(shù)據(jù)必須遵守的規(guī)則的情況下,可確立一個(gè)

4、有效等價(jià)類(符合規(guī)則)和若干個(gè)無(wú)效等價(jià)類(從不同角度違反規(guī)則)在確知已劃分的等價(jià)類中各元素在程序處理中的方式不同的情況下,則應(yīng)再將該等價(jià)類進(jìn)一步的劃分為更小的等價(jià)類.3)原則:設(shè)計(jì)測(cè)試用例:在確立了等價(jià)類后,可建立等價(jià)類表,列出所有劃分出的等價(jià)類:輸入條件有效等價(jià)類無(wú)效等價(jià)類.然后從劃分出的等價(jià)類中按以下三個(gè)原則設(shè)計(jì)測(cè)試用例:為每一個(gè)等價(jià)類規(guī)定一個(gè)唯一的編號(hào). 設(shè)計(jì)一個(gè)新的測(cè)試用例,使其盡可能多地覆蓋尚未被覆蓋地有效等價(jià)類,重復(fù)這一步.直到所有的有效等價(jià)類都被覆蓋為止. 設(shè)計(jì)一個(gè)新的測(cè)試用例,使其僅覆蓋一個(gè)尚未被覆蓋的無(wú)效等價(jià)類,重復(fù)這一步.直到所有的無(wú)效等價(jià)類都被覆蓋為止.之所以這么做,是因

5、為程序中對(duì)于某一個(gè)錯(cuò)誤輸入的檢查,往往會(huì)屏蔽對(duì)于其他錯(cuò)誤輸入的檢查。因此,必須針對(duì)每一個(gè)無(wú)效等價(jià)類分別設(shè)計(jì)測(cè)試用例1.2實(shí)例1、保險(xiǎn)費(fèi)率計(jì)算人人保險(xiǎn)公司承擔(dān)人壽保險(xiǎn)已有多年歷史,該公司保費(fèi)計(jì)算方式為投保額*保險(xiǎn)率,保險(xiǎn)率又依點(diǎn)數(shù)不同而有別,10點(diǎn)以上費(fèi)率為0.6%,10點(diǎn)以下費(fèi)率為0.1%:輸入數(shù)據(jù)說(shuō)明年齡2039歲6點(diǎn)4059歲4點(diǎn)60歲以上20歲以下2一點(diǎn)性別MALE5點(diǎn)FEMALE3點(diǎn)婚姻已婚3點(diǎn)未婚5點(diǎn)扶養(yǎng)人數(shù)一人扣0.5點(diǎn)最多扣3點(diǎn)(四舍五入取整數(shù))一、分析輸入數(shù)據(jù)型式。年齡:一或兩位數(shù)字。性另1J:以英文Male、Female、M、F表示?;橐觯阂鸦椤⑽椿?。扶養(yǎng)人數(shù):空白或一位數(shù)字

6、。保險(xiǎn)費(fèi)率:10點(diǎn)以上,10點(diǎn)以下。二、劃分輸入數(shù)據(jù)1.年齡數(shù)字范圍199等價(jià)類2039歲4059歲60歲以上20歲以下2.性別,英文字之集合等價(jià)類慳型:E字集合:Male、M集合:Female、F3.婚姻等價(jià)類已婚未婚4.扶養(yǎng)人數(shù)選擇項(xiàng)扶養(yǎng)人數(shù)可以有,也可沒(méi)有范圍19等價(jià)類空白16人6人以上5.保險(xiǎn)費(fèi)率等價(jià)類10點(diǎn)以上三、設(shè)計(jì)輸入數(shù)據(jù)有效等價(jià)類無(wú)效等價(jià)類無(wú)效等價(jià)類1.年齡2039任選一個(gè)2.年齡4059任選一個(gè)3.年齡60歲以上、20歲以下任選一個(gè)小於1,選一個(gè)大於99,選一個(gè)4.性別英文Male,M,F,Female任選一個(gè)非英文字如男5.性別英文Male,M任選一個(gè)非Male,M,Fem

7、ale,F之任意字元,如Child6.性別英文Female,F任選一個(gè)非Male,M,Female,F之任意字符,如Child7.婚姻已婚非已婚或未婚一之任意字符,如離婚8.婚姻未婚非已婚或未婚一之任意字符,如離婚9.扶養(yǎng)人數(shù)空白10.扶養(yǎng)人數(shù)16小於1,選一個(gè)11.扶養(yǎng)人數(shù)79大於9,選一個(gè)112.保險(xiǎn)費(fèi)率10點(diǎn)以上(0.6%)113.保險(xiǎn)費(fèi)率10點(diǎn)以下(0.6%)四、根據(jù)以上分析設(shè)計(jì)測(cè)試用例:用例編號(hào)年齡性別婚姻扶養(yǎng)人數(shù)保險(xiǎn)費(fèi)率備注1.27Female未婚空白0.6%有效年齡:2039歲111性別:集合Female,F婚姻:集合未婚扶養(yǎng)人數(shù):空白保險(xiǎn)費(fèi)率:0.6%2.50Male已婚20.

8、6%有效年齡:4059歲性另1J:集合Male,M婚姻:集合已婚扶養(yǎng)人數(shù):16人3.70F未婚70.1%有效年齡:60歲以上或20歲以下性別:集合Female,F婚姻:集合未婚扶養(yǎng)人數(shù):6人以上4.0M已婚4無(wú)法推算年齡類無(wú)效,因此無(wú)法推算保險(xiǎn)費(fèi)率5.100Female未婚5無(wú)法推算年齡類無(wú)效,因此無(wú)法推算保險(xiǎn)費(fèi)率6.1男已婚6無(wú)法推算性別類無(wú)效,因此無(wú)法推算保險(xiǎn)費(fèi)率7.99Child未婚1無(wú)法推算性別類無(wú)效,因此無(wú)法推算保險(xiǎn)費(fèi)率8.30Male離婚3無(wú)法推算婚姻類無(wú)效,因此無(wú)法推算保險(xiǎn)費(fèi)率.9.75Female未婚0無(wú)法推算扶養(yǎng)人數(shù)類無(wú)效,因此無(wú)法推算保險(xiǎn)費(fèi)率10.17Male已婚10無(wú)法推

9、算扶養(yǎng)人數(shù)類無(wú)效,因此無(wú)法推算保險(xiǎn)費(fèi)率2邊界值分析法2.1理論知識(shí)邊界值分析方法是對(duì)等價(jià)類劃分方法的補(bǔ)充,也是一種黑盒測(cè)試方法,適度等價(jià)類分析方法的一種補(bǔ)充,由長(zhǎng)期的測(cè)試工作經(jīng)驗(yàn)得知,大量的錯(cuò)誤是發(fā)生在輸入或輸出的邊界上。因此針對(duì)各種邊界情況設(shè)計(jì)測(cè)試用例,可以查出更多的錯(cuò)誤。(1)邊界值分析方法的考慮:長(zhǎng)期的測(cè)試工作經(jīng)驗(yàn)告訴我們,大量的錯(cuò)誤是發(fā)生在輸入或輸出范圍的邊界上,而不是發(fā)生在輸入輸出范圍的內(nèi)部.因此針對(duì)各種邊界情況設(shè)計(jì)測(cè)試用例,可以查出更多的錯(cuò)誤.使用邊界值分析方法設(shè)計(jì)測(cè)試用例,首先應(yīng)確定邊界情況.通常輸入和輸出等價(jià)類的邊界,就是應(yīng)著重測(cè)試的邊界情況.應(yīng)當(dāng)選取正好等于,剛剛大于或剛剛小

10、于邊界的值作為測(cè)試數(shù)據(jù),而不是選取等價(jià)類中的典型值或任意值作為測(cè)試數(shù)據(jù).(2)基于邊界值分析方法選擇測(cè)試用例的原則1)如果輸入條件規(guī)定了值的范圍,則應(yīng)取剛達(dá)到這個(gè)范圍的邊界的值,以及剛剛超越這個(gè)范圍邊界的值作為測(cè)試輸入數(shù)據(jù).2)如果輸入條件規(guī)定了值的個(gè)數(shù),則用最大個(gè)數(shù),最小個(gè)數(shù),比最小個(gè)數(shù)少一,比最大個(gè)數(shù)多一的數(shù)作為測(cè)試數(shù)據(jù).3)根據(jù)規(guī)格說(shuō)明的每個(gè)輸出條件,使用前面的原則1).4)根據(jù)規(guī)格說(shuō)明的每個(gè)輸出條件,應(yīng)用前面的原則2).5)如果程序的規(guī)格說(shuō)明給出的輸入域或輸出域是有序集合,則應(yīng)選取集合的第一個(gè)元素和最后一個(gè)元素作為測(cè)試用例.6)如果程序中使用了一個(gè)內(nèi)部數(shù)據(jù)結(jié)構(gòu),則應(yīng)當(dāng)選擇這個(gè)內(nèi)部數(shù)據(jù)結(jié)

11、構(gòu)的邊界上的值作為測(cè)試用例7)分析規(guī)格說(shuō)明,找出其它可能的邊界條件.2.2實(shí)例找零錢最佳組合假設(shè)商店貨品價(jià)格(R)皆不大于100元(且為整數(shù)),若顧客付款在100元內(nèi)(P),求找給顧客之最少貨幣個(gè)(張)數(shù)?(貨幣面值50元(N50),10元(N10),5元(N5),1元(N1)四種)一、分析輸入的情形。R>1000<R<=100R<=0P>100R<=P<=100分析輸出情形N50=1N50=04>N10>=1N10=0N5=1N5=04>N1>=1N1=0三、分析規(guī)格中每一決策點(diǎn)之情形,以RR1,RR2,RR3表示計(jì)算要找50

12、,10,5元貨幣數(shù)時(shí)之剩余金額。R>100R<=0P>100P<RRR1>=50RR2>=10RR3>=5四、由上述之輸入/輸出條件組合出可能的情形。R>100R<=00<R<=100,P>1000<R<=100,P<R0<R<=100,R<=P<=100,RR=500<R<=100,R<=P<=100,RR=490<R<=100,R<=P<=100,RR=100<R<=100,R<=P<=100,RR=90&

13、lt;R<=100,R<=P<=100,RR=50<R<=100,R<=P<=100,RR=40<R<=100,R<=P<=100,RR=10<R<=100,R<=P<=100,RR=0為滿足以上之各種情形,測(cè)試資料設(shè)計(jì)如下:1 .貨品價(jià)格=1012 .貨品價(jià)格=03 .貨品價(jià)格=-14 .貨品價(jià)格=100,5 .貨品價(jià)格=100,6 .貨品價(jià)格=50,7 .貨品價(jià)格=51,8 .貨品價(jià)格=90,9 .貨品價(jià)格=91,10 .貨品價(jià)格=95,11 .貨品價(jià)格=96,12 .貨品價(jià)格=99,13 .貨品價(jià)格

14、=100,3錯(cuò)誤推測(cè)法付款金額=101付款金額=99付款金額=100付款金額=100付款金額=100付款金額=100付款金額=100付款金額=100付款金額=100付款金額=1001、定義:基于經(jīng)驗(yàn)和直覺(jué)推測(cè)程序中所有可能存在的各種錯(cuò)誤,從而有針對(duì)性的設(shè)計(jì)測(cè)試用例的方法.2、錯(cuò)誤推測(cè)方法的基本思想:列舉出程序中所有可能有的錯(cuò)誤和容易發(fā)生錯(cuò)誤的特殊情況,根據(jù)他們選擇測(cè)試用例。1) 例如,輸入數(shù)據(jù)和輸出數(shù)據(jù)為0的情況;輸入表格為空格或輸入表格只有一行。這些都是容易發(fā)生錯(cuò)誤的情況??蛇x擇這些情況下的例子作為測(cè)試用例。2) 例如,前面例子中成績(jī)報(bào)告的程序,采用錯(cuò)誤推測(cè)法還可補(bǔ)充設(shè)計(jì)一些測(cè)試用例:I.

15、程序是否把空格作為回答II. 在回答記錄中混有標(biāo)準(zhǔn)答案記錄III. 除了標(biāo)題記錄外,還有一些的記錄最后一個(gè)字符即不是2也不是3IV. 有兩個(gè)學(xué)生的學(xué)號(hào)相同V. 試題數(shù)是負(fù)數(shù)。3)再如,測(cè)試一個(gè)對(duì)線性表(比如數(shù)組)進(jìn)行排序的程序,可推測(cè)列出以下幾項(xiàng)需要特別測(cè)試的情況:I. 輸入的線性表為空表;II. 表中只含有一個(gè)元素;III. 輸入表中所有元素已排好序;IV. 輸入表已按逆序排好;V. 輸入表中部分或全部元素相同。4因果圖方法理論知識(shí)前面介紹的等價(jià)類劃分方法和邊界值分析方法,都是著重考慮輸入條件,但未考慮輸入條件之間的聯(lián)系,相互組合等.考慮輸入條件之間的相互組合,可能會(huì)產(chǎn)生一些新的情況.但要檢

16、查輸入條件的組合不是一件容易的事情,即使把所有輸入條件劃分成等價(jià)類,他們之間的組合,t#況也相當(dāng)多.因此必須考慮采用一種適合于描述對(duì)于多種條件的組合,相應(yīng)產(chǎn)生多個(gè)動(dòng)作的形式來(lái)考慮設(shè)計(jì)測(cè)試用例.這就需要利用因果圖(邏輯模型).因果圖方法最終生成的就是判定表.它適合于檢查程序輸入條件的各種組合情況.利用因果圖生成測(cè)試用例的基本步驟:(1)分析軟件規(guī)格說(shuō)明描述中,那些是原因(即輸入條件或輸入條件的等價(jià)類,那些是結(jié)果(即輸出條件),并給每個(gè)原因和結(jié)果賦予一個(gè)標(biāo)識(shí)符.(2)分析軟件規(guī)格說(shuō)明描述中的語(yǔ)義.找出原因與結(jié)果之間,原因與原因之間對(duì)應(yīng)的關(guān)系.根據(jù)這些關(guān)系,畫出因果圖.(3)由于語(yǔ)法或環(huán)境限制,有些

17、原因與原因之間,原因與結(jié)果之間的組合情況不不可能出現(xiàn).為表明這些特殊情況,在因果圖上用一些記號(hào)表明約束或限制條件.(4)把因果圖轉(zhuǎn)換為判定表.(5)把判定表的每一列拿出來(lái)作為依據(jù),設(shè)計(jì)測(cè)試用例.從因果圖生成的測(cè)試用例(局部,組合關(guān)系下的)包括了所有輸入數(shù)據(jù)的取TRUE與取FALSE的情況,構(gòu)成的測(cè)試用例數(shù)目達(dá)到最少,且測(cè)試用例數(shù)目隨輸入數(shù)據(jù)數(shù)目的增加而線性地增加前面因果圖方法中已經(jīng)用到了判定表.判定表(DecisionTable)是分析和表達(dá)多邏輯條件下執(zhí)行不同操作的情況下的工具.在程序設(shè)計(jì)發(fā)展的初期,判定表就已被當(dāng)作編寫程序的輔助工具了.由于它可以把復(fù)雜的邏輯關(guān)系和多種條件組合的情況表達(dá)得既

18、具體又明確.判定表通常由四個(gè)部分組成.條件樁(ConditionStub):列出了問(wèn)題得所有條件.通常認(rèn)為列出得條件的次序無(wú)關(guān)緊要.動(dòng)作樁(ActionStub):列出了問(wèn)題規(guī)定可能采取的操作.這些操作的排列順序沒(méi)有約束.條件項(xiàng)(ConditionEntry):列出針對(duì)它左列條件的取值.在所有可能情況下的真假值動(dòng)作項(xiàng)(ActionEntry):列出在條件項(xiàng)的各種取值情況下應(yīng)該采取的動(dòng)作規(guī)則:任何一個(gè)條件組合的特定取值及其相應(yīng)要執(zhí)行的操作.在判定表中貫穿條件項(xiàng)和動(dòng)作項(xiàng)的一列就是一條規(guī)則.顯然,判定表中列出多少組條件取值,也就有多少條規(guī)則,既條件項(xiàng)和動(dòng)作項(xiàng)有多少列.判定表的建立步驟:(根據(jù)軟件規(guī)格

19、說(shuō)明)確定規(guī)則的個(gè)數(shù).假如有n個(gè)條件.每個(gè)條件有兩個(gè)取值(0,1),故有種規(guī)則.列出所有的條件樁和動(dòng)作樁.填入條件項(xiàng).填入動(dòng)作項(xiàng).等到初始判定表.簡(jiǎn)化.合并相似規(guī)則(相同動(dòng)作).B.Beizer指出了適合使用判定表設(shè)計(jì)測(cè)試用例的條件:規(guī)格說(shuō)明以判定表形式給出,或很容易轉(zhuǎn)換成判定表.條件的排列順序不會(huì)也不影響執(zhí)行哪些操作.規(guī)則的排列順序不會(huì)也不影響執(zhí)行哪些操作.每當(dāng)某一規(guī)則的條件已經(jīng)滿足,并確定要執(zhí)行的操作后,不必檢驗(yàn)另I的規(guī)則.如果某一規(guī)則得到滿足要執(zhí)行多個(gè)操作,這些操作的執(zhí)行順序無(wú)關(guān)緊要.4.2符號(hào)因果圖的基本符號(hào)或與約束符號(hào)4.3實(shí)例4.3.1實(shí)例一某軟件規(guī)格說(shuō)明中包含這樣的要求:第一列字

20、符必須是A或B,第二列字符必須是一個(gè)數(shù)字,在此情況下進(jìn)行文件的修改。但如果第一列字符不正確,則給出信息L;如果第二列字符不是數(shù)字,則給出信息M分開(kāi)原因和結(jié)果原因:1第一列字符是A;2第一列字符是B;3-第二列字符是一數(shù)字。結(jié)果:21-修改文件;22-給出信息L;23給出信息M因果圖4.3.2實(shí)例二此例子是講解利用因果圖設(shè)計(jì)測(cè)試用例的一個(gè)小例子。以中國(guó)象棋中走馬的測(cè)試用例設(shè)計(jì)為例學(xué)習(xí)因果圖的使用方法。一、分析中國(guó)象棋中走馬的實(shí)際情況(下面未注明的均指的是對(duì)馬的說(shuō)明)1、如果落點(diǎn)在棋盤外,則不移動(dòng)棋子;2、如果落點(diǎn)與起點(diǎn)不構(gòu)成日字型,則不移動(dòng)棋子;3、如果落點(diǎn)處有自己方棋子,則不移動(dòng)棋子;4、如果

21、在落點(diǎn)方向的鄰近交叉點(diǎn)有棋子(絆馬腿),則不移動(dòng)棋子;5、如果不屬于1-4條,且落點(diǎn)處無(wú)棋子,則移動(dòng)棋子;6、如果不屬于1-4條,且落點(diǎn)處為對(duì)方棋子(非老將),則移動(dòng)棋子并除去對(duì)方棋子;7如果不屬于1-4條,且落點(diǎn)處為對(duì)方老將,則移動(dòng)棋子,并提示戰(zhàn)勝對(duì)方,游戲結(jié)束。二、根據(jù)分析明確原因和結(jié)果原因:1、落點(diǎn)在棋盤上;2、落點(diǎn)與起點(diǎn)構(gòu)成日字;3、落點(diǎn)處為自己方棋子;4、落點(diǎn)方向的鄰近交叉點(diǎn)無(wú)棋子;5、落點(diǎn)處無(wú)棋子;6、落點(diǎn)處為對(duì)方棋子(非老將);7、落點(diǎn)處為對(duì)方老將。結(jié)果:21、不移動(dòng)棋子;22、移動(dòng)棋子;23、移動(dòng)棋子,并除去對(duì)方棋子;24、移動(dòng)棋子,并提示戰(zhàn)勝對(duì)方,結(jié)束游戲。添加中間節(jié)點(diǎn)11,

22、目的是作為導(dǎo)出結(jié)果的進(jìn)一步原因,簡(jiǎn)化因果圖導(dǎo)出的判定表考慮結(jié)果不能同時(shí)發(fā)生,所以對(duì)其施加唯一約束O。原因5、6、7不能同時(shí)發(fā)生,所以對(duì)其施加異約束E.三、根據(jù)因果圖建立判定表:(分為兩表)12345678910111213141516原因10101010101010101200110011001100113000011110000111140000000011111111結(jié)果110000100010010001000211111111011111111用例123456789'0111213141516原因110101010101010101500110011001100116;0000

23、1111;0100111170000000011111111結(jié)果22001000023000010:0240000001用例注:1、以上判定表中由于表格大小限制沒(méi)有列出最后所選的測(cè)試用例;2、第2表中部分列被合并表示不可能發(fā)生的現(xiàn)象;3、通過(guò)中間節(jié)點(diǎn)將用例的判定表簡(jiǎn)化為兩個(gè)小表。減少工作量。四、根據(jù)判定表寫測(cè)試用例表(略)5路徑覆蓋熟悉測(cè)試?yán)碚摰娜硕贾溃窂礁采w是白盒測(cè)試中一種很重要的方法,廣泛應(yīng)用于單元測(cè)試。那么基于路徑覆蓋的分析方法是不是只能應(yīng)用于單元測(cè)試呢,能不能將其推而廣之呢。一般而言,在單元測(cè)試中,路徑就是指函數(shù)代碼的某個(gè)分支,而實(shí)際上如果我們將軟件系統(tǒng)的某個(gè)流程也看成路徑的話,我

24、們將可以嘗試著用路徑分析的方法來(lái)設(shè)計(jì)測(cè)試用例。采用路徑分析的方法設(shè)計(jì)測(cè)試用例有兩點(diǎn)好處:一是降低了測(cè)試用例設(shè)計(jì)的難度,只要搞清了各種流程,就可以設(shè)計(jì)出高質(zhì)量的測(cè)試用例來(lái),而不用太多測(cè)試方面的經(jīng)驗(yàn);二是在測(cè)試時(shí)間較緊的情況下,可以有的放矢的選擇測(cè)試用例,而不用完全根據(jù)經(jīng)驗(yàn)來(lái)取舍。下面就具體的介紹一下如何用路徑分析的方法編寫測(cè)試用例。首先是將系統(tǒng)運(yùn)行過(guò)程中所涉及到的各種流程圖表化,可以先從最基本的流程入手,將流程抽象成為不同功能的順序執(zhí)行。在最基本流程的基礎(chǔ)上再去考慮次要或者異常的流程,這樣將各種流程逐漸細(xì)化,這樣既可以逐漸加深對(duì)流程的理解,還可以將各個(gè)看似孤立的流程關(guān)聯(lián)起來(lái)。完成所有流程的圖表化

25、后就完成了所有路徑的設(shè)定。找出了所有的路徑,下面的工作就是給每條路徑設(shè)定優(yōu)先級(jí),這樣在測(cè)試時(shí)就可以先測(cè)優(yōu)先級(jí)高的,再測(cè)優(yōu)先級(jí)低的,在時(shí)間緊迫的情況下甚至可以考慮忽略一些低優(yōu)先級(jí)的路徑。優(yōu)先級(jí)根據(jù)兩個(gè)原則來(lái)選取:一是路徑使用的頻率,使用越頻繁的優(yōu)先級(jí)越高;二是路徑的重要程度,如果失敗對(duì)系統(tǒng)影響越大的優(yōu)先級(jí)越高。將根據(jù)兩個(gè)原則所分別得到的優(yōu)先級(jí)相加就得到了整個(gè)路徑的優(yōu)先級(jí)。根據(jù)優(yōu)先級(jí)的排序就可以更有針對(duì)性的進(jìn)行測(cè)試。為每條路徑設(shè)定好優(yōu)先級(jí)后,接下來(lái)的工作就是為每條路徑選取測(cè)試數(shù)據(jù),構(gòu)造測(cè)試用例。一條路徑可以對(duì)應(yīng)多個(gè)測(cè)試用例,在選取測(cè)試數(shù)據(jù)時(shí),可以充分利用邊界值選取等方法,通過(guò)表格將各種測(cè)試數(shù)據(jù)的輸

26、入輸出對(duì)應(yīng)起來(lái),這樣就完成了測(cè)試用例的設(shè)計(jì)。對(duì)于測(cè)試人員而言,測(cè)試用例的設(shè)計(jì)是一件非常困難的工作,而同時(shí)測(cè)試用例的設(shè)計(jì)好壞又直接關(guān)系到整個(gè)系統(tǒng)的設(shè)計(jì)質(zhì)量。本文介紹了一種更理論化的設(shè)計(jì)方法來(lái)盡量簡(jiǎn)化這種工作,將一般應(yīng)用于單元測(cè)試的路徑分析方法推廣到集成測(cè)試、系統(tǒng)測(cè)試等后續(xù)測(cè)試過(guò)程中,希望能給大家一點(diǎn)啟示。6功能圖功能圖方法是一種黑盒、白盒混合用例設(shè)計(jì)方法,是功能圖FD形式化地表示程序的功能說(shuō)明,并機(jī)器地生成功能圖的測(cè)試用例。功能圖模型由狀態(tài)遷移圖和邏輯功能模型構(gòu)成。狀態(tài)遷移圖用于表示輸入數(shù)據(jù)序列以及相應(yīng)的輸出數(shù)據(jù)。在狀態(tài)遷移圖中,由輸入數(shù)據(jù)和當(dāng)前狀態(tài)決定輸出數(shù)據(jù)和后續(xù)狀態(tài)。邏輯功能模型用于表示在

27、狀態(tài)輸入條件和輸出條件之間的對(duì)應(yīng)關(guān)系。邏輯功能模型只適合于描述靜態(tài)說(shuō)明,輸出數(shù)據(jù)僅由輸入數(shù)據(jù)決定。測(cè)試用例則由測(cè)試中的一系列狀態(tài)和在每個(gè)狀態(tài)中必須依靠輸入/輸出數(shù)據(jù)滿足的一對(duì)條件組成。(1)功能圖:功能圖由狀態(tài)遷移圖和布爾函數(shù)組成。狀態(tài)遷移圖用狀態(tài)和遷移來(lái)描述。一個(gè)狀態(tài)指出數(shù)據(jù)輸入的位置(或時(shí)間),而遷移則指明狀態(tài)的改變,同時(shí)要依靠判定表或是因果圖表示的邏輯功能。例如,一個(gè)簡(jiǎn)化的自動(dòng)出納ATM機(jī)的功能圖。(2)測(cè)試用例生成方法:從功能圖生成測(cè)試用例,得到的測(cè)試用例數(shù)是可以接受的。問(wèn)題的關(guān)鍵是如何從狀態(tài)遷移圖中選取測(cè)試用例。若用節(jié)點(diǎn)代替狀態(tài),用弧線代替遷移,則狀態(tài)遷移圖就可轉(zhuǎn)化成一個(gè)程序的控制流

28、程圖形式。問(wèn)題就轉(zhuǎn)化為程序的路徑測(cè)試問(wèn)題了。(3)測(cè)試用例生成規(guī)則:為了把狀態(tài)遷移的測(cè)試用例與邏輯模型的測(cè)試用例相組合起來(lái),從功能圖生成生成實(shí)用的測(cè)試用例,需定義下面的規(guī)則。在一個(gè)結(jié)構(gòu)化的遷移(SST)中,定義三種形式的循環(huán):順序、選擇和重復(fù)。但分辨一個(gè)狀態(tài)遷移中的所有循環(huán)是有困難的。(4)從功能圖生成測(cè)試用例的過(guò)程。A、生成局部測(cè)試用例:在每個(gè)狀態(tài)中,從因果圖生成局部測(cè)試用例。局部測(cè)試用例由原因值(輸入數(shù)據(jù))組合與對(duì)應(yīng)的結(jié)果值(輸出數(shù)據(jù)或狀態(tài))構(gòu)成。B、測(cè)試路徑生成:利用上面的規(guī)則(3種)生成從初始狀態(tài)到最后狀態(tài)的測(cè)試路徑。C、測(cè)試用例合成:合成測(cè)試路徑與功能圖中每個(gè)狀態(tài)的局部測(cè)試用例。結(jié)果

29、是初始狀態(tài)到最后狀態(tài)的一個(gè)狀態(tài)序列,以及每個(gè)狀態(tài)中輸入數(shù)據(jù)與對(duì)應(yīng)輸出數(shù)據(jù)的組合。D、測(cè)試用例的合成算法:采用合成構(gòu)造樹(shù)。7正交試驗(yàn)設(shè)計(jì)法7.1理論知識(shí)1、什么是因素(Factor在一項(xiàng)試驗(yàn)中,凡欲考察的變量稱為因素(變量)2、什么是水平(位級(jí)Level在試驗(yàn)范圍內(nèi),因素被考察的值稱為水平(變量的取值)3、什么是正交試驗(yàn)設(shè)計(jì)是研究多因素多水平的一種設(shè)計(jì)方法,它是根據(jù)正交性從全面試驗(yàn)中挑選出部分有代表性的點(diǎn)進(jìn)行試驗(yàn),這些有代表性的點(diǎn)具備了均勻分散,齊整可比的特點(diǎn),正交試驗(yàn)設(shè)計(jì)是一種基于正交表的、高效率、快速、經(jīng)濟(jì)的試驗(yàn)設(shè)計(jì)方法4、正交表的構(gòu)成正交表的構(gòu)成行數(shù)(Runs):正交表中的行的個(gè)數(shù),即試驗(yàn)

30、的次數(shù)因素?cái)?shù)(Factors):正交表中列的個(gè)數(shù)。水平數(shù):任何單個(gè)因素能夠取得的值的最大個(gè)數(shù)。正交表中的包含的值為從最大個(gè)數(shù)。正交表中的包含的值為從0到數(shù)到數(shù)“水平水平數(shù)-1或從或從1到“水平數(shù)水平數(shù)”。正交表的表示形式:L行數(shù)(水平數(shù)因素?cái)?shù))正交表的正交性整齊可比性在同一張正交表中,每個(gè)因素的每個(gè)水平出現(xiàn)次數(shù)是完全相同的。由于在試驗(yàn)中每個(gè)因素的每個(gè)水平與其它因素的每個(gè)水平參與試驗(yàn)的機(jī)率是完全相同的,這就保證在各個(gè)水平中最大程度的排除了其它因素水平的干擾。因而,能最有效地進(jìn)行比較和作出展望,容易找到好的試驗(yàn)條件進(jìn)行。均衡分散性在同一張正交表中,任意兩列(兩個(gè)因素)的水平搭配(橫向形成的數(shù)字對(duì))

31、是完全相同的。這樣就保證了試驗(yàn)條件均衡地分散在因素水平的完全組合之中,因而具有很強(qiáng)的代表性,容易得到好的試驗(yàn)條件。三、用正交表設(shè)計(jì)測(cè)試用例用正交表設(shè)計(jì)測(cè)試用例的步驟1有哪些因素(變量)2每個(gè)因素有哪幾個(gè)水平(變量的取值)3選擇一個(gè)合適的正交表4把變量的值映射到表中5把每一行的各因素水平的組合做為一個(gè)測(cè)試用例6加上你認(rèn)為可疑且沒(méi)有在表中出現(xiàn)的組如何選擇正交表考慮因素(變量)的個(gè)數(shù)考慮因素水平(變量的取值)的個(gè)數(shù)考慮正交表的行數(shù)取行數(shù)最少的一個(gè)設(shè)計(jì)測(cè)試用例時(shí)的三種情況1因素?cái)?shù)(變量)、水平數(shù)(變量值)相符2因素?cái)?shù)不相同3水平數(shù)不相同因素?cái)?shù)、水平數(shù)相符因素?cái)?shù)、水平數(shù)相符水平數(shù)(變量的取值)相同、因素

32、數(shù)(變量)剛好符合正交表。7.2實(shí)例一、對(duì)某人進(jìn)行查詢1、假設(shè)查詢某個(gè)人時(shí)有三個(gè)查詢條件:根據(jù)“姓名”進(jìn)行查詢根據(jù)“身份證號(hào)碼”查詢根據(jù)“手機(jī)號(hào)碼”查詢查詢某人,姓名,身份證號(hào)器手機(jī)號(hào)碼1考慮查詢條件要么不填寫,要么填寫,此時(shí)可用正交表進(jìn)行設(shè)計(jì)2、因素?cái)?shù)和水平數(shù)有三個(gè)因素:姓名、身份證號(hào)、手機(jī)號(hào)碼每個(gè)因素有兩個(gè)水平姓名:填、不填身份證號(hào):填、不填手機(jī)號(hào)碼:填、不填3、選擇正交表表中的因素?cái)?shù)=3表中至少有三個(gè)因素的水平數(shù)=2行數(shù)取最少的一個(gè)結(jié)果:4、變量映射姓名:0.填寫,1.不填寫身份證號(hào):0.填寫,1.不填寫手機(jī)號(hào)碼:0.填寫,1.不填寫5、用L4(23)設(shè)計(jì)的測(cè)試用例測(cè)試用例如下:1:填寫

33、姓名、填寫身份證號(hào)、填寫手機(jī)號(hào)2:填寫姓名、不填身份證號(hào)、不填手機(jī)號(hào)3:不填姓名、填寫身份證號(hào)、不填手機(jī)號(hào)4:不填姓名、不填身份證號(hào)、填寫手機(jī)號(hào)增補(bǔ)測(cè)試用例5:不填姓名、不填身份證號(hào)、不填手機(jī)號(hào)測(cè)試用例減少數(shù):8-56、因素?cái)?shù)不相同水平數(shù)(變量的取值)相同但在正交表中找不到相同的因素?cái)?shù)(變量)(取因素?cái)?shù)(取因素?cái)?shù)最接近但略大的實(shí)際值的表)8場(chǎng)景設(shè)計(jì)方法8.1理論知識(shí):現(xiàn)在的軟件幾乎都是用事件觸發(fā)來(lái)控制流程的,事件觸發(fā)時(shí)的情景便形成了場(chǎng)景,而同一事件不同的觸發(fā)順序和處理結(jié)果就形成事件流。這種在軟件設(shè)計(jì)方面的思想也可以引入到軟件測(cè)試中,可以比較生動(dòng)地描繪出事件觸發(fā)時(shí)的情景,有利于測(cè)試設(shè)計(jì)者設(shè)計(jì)測(cè)試用例,同時(shí)使測(cè)試用例更容易理解和執(zhí)行。基本流和備選流:如下圖所示,圖中經(jīng)過(guò)用例的每條路徑都用基本流和備選流來(lái)表示,直黑線表示基本流,是經(jīng)過(guò)用例的最簡(jiǎn)單的路徑。備選流用不同的色彩表示,一個(gè)備選流可能從基本流開(kāi)始,在某個(gè)特定條件下執(zhí)行,然后重新加入基本流中(如備選流1和3);也可能起源于另一個(gè)備選流(如備選流2),或者終止用例而不再重新加入到某個(gè)流(如備選流2和4)。開(kāi)始用例備選流3備選流1結(jié)束用例結(jié)束用例基本流備選流48.2實(shí)例1.例子描述下圖所示是.場(chǎng)景設(shè)計(jì):下表所示是生成的場(chǎng)景表3-8場(chǎng)景設(shè)計(jì)場(chǎng)了1一成功提款基本流場(chǎng)了2-ATM內(nèi)沒(méi)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論