黑盒測(cè)試用例設(shè)計(jì)方法(比較全面)_第1頁
黑盒測(cè)試用例設(shè)計(jì)方法(比較全面)_第2頁
黑盒測(cè)試用例設(shè)計(jì)方法(比較全面)_第3頁
黑盒測(cè)試用例設(shè)計(jì)方法(比較全面)_第4頁
黑盒測(cè)試用例設(shè)計(jì)方法(比較全面)_第5頁
已閱讀5頁,還剩35頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

wordword黑盒測(cè)試用例設(shè)計(jì)方法June24,20131/40wordword目錄黑盒測(cè)試用例設(shè)計(jì)方法錯(cuò)誤!未定義書簽。111127771115151516161619222222263131313232323333343438i/40word概述黑盒測(cè)試用例設(shè)計(jì)方法包括等價(jià)類劃分法、邊界值分析法、錯(cuò)誤推測(cè)法、因果圖法、判定表驅(qū)動(dòng)法、正交試驗(yàn)設(shè)計(jì)法、功能圖法等。等價(jià)類劃分法概念數(shù)代表性數(shù)據(jù)作為測(cè)試用例。每一類的代表性數(shù)據(jù)在測(cè)試中的作用等價(jià)于這一類中的其他值。等價(jià)類劃分法的應(yīng)用等價(jià)類是指某個(gè)輸入域的子集合。在該子集合中,各個(gè)輸入數(shù)據(jù)對(duì)于揭露程序中的錯(cuò)誤都是等效的,并合理地假定:測(cè)試某等價(jià)類的代表值就等于對(duì)這一類其它值的測(cè)試 .因此,可以把全部輸入數(shù)據(jù)合理劃分為假設(shè)干等價(jià)類,在每一個(gè)等價(jià)類中取一個(gè)數(shù)據(jù)作為測(cè)試的輸入條件,就可以用少量代表性的測(cè)試數(shù)據(jù).取得較好的測(cè)試結(jié)果.等價(jià)類劃分可有種不同的情況:有效等價(jià)類和無效等價(jià)類。。無效等價(jià)類:與有效等價(jià)類的定義恰巧相反。性。劃分等價(jià)類的六大原如此:在輸入條件規(guī)定了取值X和兩個(gè)無效等價(jià)類.例:輸入值是學(xué)生成績(jī),X圍是0~100:在輸入條件規(guī)定了輸入值的集合或者規(guī)定了“必須如何〞的條件的情況下 ,可立一個(gè)有效等價(jià)類和一個(gè)無效等價(jià)類.在輸入條件是一個(gè)布爾量的情況下,可確定一個(gè)有效等價(jià)類和一個(gè)無效等價(jià)類.布爾量是一個(gè)二值枚舉類型,一個(gè)布爾量具有兩種狀態(tài):true和false。1/40wordword在規(guī)定了輸入數(shù)據(jù)的一組值〔假定n的情況下,可確立n個(gè)有效等價(jià)類和一個(gè)無效等價(jià)類.例:輸入條件說明輸入字符為:中文、英文、阿拉伯文三種之一,如此分別取價(jià)類。如此〕和假設(shè)干個(gè)無效等價(jià)類〔從不同角度違反規(guī)如此〕在確知已劃分的等價(jià)類中各元素在程序處理中的方式不同的情況下 ,如此應(yīng)再該等價(jià)類進(jìn)一步的劃分為更小的等價(jià)類將等價(jià)類轉(zhuǎn)化成測(cè)試用例:按照[輸入條件][有效等價(jià)類][無效等價(jià)類]建立等價(jià)類表,列出所有劃分出的等價(jià)類為每一個(gè)等價(jià)類規(guī)定一個(gè)唯一的編號(hào).步.直到所有的有效等價(jià)類都被覆蓋為止.設(shè)計(jì)一個(gè)新的測(cè)試用例,使其僅覆蓋一個(gè)尚未被覆蓋的無效等價(jià)類,重復(fù)這一步.直到所有的無效等價(jià)類都被覆蓋為止.某程序規(guī)定:"輸入三個(gè)整數(shù)a、某程序規(guī)定:"輸入三個(gè)整數(shù)a、b、c分別作為三邊的邊長(zhǎng)構(gòu)成三角形。通過程序判定計(jì)算…"。用等價(jià)類劃分方法為該程序進(jìn)展測(cè)試用例設(shè)計(jì)?!踩切螁栴}的復(fù)雜之處在于輸入與輸出之間的關(guān)系比擬復(fù)雜?!撤治鲱}目中給出和隱含的對(duì)輸入條件的要求:〔1〕整數(shù) 〔2〕三個(gè)數(shù) 〔3〕非零數(shù)〔4〕正數(shù)〔5〕兩邊之和大于第三邊 〔6〕等腰 〔7〕等邊如果a、b、c滿足條件〔1〕~〔4〕,如此輸出如下四種情況之一:1)如果不滿足條件〔5〕,如此程序輸出為"非三角形"。如果三條邊相等即滿足條件〔7〕,如此程序輸出為"等邊三角形"。如果只有兩條邊相等、即滿足條件〔6〕,如此程序輸出為"等腰三角形"。如果三條邊都不相等,如此程序輸出為"一般三角形"。列出等價(jià)類表并編號(hào)2/40粕入務(wù)件拍入個(gè)整致有效等價(jià)類立虧碼無效等價(jià)類號(hào)碼整婪I寸為非婦一邊為非荎 b為非整c為非拉數(shù)兩邊為非整紐尸為非整數(shù)釭為非腔牧三邊a,,b,C均為非整數(shù)121314151617lg三個(gè)致2{只給a只給一邊 只結(jié)bf口\心鈐[只給兩邊{只歸只給肛ac給出三個(gè)以上192[l2122232425非吞炊3{ a[I一邊為琴 b為0[I{ 心為0二邊為弄 h,c為0o三邊讓江均為o26272g:293[l3132芷數(shù)4扣i—邊切{霆lc刁]{砓且邁c切bcD也三邊均忒:a&且區(qū)0且碩33343536373839韻出條件構(gòu)欣一般三角形葉b沁掃c社cb567{:aO{壓ab長(zhǎng)=屯{ 404142434445構(gòu)成等腰三角形}二c三邊89I0構(gòu)成等腰三角形h11覆蓋有效等價(jià)類的測(cè)試用例:a b c 覆蓋等價(jià)類3 4 5 〔1〕--〔7〕3/40word445〔1〕--〔7〕,〔8〕455〔1〕--〔7〕,〔9〕545〔1〕--〔7〕,〔10〕444〔1〕--〔7〕,〔11〕覆蓋無效等價(jià)類的測(cè)試用例:設(shè)有一個(gè)檔案管理系統(tǒng),要求用戶輸入以年月表示的日期。假設(shè)日期限定在1990年1月~2049年12月,并規(guī)定日期由6位數(shù)字字符組成,前4位表示年,后2位表示月?,F(xiàn)用等價(jià)類劃分法設(shè)計(jì)測(cè)試用例,來測(cè)試程序的"日期檢查功能"?!膊豢紤]2月的問題〕1)劃分等價(jià)類并編號(hào),下表等價(jià)類劃分的結(jié)果輸入等價(jià)類有效等價(jià)類無效等價(jià)類②有非數(shù)字字符日期的類型與長(zhǎng)度①6位數(shù)字字符③6位數(shù)字字符④6位數(shù)字字符4/40wordword2)設(shè)計(jì)測(cè)試用例,以便覆蓋所有的有效等價(jià)類在表中列出了3個(gè)有效等價(jià)類,編號(hào)分別為2)設(shè)計(jì)測(cè)試用例,以便覆蓋所有的有效等價(jià)類在表中列出了3個(gè)有效等價(jià)類,編號(hào)分別為①、⑤、⑧,設(shè)計(jì)的測(cè)試用例如下:⑥⑥1990X⑤1990~2049之間⑦2049⑨等于00X⑧01~12之間⑩12測(cè)試數(shù)據(jù)期望結(jié)果覆蓋的有效等價(jià)類200211輸入有效①、⑤、⑧3)為每一個(gè)無效等價(jià)類設(shè)計(jì)一個(gè)測(cè)試用例,設(shè)計(jì)結(jié)果如下:測(cè)試數(shù)據(jù)期望結(jié)果 覆蓋的無效等價(jià)類 95June 無效輸入②20036無效輸入③2001006無效輸入④198912無效輸入⑥200401無效輸入⑦200100無效輸入⑨200113無效輸入⑩3.NextDate函數(shù)包含三個(gè)變量:month、day和year,函數(shù)的輸出為輸入日期后一天的日期。例如,輸入為2006年3月7日,如此函數(shù)的輸出為2006年3月8日。要求輸入變量month、day和year均為整數(shù)值,并且滿足如下條件:3.NextDate函數(shù)包含三個(gè)變量:month、day和year,函數(shù)的輸出為輸入日期后一天的日期。例如,輸入為2006年3月7日,如此函數(shù)的輸出為2006年3月8日。要求輸入變量month、day和year均為整數(shù)值,并且滿足如下條件:①1≤month≤12②1≤day≤31③1920≤year≤20501)有效等價(jià)類為:M1={月份:1≤月份≤12}D1={日期:1≤日期≤31}Y1={年:1812≤年2)假設(shè)條件①~③中任何一個(gè)條件失效,如此NextDate函數(shù)都會(huì)產(chǎn)生一個(gè)輸出,指明相應(yīng)的變量超出取值X圍,比如"month的值不在1-12X圍當(dāng)中"。顯然還存在著大量的year、month、day的無效組合,NextDate函數(shù)將這些組合作統(tǒng)一的輸出:"無效輸入日期"。其無效等價(jià)類為:M2={月份:月份<1}M3={月份:月份>12}D2={日期:日期<1}5/40(二)強(qiáng)健壯等價(jià)類測(cè)試用例ID(二)強(qiáng)健壯等價(jià)類測(cè)試用例ID月份 日期 預(yù)期輸出D3={日期:日期>31}Y2={年:年<1812}Y3={年:年>2012}弱一般等價(jià)類測(cè)試用例強(qiáng)一般等價(jià)類測(cè)試用例同弱一般等價(jià)類測(cè)試用例注:弱--有單缺陷假設(shè);健壯--考慮了無效值(一)弱健壯等價(jià)類測(cè)試用例ID月份日期 年預(yù)期輸出月份 日期年預(yù)期輸出6 1519121912年6月16日WR161519121912年6月16日WR2-1151912月份不在1~12中WR313151912月份不在1~12中WR46-11912日期不在1~31中WR56321912日期不在1~31中WR66151811年份不在1812~2012中WR76152013年份不在1812~2012中SR1-1151912月份不在1~12中SR26-11912日期不在1~31中SR36151811年份不在1812~2012中SR4-1-11912兩個(gè)無效一個(gè)有效SR56-11811兩個(gè)無效一個(gè)有效SR6-1151811兩個(gè)無效一個(gè)有效SR7-1-11811三個(gè)無效15555005021515151500175325252525003604.傭金問題等價(jià)類測(cè)試用例,它是根據(jù)傭金函數(shù)的輸出值域定義等價(jià)類,來改良測(cè)試用例集合。輸出銷售額≤10004.傭金問題等價(jià)類測(cè)試用例,它是根據(jù)傭金函數(shù)的輸出值域定義等價(jià)類,來改良測(cè)試用例集合。輸出銷售額≤1000元 傭金10%1000<銷售額≤1800 傭=100+(銷售額-1000)*15%銷售額>1800測(cè)試用例傭金=220+(銷售額-1800)*20%槍機(jī)(45) 槍托(30)槍管(25)銷售額 傭金根據(jù)輸出域選擇輸入值,使落在輸出域等價(jià)類內(nèi),可以結(jié)合弱健壯測(cè)試用例結(jié)合。邊界值分析法概念邊界值分析法就是對(duì)輸入或輸出的邊界值進(jìn)展測(cè)試的一種黑盒測(cè)試方法。通常邊界值分析法是作為對(duì)等價(jià)類劃分法的補(bǔ)充,這種情況下,其測(cè)試用例來自等價(jià)類的邊界。邊界值分析法的應(yīng)用根據(jù)大量的測(cè)試統(tǒng)計(jì)數(shù)據(jù),很多錯(cuò)誤是發(fā)生在輸入或輸出X圍的邊界上,而不是發(fā)生在輸入/輸出X圍的中間區(qū)域。因此針對(duì)各種邊界情況設(shè)計(jì)測(cè)試用例,可以查出更多的錯(cuò)誤。使用邊界值分析方法設(shè)計(jì)測(cè)試用例,首先應(yīng)確定邊界情況。通常輸入和輸出等價(jià)類的邊數(shù)據(jù),而不是選取等價(jià)類中的典型值或任意值作為測(cè)試數(shù)據(jù)。邊界值分析法與等價(jià)類分析法的區(qū)別:要作為測(cè)試條件。例:測(cè)試計(jì)算平方根的函數(shù)--需求說明:當(dāng)輸入一個(gè)0或比0大的數(shù)的時(shí)候,返回其正平方根;當(dāng)輸入一個(gè)小于0的數(shù)時(shí),顯示錯(cuò)誤信息"平方根非法-輸入值小于0"并返回0;庫函數(shù)Print-Line可以用來輸出錯(cuò)誤信息。等價(jià)類劃分:可以考慮作出如下劃分:a、輸入(i)<0和(ii)>=0b、輸出(a)>=0和(b)ErrorII.測(cè)試用例有兩個(gè):a、輸入4,輸出2。對(duì)應(yīng)于(ii)和(a)。b、輸入-10,輸出0和錯(cuò)誤提示。對(duì)應(yīng)于(i)和(b)。邊界值分析:劃分(ii)的邊界為0和最大正實(shí)數(shù);劃分(i)的邊界為最小負(fù)實(shí)數(shù)和0。由此得到以下測(cè)試用例:a、輸入{最小負(fù)實(shí)數(shù)}7/40b、輸入{絕對(duì)值很小的負(fù)數(shù)}c、輸入0d、輸入{絕對(duì)值很小的正數(shù)}e、輸入{最大正實(shí)數(shù)}速度、方位、尺寸、空間等。相應(yīng)地,以上類型的邊界值應(yīng)該在:最大/最小、首位/末位、上/下、最快/最慢、最高/最低、最短/最長(zhǎng)、空/滿等情況下。利用邊界值作為測(cè)試數(shù)據(jù)項(xiàng)邊界值項(xiàng)邊界值測(cè)試用例的設(shè)計(jì)思路起始-1假設(shè)一個(gè)文本輸入?yún)^(qū)域允許輸入1個(gè)到255個(gè)字符,輸字個(gè)字符/完畢 入1個(gè)和255個(gè)字符作為有效等價(jià)類;輸入0個(gè)和256個(gè)符+1個(gè)字符字符作為無效等價(jià)類,這幾個(gè)數(shù)值都屬于邊界條件值。假設(shè)某軟件的數(shù)據(jù)輸入域要求輸入5位的數(shù)據(jù)值,可以數(shù)最小值-使用10000作為最小值、99999作為最大值;然后使用剛值1/最大值+1好小于5位和大于5位的數(shù)值來作為邊界條件。小于空余空空間一點(diǎn)/例如在用U盤存儲(chǔ)數(shù)據(jù)時(shí),使用比剩余磁盤空間大一點(diǎn)間于滿空間一 〔幾KB〕的文件作為邊界條件。點(diǎn)內(nèi)部邊界值分析:的規(guī)格說明或常識(shí)中得到,也是最終用戶可以很容易發(fā)現(xiàn)問題的。然而,在測(cè)試用例設(shè)計(jì)過程中,某些邊界值條件是不需要呈現(xiàn)給用戶的,或者說用戶是很難注意到的,但同時(shí)確8/40實(shí)屬于檢驗(yàn)X疇內(nèi)的邊界條件,稱為內(nèi)部邊界值條件或子邊界值條件。內(nèi)部邊界值條件主要有下面幾種:X項(xiàng)項(xiàng)X圍或值位〔bit〕0或1字節(jié)〔byte〕0~255字〔word〕0~65535〔單字〕或0~4294967295〔雙字〕千〔K〕1024兆〔M〕1048576吉〔G〕1073741824字符的邊界值檢驗(yàn):在計(jì)算機(jī)軟件中,字符也是很重要的表示元素,其中ASCII和Unicode是常見的編碼方式。如如下出了一些常用字符對(duì)應(yīng)的ASCII碼值。字符字符ASCII碼值空(null)0空格(space)32可輸入的字符0~948~579/40A~ZA~Z65~90a~z97~122特定的邊界值。如如下出局部手機(jī)相關(guān)的邊界值:硬件設(shè)備硬件設(shè)備X圍或值手機(jī)鋰電池電壓工作電壓:3.6~4.2V;保護(hù)電壓:2.5~3V不等手機(jī)正常使用溫度-25°C~+60°C基于邊界值分析方法選擇測(cè)試用例的原如此如果輸入條件規(guī)定了值的X圍,如此應(yīng)取剛達(dá)到這個(gè)XX例如,如果程序的規(guī)格說明中規(guī)定:"重量在10公斤至50公斤X郵費(fèi)計(jì)算公式為……"。作為測(cè)試用例,我們應(yīng)取10與50,還應(yīng)取與等。數(shù)多一的數(shù)作為測(cè)試數(shù)據(jù)。例如,一個(gè)輸入文件應(yīng)包括1~255個(gè)記錄,如此測(cè)試用例可取1和255,還0256將規(guī)如此1〕和2右的值。例如,某程序的規(guī)格說明要求計(jì)算出"每月保險(xiǎn)金扣除額為0至元",其測(cè)試用1165.26再如一程序?qū)儆谇閳?bào)檢索系統(tǒng),要求每次"最少顯示1條、最多顯示4條情報(bào)摘要",這時(shí)我們應(yīng)考慮的測(cè)試用例包括14,還應(yīng)包括05元素和最后一個(gè)元素作為測(cè)試用例。10/40word值作為測(cè)試用例。分析規(guī)格說明,找出其它可能的邊界條件。實(shí)例803標(biāo)題:這一組只有一個(gè)記錄,其內(nèi)容為輸出成績(jī)報(bào)告的名字。試卷各題標(biāo)準(zhǔn)答案記錄:每個(gè)記錄均在第80個(gè)字符處標(biāo)以數(shù)字"2"。該組的第一個(gè)記錄的第1至第3個(gè)字符為題目編號(hào)〔取值為1一999〕。第10至第59個(gè)字符給出第1至第50題的答案〔每個(gè)合法字符表示一個(gè)答案〕。該組的第2,第3……個(gè)記錄相應(yīng)為第51100101150,…題的答案。每個(gè)學(xué)生的答卷描述:該組中每個(gè)記錄的第80個(gè)字符均為數(shù)字"3答卷在假設(shè)干個(gè)記錄中給出。如甲的首記錄第1至第9字符給出學(xué)生某某與學(xué)號(hào),第10至第59字符列出的是甲所做的第1至第50題的答案。假設(shè)試題數(shù)超過502,第3……紀(jì)錄分別給出他的第51至第100101至第150……題的解答。然后是學(xué)生乙的答卷記錄。200999。11/40word4b)按學(xué)生成績(jī)排序的成績(jī)單。平均分?jǐn)?shù)與標(biāo)準(zhǔn)偏差的報(bào)告。試題分析報(bào)告。按試題號(hào)排序,列出各題學(xué)生答對(duì)的百分比。解答:分別考慮輸入條件和輸出條件,以與邊界條件。給出下表所示的輸入條件與相應(yīng)的測(cè)試用例。輸出條件與相應(yīng)的測(cè)試用例表。12/40word出其它的限制條件。在此,我們將三角形每邊邊長(zhǎng)的取X[1,100]。測(cè)試用例abc預(yù)期輸出Test160601等腰三角形Test260602等腰三角形Test3606060等邊三角形Test4505099等腰三角形Test55050100非三角形Test660160等腰三角形Test760260等腰三角形Test8509950等腰三角形13/40wordwordTest1016060等腰三角形Test1126060等腰三角形Test12995050等腰三角形Test131005050非三角形Test95010050非三角形NextDate函數(shù)的邊界值分析測(cè)試用例在NextDate函數(shù)中,隱含規(guī)定了變量mouth和變量dayX1≤mouth≤12和1≤day≤31,并設(shè)定變量yearTest95010050非三角形測(cè)試用例mouthdayyear預(yù)期輸出Test16151911Test26151912Test36151913Test46151975Test56152049Test66152050Test76152051Test86-12001day超出[1…31]Test9612001Test1062200114/40Test116302001Test126312001輸入日期超界Test136322001day超出[1…31]Test14-1152001Mouth超出[1…12]Test151152001Test162152001Test1711152001Test1812152001Test1913152001Mouth超出[1…12]錯(cuò)誤推斷法概念基于經(jīng)驗(yàn)和直覺推測(cè)程序中所有可能存在的各種錯(cuò)誤,從而有針對(duì)性的設(shè)計(jì)測(cè)試用例的方法。錯(cuò)誤推斷法的應(yīng)用根本思想:列舉出程序中所有可能有的錯(cuò)誤和容易發(fā)生錯(cuò)誤的特殊情況,根據(jù)他們選擇測(cè)試用例。例如,輸入數(shù)據(jù)和輸出數(shù)據(jù)為0容易發(fā)生錯(cuò)誤的情況??蛇x擇這些情況下的例子作為測(cè)試用例。例如,前面例子中成績(jī)報(bào)告的程序,采用錯(cuò)誤推測(cè)法還可補(bǔ)充設(shè)計(jì)一些測(cè)試用例:程序是否把空格作為回答在回答記錄中混有標(biāo)準(zhǔn)答案記錄除了標(biāo)題記錄外,還有一些的記錄最后一個(gè)字符即不是23有兩個(gè)學(xué)生的學(xué)號(hào)一樣15/40試題數(shù)是負(fù)數(shù)試的情況:輸入的線性表為空表;表中只含有一個(gè)元素;輸入表中所有元素已排好序;輸入表已按逆序排好;輸入表中局部或全部元素一樣。例如,測(cè)試手機(jī)終端的通話功能,可以設(shè)計(jì)各種通話失敗的情況來補(bǔ)充測(cè)試用例:SIM卡插入時(shí)進(jìn)展呼出〔非緊急呼叫〕SIM射頻器件損壞或無信號(hào)區(qū)域插入有效SIM網(wǎng)絡(luò)正常,插入有效SIM卡,呼出無效〔如1、888、333333、不輸入任何等〕網(wǎng)絡(luò)正常,插入有效SIM卡,使用“快速撥號(hào)〞功能呼出設(shè)置無效的數(shù)字因果圖法概念因果圖法是一種利用圖解法分析輸入的各種組合情況,從而設(shè)計(jì)測(cè)試用例的方法,它適合于檢查程序輸入條件的各種組合情況。等價(jià)類劃分法和邊界值分析方法都是著重考慮輸入條件,但沒有考慮輸入條件的各種組多個(gè)輸入條件組合起來可能出錯(cuò)的情況卻被無視了。等價(jià)類劃分法和邊界值分析方法都是著重考慮輸入條件,但沒有考慮輸入條件的各種組多個(gè)輸入條件組合起來可能出錯(cuò)的情況卻被無視了。須考慮采用一種適合于描述多種條件的組合、相應(yīng)產(chǎn)生多個(gè)動(dòng)作的形式來進(jìn)展測(cè)試用例的設(shè)計(jì),這就需要利用因果圖〔邏輯模型〕。因果圖介紹4416/40word稱原因〕,右結(jié)點(diǎn)表示輸出狀態(tài)〔或稱結(jié)果〕。C1表示原因,通常置于圖的左部;e1表示結(jié)果,通常在圖的右部。C1和e1均可取值01,01因果圖涉與的概念關(guān)系c11,e11;e10。c11,e10;e11?;颍杭僭O(shè)c1或c2或c3是1,如此e1是1;否如此e1為0。“或〞可有任意個(gè)輸入。與:假設(shè)c1和c2都是1,如此e1為1;否如此e1為0?!芭c〞也可有任意個(gè)輸入。約束不可能同時(shí)出現(xiàn)。輸出狀態(tài)之間也往往存在約束。在因果圖中,用特定的符號(hào)標(biāo)明這些約束。17/40word4Eab1,即ab1。I約束〔或〕:a、b和c中至少有一個(gè)必須是1,即a、b和c不能同時(shí)為0。Oab11。Ra1b1,即不可能a1b0。輸出條件約束類型輸出條件的約束只有M約束〔強(qiáng)制〕:假設(shè)結(jié)果a是1,如此結(jié)果b強(qiáng)制為0。采用因果圖法設(shè)計(jì)測(cè)試用例的步驟:果(即輸出條件),并給每個(gè)原因和結(jié)果賦予一個(gè)標(biāo)識(shí)符。系,根據(jù)這些關(guān)系,畫出因果圖。現(xiàn),為明確這些特殊情況,在因果圖上用一些記號(hào)明確約束或限制條件。18/40word把因果圖轉(zhuǎn)換為判定表。把判定表的每一列拿出來作為依據(jù),設(shè)計(jì)測(cè)試用例。實(shí)例某軟件規(guī)格說明書包含這樣的要求:第一列字符必須是A或B字,在此情況下進(jìn)展文件的修改,但如果第一列字符不正確,如此給出信息L;如果第二列字符不是數(shù)字,如此給出信息M。解答:1)根據(jù)題意,原因和結(jié)果如下:1)根據(jù)題意,原因和結(jié)果如下:原因:1——第一列字符是A;2——第一列字符是B;3——第二列字符是一數(shù)字。結(jié)果:21——修改文件;22——給出信息L;23——給出信息M。2)其對(duì)應(yīng)的因果圖如下:2)其對(duì)應(yīng)的因果圖如下:11為中間節(jié)點(diǎn);考慮到原因1和原因2不可能同時(shí)為1,因此在因果圖上施加E約束。19/40word3)根據(jù)因果圖建立判定表。表中8種情況的左面兩列情況中,原因①和原因②同時(shí)為1,這是不可能出現(xiàn)的,故應(yīng)排除這兩種情況。表的最下一欄給出了6種情況的測(cè)試用例,這是我們所需要的數(shù)據(jù)。有一個(gè)處理單價(jià)為5角錢的飲料的自動(dòng)售貨機(jī)軟件測(cè)試用例的設(shè)計(jì)。其規(guī)格說明如下:假設(shè)投入5角錢或1元錢的硬幣,押下〖橙汁〗或〖啤酒〗的按鈕,如此相應(yīng)的飲料就送出來。假設(shè)售貨機(jī)沒有零錢找,如此一個(gè)顯示〖零錢找完〗的紅燈亮,這時(shí)在投入1元硬幣并押下按鈕后,飲料不送出來而且1元硬幣也退出來;假設(shè)有零錢找,如此顯示〖零錢找完〗的紅燈滅,在送出飲料的同時(shí)退還5 原因:1——售貨機(jī)有零錢找2——投入1元硬幣20/40word3——投入5角硬幣5——.押下啤酒按鈕結(jié)果:21——售貨機(jī)〖零錢找完〗燈亮22——退還1元硬幣23——退還5角硬幣間結(jié)點(diǎn),表示處理的中間狀態(tài)。中間結(jié)點(diǎn):11——投入1元硬幣且押下飲料按鈕12——押下〖橙汁〗或〖啤酒〗的按鈕13——應(yīng)當(dāng)找5角零錢并且售貨機(jī)有零錢找14——錢已付清21/40word轉(zhuǎn)換成判定表:在判定表中,陰影局部表示因違反約束條件的不可能出現(xiàn)的情況,刪去。第16列與第32列因什么動(dòng)作也沒做,也刪去。最后可根據(jù)剩下的16列作為確定測(cè)試用例的依據(jù)。判定表驅(qū)動(dòng)法概念判定表是分析和表達(dá)多邏輯條件下執(zhí)行不同操作的情況的工具。判定表驅(qū)動(dòng)法判定表的優(yōu)點(diǎn)能夠?qū)?fù)雜的問題按照各種可能的情況全部列舉出來,簡(jiǎn)明并防止遺漏。因此,利用判定表能夠設(shè)計(jì)出完整的測(cè)試用例集合。在一些數(shù)據(jù)處理問題當(dāng)中,某些操作的實(shí)施依賴于多個(gè)邏輯條件的組合,即:針對(duì)不同邏輯條件的組合值,分別執(zhí)行不同的操作。判定表很適合于處理這類問題。1212345678覺得疲倦?YYYYNNNN問22/40word題 感興趣嗎?YYNNYYNN糊涂嗎?YNYNYNYN重讀√建議繼續(xù)跳下一章√√√休息√√√√判定表通常由四個(gè)局部組成如如下圖所示。條件樁〔ConditionStub〕:列出了問題得所有條件。通常認(rèn)為列出的條件的次序無關(guān)緊要。動(dòng)作樁〔ActionStub〕:列出了問題規(guī)定可能采取的操作。這些操作的排列順序沒有約束。條件項(xiàng)〔ConditionEntry〕:列出針對(duì)它左列條件的取值。在所有可能情況下的真假值。動(dòng)作項(xiàng)〔ActionEntry〕:列出在條件項(xiàng)的各種取值情況下應(yīng)該采取的動(dòng)作。規(guī)如此與規(guī)如此合并表中貫穿條件項(xiàng)和動(dòng)作項(xiàng)的一列就是一條規(guī)如此。顯然,判定表中列出多少組條件取值,也就有多少條規(guī)如此,既條件項(xiàng)和動(dòng)作項(xiàng)有多少列。在著極為相似的關(guān)系。規(guī)如此與規(guī)如此合并舉例23/40word如如下圖左端,兩規(guī)如此動(dòng)作項(xiàng)一樣,條件項(xiàng)類似,在1、2條件項(xiàng)分別取Y、時(shí),無論條件3取何值,都執(zhí)行同一操作。即要執(zhí)行的動(dòng)作與條件3無關(guān)。于是可合并?!埃暠硎九c取值無關(guān)。規(guī)如此可合并。24/40word3)化簡(jiǎn)后的讀書指南判定表1234你覺得疲倦嗎?--YN問題 你對(duì)內(nèi)容感興趣嗎?書中內(nèi)容使你胡涂嗎?YYYNNN- -25/40word請(qǐng)回到本章開頭重x讀繼續(xù)讀下去X建議跳到下一章去讀x停止閱讀,請(qǐng)休息x判定表的建立步驟:〔根據(jù)軟件規(guī)格說明〕確定規(guī)如此的個(gè)數(shù).假設(shè)有n個(gè)條件。每個(gè)條件有兩個(gè)取值〔0,1〕,故有2n種規(guī)如此。列出所有的條件樁和動(dòng)作樁。填入條件項(xiàng)。填入動(dòng)作項(xiàng)。等到初始判定表。簡(jiǎn)化.合并相似規(guī)如此〔一樣動(dòng)作〕。實(shí)例問題要求:〞……對(duì)功率大于50馬力的機(jī)器、維修記錄不全或已運(yùn)行10年以上的機(jī)器,應(yīng)給予優(yōu)先的維修處理……〞。這里假定,“維修記錄不全〞和“優(yōu)先維修處理〞均已在別處有更嚴(yán)格的定義。請(qǐng)建立判定表。解答:確定規(guī)如此的個(gè)數(shù):這里有3個(gè)條件,每個(gè)條件有兩個(gè)取值,故應(yīng)有2*2*2=8種規(guī)如此。列出所有的條件茬和動(dòng)作樁:26/40wordword填入條件項(xiàng)??蓮淖詈?行條件項(xiàng)開始,逐行向上填滿。如第三行是:YNYYNYN,第二行是:YYNNYYNN等等。條件條件動(dòng)作12345678功率大于50馬力嗎?NYYYNNNN維修記錄不全嗎?YYNNYYNN運(yùn)行超過10年嗎?YNYNYNYN進(jìn)展優(yōu)先處理xxXXX作其他處理Xxx初始判定表初始判定表化簡(jiǎn),合并相似規(guī)如此后得到圖。條件維修記錄不全嗎?YNN--運(yùn)行超過10年-YNYN12312345功率大于50馬力YYYNN嗎?嗎?進(jìn)展優(yōu)先處理xxX動(dòng)作作其他處理xx27/40M1={月份,每月有30M1={月份,每月有30天}M2={月份,每月有31天}M3={月份,2月} 有29=512條規(guī)如此D1={日期,1~28} 12月末31日和其它31D2={日期,29} 日月份的31日處理不同D3={日期,30} 平年2月28日處理不同D4={日期,31} 于2月27Y1={年:年是閏年}Y2={年:年不是閏年}改良為:M1={月份:每月有30天}M2={月份:每月有31天,12月除外}M4={月份:12月}M3={月份:2月}D1={日期:1<=日期<=27}D2={日期:28}D3={D4={Y1={年:年是閏年}Y2={年:年不是閏年}輸入變量間存在大量邏輯關(guān)系的NextData決策表28/40word用決策表測(cè)試法測(cè)試以下程序:該程序有三個(gè)輸入變量month、day、year〔month、day和year均為整數(shù)值,并且滿足:1≤month≤12和1≤day≤31〕,分別作為輸入日期的月份、日、年份,通過程序可以輸出該輸入日期在日歷上隔一天的日期。例如,輸入為2004年11月29日,如此該程序的輸出為2000年12月1日。分析各種輸入情況,列出為輸入變量month、day、year劃分的有效等價(jià)類。分析程序規(guī)格說明,結(jié)合以上等價(jià)類劃分的情況給出問題規(guī)定的可能采取的操作〔即列出所有的動(dòng)作樁〕。根據(jù)〔1〕和〔2案例分析如下:monthM1:{month=4,6,9,11}M2:{month=1,3,5,7,8,10}M3:{month=12}M4:{month=2}dayD1:{1≤day≤26}D2:{day=27}D3:{day=28} D4:{day=29}D5:{day=30}D6:{day=31}yearY1:{year是閏年}Y2:{year不是閏年}29/40worda1:day+2a2:day=2a3:day=1a4:month+1a5:month=1a6:year+1判定表在功能測(cè)試中的應(yīng)用成為一個(gè)不錯(cuò)的工具。如果一個(gè)軟件的規(guī)格說明指出:當(dāng)條件1和條件2滿足,并且條件3和條件4不滿足,或者當(dāng)條件1、3和條件41。在任一個(gè)條件都不滿足時(shí),要執(zhí)行操作2。在條件1不滿足,而條件4被滿足時(shí),要執(zhí)行操作3定表:這里,判定表只給出了16種規(guī)如此中的8種。事實(shí)上,除這8條以外的一些規(guī)如此是指當(dāng)不能滿足指定的條件,執(zhí)行3種操作時(shí),要執(zhí)行1個(gè)默許的操作。在沒必要時(shí),判定表通??陕匀ミ@些規(guī)如此。但如果用判定表來設(shè)計(jì)測(cè)試用例,就必須列出這些默許規(guī)如此〔如下表〕。規(guī)如此規(guī)如此6規(guī)如此7規(guī)如此58條件1-NYY條件2-YYN30/40wordword條件3條件3YNNN條件4NNY-默許操作xxxx默許的規(guī)如此判定表的優(yōu)點(diǎn)和缺點(diǎn)優(yōu)點(diǎn):它能把復(fù)雜的問題按各種可能的情況一一列舉出來,簡(jiǎn)明而易于理解,也可防止遺漏。優(yōu)點(diǎn):它能把復(fù)雜的問題按各種可能的情況一一列舉出來,簡(jiǎn)明而易于理解,也可防止遺漏。缺點(diǎn):不能表達(dá)重復(fù)執(zhí)行的動(dòng)作,例如循環(huán)結(jié)構(gòu)。B.Beizer指出了適合使用判定表設(shè)計(jì)測(cè)試用例的條件:規(guī)格說明以判定表形式給出,或很容易轉(zhuǎn)換成判定表。規(guī)格說明以判定表形式給出,或很容易轉(zhuǎn)換成判定表。條件的排列順序不會(huì)也不影響執(zhí)行哪些操作。規(guī)如此的排列順序不會(huì)也不影響執(zhí)行哪些操作。每當(dāng)某一規(guī)如此的條件已經(jīng)滿足,并確定要執(zhí)行的操作后,不必檢驗(yàn)別的規(guī)如此。如果某一規(guī)如此得到滿足要執(zhí)行多個(gè)操作,這些操作的執(zhí)行順序無關(guān)緊要。B.Beizer提出這5個(gè)必要條件的目的是為了使操作的執(zhí)行完全依賴于條件的組合。其實(shí)對(duì)于某些不滿足這幾條的判定表,同樣可以借以設(shè)計(jì)測(cè)試用例,只不過尚需增加其它的測(cè)試用例罷了。正交試驗(yàn)法概念依據(jù)Galois理論,從大量的〔實(shí)驗(yàn)〕數(shù)據(jù)〔測(cè)試?yán)持刑暨x適量的,有代表性的點(diǎn)〔例〕,從而合理地安排實(shí)驗(yàn)〔測(cè)試〕的一種科學(xué)實(shí)驗(yàn)設(shè)計(jì)方法.類似的方法有:聚類分析方法,因子方法方法等.正交試驗(yàn)法利用因果圖來設(shè)計(jì)測(cè)試用例時(shí),作為輸入條件的原因與輸出結(jié)果之間的因果關(guān)系,有時(shí)很難從軟件需求規(guī)格說明中得到。往往因果關(guān)系非常龐大,以至于據(jù)此因果圖而得到的測(cè)試用例數(shù)目31/40利用正交實(shí)驗(yàn)設(shè)計(jì)測(cè)試用例的步驟:多的驚人,給軟件測(cè)試帶來沉重的負(fù)擔(dān),為了有效地,合理地減少測(cè)試的工時(shí)與費(fèi)用,可利用正交實(shí)驗(yàn)設(shè)計(jì)方法進(jìn)展測(cè)試用例的設(shè)計(jì)。利用正交實(shí)驗(yàn)設(shè)計(jì)測(cè)試用例的步驟:1.提取功能說明,構(gòu)造因子--狀態(tài)表把影響實(shí)驗(yàn)指標(biāo)的條件稱為因子.而影響實(shí)驗(yàn)因子的條件叫因子的狀態(tài).利用正交實(shí)驗(yàn)設(shè)計(jì)方法來設(shè)計(jì)測(cè)試用例時(shí),首先要根據(jù)被測(cè)試軟件的規(guī)格說明書找出影響其功能實(shí)現(xiàn)的操作提取功能說明,構(gòu)造因子--狀態(tài)表把影響實(shí)驗(yàn)指標(biāo)的條件稱為因子.而影響實(shí)驗(yàn)因子的條件叫因子的狀態(tài).利用正交實(shí)驗(yàn)設(shè)計(jì)方法來設(shè)計(jì)測(cè)試用例時(shí),首先要根據(jù)被測(cè)試軟件的規(guī)格說明書找出影響其功能實(shí)現(xiàn)的操作能要求進(jìn)展劃分,把整體的概要性的功能要求進(jìn)展層層分解與展開,分解成具體的有相對(duì)獨(dú)立性的根本的功能要求.這樣就可以把被測(cè)試軟件中所有的因子都確定下來,并為確定個(gè)因子的權(quán)值提供參考的依據(jù).確定因子與狀態(tài)是設(shè)計(jì)測(cè)試用例的關(guān)鍵.因此要求盡可能全面的正確確實(shí)定取值,以確保測(cè)試用例的設(shè)計(jì)作到完整與有效。加權(quán)篩選,生成因素分析表對(duì)因子與狀態(tài)的選擇可按其重要程度分別加權(quán).可根據(jù)各個(gè)因子與狀態(tài)的作用大小,出現(xiàn)頻率的大小以與測(cè)試的需要,確定權(quán)值的大小。利用正交表構(gòu)造測(cè)試數(shù)據(jù)集正交表的推導(dǎo)依據(jù)Galois理論〔這里省略,需要時(shí)可查數(shù)理統(tǒng)計(jì)方面的教材〕。利用正交表構(gòu)造測(cè)試數(shù)據(jù)集正交表的推導(dǎo)依據(jù)Galois理論〔這里省略,需要時(shí)可查數(shù)理統(tǒng)計(jì)方面的教材〕。利用正交實(shí)驗(yàn)設(shè)計(jì)方法設(shè)計(jì)測(cè)試用例,比使用等價(jià)類劃分,邊界值分析,因果圖等方法有以下優(yōu)點(diǎn):節(jié)省測(cè)試工作工時(shí);可控制生成的測(cè)試用例數(shù)量;測(cè)試用例具有一定的覆蓋率。利用正交實(shí)驗(yàn)設(shè)計(jì)方法設(shè)計(jì)測(cè)試用例,比使用等價(jià)類劃分,邊界值分析,因果圖等方法有以下優(yōu)點(diǎn):節(jié)省測(cè)試工作工時(shí);可控制生成的測(cè)試用例數(shù)量;測(cè)試用例具有一定的覆蓋率。功能圖法概念功能圖由狀態(tài)遷移圖和布爾函數(shù)組成.狀態(tài)遷移圖用狀態(tài)和遷移來描述.一個(gè)狀態(tài)指出數(shù)據(jù)輸入的位置〔或時(shí)間〕,而遷移如此指明狀態(tài)的改變.同時(shí)要依靠判定表或因果圖表示的邏輯功能.例,一個(gè)簡(jiǎn)化的自動(dòng)出納機(jī)ATM的功能圖。功能圖由狀態(tài)遷移圖和布爾函數(shù)組成.狀態(tài)遷移圖用狀態(tài)和遷移來描述.一個(gè)狀態(tài)指出數(shù)據(jù)輸入的位置〔或時(shí)間〕,而遷移如此指明狀態(tài)的改變.同時(shí)要依靠判定表或因果圖表示的邏輯功能.例,一個(gè)簡(jiǎn)化的自動(dòng)出納機(jī)ATM的功能圖。功能圖法的應(yīng)用1.1.功能圖介紹一個(gè)程序的功能說明通常由動(dòng)態(tài)說明和靜態(tài)說明組成.動(dòng)態(tài)說明描述了輸入數(shù)據(jù)的次序或轉(zhuǎn)移的次序.一個(gè)程序的功能說明通常由動(dòng)態(tài)說明和靜態(tài)說明組成.動(dòng)態(tài)說明描述了輸入數(shù)據(jù)的次序或轉(zhuǎn)移的次序.32/40靜態(tài)說明描述了輸入條件與輸出條件之間的對(duì)應(yīng)關(guān)系.對(duì)于較復(fù)雜的程序,由于存在大量的靜態(tài)說明描述了輸入條件與輸出條件之間的對(duì)應(yīng)關(guān)系.對(duì)于較復(fù)雜的程序,由于存在大量的FD形式化地表示程序的功能說明,并機(jī)械地生成功能圖的測(cè)試用例.。的,以區(qū)別與白盒測(cè)試中的程序內(nèi)部的.〕2.2.測(cè)試用例生成方法從功能圖生成測(cè)試用例,得到的測(cè)試用例數(shù)是可承受的.問題的關(guān)鍵的是如何從狀態(tài)遷移圖中選取測(cè)試用例.假設(shè)用節(jié)點(diǎn)代替狀態(tài),用弧線代替遷移,如此狀態(tài)遷移圖就可轉(zhuǎn)化成一個(gè)程序的控制流程圖形式.問題就轉(zhuǎn)化為程序的路徑測(cè)試問題〔如白盒測(cè)試〕問題了.從功能圖生成測(cè)試用例,得到的測(cè)試用例數(shù)是可承受的.問題的關(guān)鍵的是如何從狀態(tài)遷移圖中選取測(cè)試用例.假設(shè)用節(jié)點(diǎn)代替狀態(tài),用弧線代替遷移,如此狀態(tài)遷移圖就可轉(zhuǎn)化成一個(gè)程序的控制流程圖形式.問題就轉(zhuǎn)化為程序的路徑測(cè)試問題〔如白盒測(cè)試〕問題了.3.3.測(cè)試用例生成規(guī)如此為了把狀態(tài)遷移〔測(cè)試路徑〕的測(cè)試用例與邏輯模型〔局部測(cè)試用例〕的測(cè)試用例組合起來,從功能圖生成實(shí)用的測(cè)試用例,須定義下面的規(guī)如此.在一個(gè)結(jié)構(gòu)化的狀態(tài)遷移〔SST為了把狀態(tài)遷移〔測(cè)試路徑〕的測(cè)試用例與邏輯模型〔局部測(cè)試用例〕的測(cè)試用例組合起來,從功能圖生成實(shí)用的測(cè)試用例,須定義下面的規(guī)如此.在一個(gè)結(jié)構(gòu)化的狀態(tài)遷移〔SST4.4.從功能圖生成測(cè)試用例的過程值〔輸入數(shù)據(jù)〕組合與對(duì)應(yīng)的結(jié)果值〔輸出數(shù)據(jù)或狀態(tài)〕構(gòu)成。徑。態(tài)到最后狀態(tài)的一個(gè)狀態(tài)序列,以與每個(gè)狀態(tài)中輸入數(shù)據(jù)與對(duì)應(yīng)輸出數(shù)據(jù)的組合。5.測(cè)試用例的合成算法:采用條件構(gòu)造樹.場(chǎng)景法概念33/40word現(xiàn)在的軟件幾乎都是用事件觸發(fā)來控制流程的,事件觸發(fā)時(shí)的情景便形成了場(chǎng)景,而同一測(cè)試用例更容易理解和執(zhí)行。場(chǎng)景法的應(yīng)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論