5.1測(cè)試設(shè)計(jì)與測(cè)試用例
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?破刀式—軟件測(cè)試設(shè)計(jì)
5.1.1測(cè)試設(shè)計(jì)
定義:
? ? ? 測(cè)試設(shè)計(jì)是將概括的測(cè)試目標(biāo)轉(zhuǎn)化為具體的測(cè)試條件和測(cè)試用例的一系列活動(dòng)低千。
5.1.2測(cè)試分析和設(shè)計(jì)的主要內(nèi)容
①評(píng)審測(cè)試依據(jù)(需求,系統(tǒng)架構(gòu)享怀、設(shè)計(jì)和接口說(shuō)明)禀崖。
②評(píng)估測(cè)試依據(jù)和測(cè)試對(duì)象的可靠性谈截。
③通過(guò)對(duì)測(cè)試項(xiàng)氧骤、規(guī)格說(shuō)明、測(cè)試對(duì)象行為和結(jié)構(gòu)的分析适贸,識(shí)別測(cè)試條件并確定優(yōu)先級(jí)黎侈。
④設(shè)計(jì)測(cè)試用例察署,并確定優(yōu)先級(jí)
⑤確定測(cè)試條件和測(cè)試用例所需要的必要的測(cè)試數(shù)據(jù)。
5.1.3確定測(cè)試條件
①依據(jù)在測(cè)試策略或測(cè)試計(jì)劃中確定的測(cè)試技術(shù)峻汉。
②通過(guò)對(duì)測(cè)試依據(jù)和測(cè)試目標(biāo)的分析贴汪,可以確定需要測(cè)試的內(nèi)容,獲得測(cè)試條件休吠。
5.1.4測(cè)試用例
定義:
? ? ? ?測(cè)試用例是通過(guò)使用在測(cè)試計(jì)劃中確定的測(cè)試技術(shù)扳埂,對(duì)于已確定的測(cè)試條件進(jìn)行逐步推敲,精煉而設(shè)計(jì)出來(lái)的重點(diǎn)說(shuō)明如何具體操作產(chǎn)生何種結(jié)果的文檔瘤礁。(指引我們測(cè)試的文檔)
測(cè)試用例的前提條件(要求):
? ? ? 測(cè)試用例應(yīng)該具有可重復(fù)性阳懂、可驗(yàn)證性和需求可追蹤性。
5.1.5測(cè)試用例設(shè)計(jì)包括以下關(guān)鍵點(diǎn)
①前提條件柜思,如項(xiàng)目或局部測(cè)試環(huán)境的需求岩调,及其交付計(jì)劃。
②測(cè)試步驟赡盘。
③測(cè)試數(shù)據(jù)号枕。
④預(yù)期結(jié)果。
5.1.6測(cè)試用例案例
5.2等價(jià)類劃分的特點(diǎn)—掌握特點(diǎn)陨享,隨處用
例子:測(cè)試一個(gè)兩位數(shù)的加法計(jì)算器
測(cè)試需求:
①測(cè)試兩個(gè)參數(shù)的值相加后的結(jié)果是否正確
②期中:輸入的數(shù)值在-99到99之間葱淳,大于99或小于-99的輸入應(yīng)該被拒絕钝腺,并顯示錯(cuò)誤信息。
根據(jù)測(cè)試需求赞厕,我們開(kāi)始測(cè)試:
①分別給第一個(gè)參數(shù)和第二個(gè)參數(shù)輸入表中的值艳狐,得到的測(cè)試加過(guò)如表所示:
②如果我們對(duì)第一個(gè)參數(shù)的值分別取從-99到99的199個(gè)數(shù),第二個(gè)參數(shù)的值分別取從-99到99的199個(gè)數(shù)皿桑,我們不可能對(duì)兩位數(shù)相加的所有情況進(jìn)行窮舉測(cè)試僵驰。
③如果不能進(jìn)行窮舉測(cè)試,我們將面臨以下的問(wèn)題:
? ? ? ? ?在測(cè)試了1+1唁毒,1+2,1+(-1)和1+(-2)之后,還是否有必要測(cè)試1+3,1+4呢星爪?
? ? ? ? 如果不對(duì)加法計(jì)算器程序進(jìn)行窮舉測(cè)試浆西,是否放心的認(rèn)為所有的參數(shù)組合都是正確的呢?
對(duì)于以上兩個(gè)問(wèn)題,我們可以采用等價(jià)類劃分法來(lái)進(jìn)行解決顽腾。
5.2.1等價(jià)類劃分法
①等價(jià)類劃分的辦法就是把程序的輸入域劃分成若干部分近零。
②從每個(gè)部分中選取少數(shù)代表性數(shù)據(jù)當(dāng)做測(cè)試用例。
③每一類的代表性數(shù)據(jù)在測(cè)試中的作用等價(jià)于這一類中的其他值抄肖。
④也就是說(shuō)久信,如果某一類中的一個(gè)例子發(fā)現(xiàn)了錯(cuò)誤,這一等價(jià)類中的其他例子也能發(fā)現(xiàn)同樣的錯(cuò)誤漓摩。
⑤繁殖裙士,如果某一類中的例子沒(méi)有發(fā)現(xiàn)錯(cuò)誤,則這一等價(jià)類中的其他例子也不會(huì)發(fā)現(xiàn)錯(cuò)誤管毙。
5.2.2等價(jià)類劃分的原則
①如果輸入條件規(guī)定了取值范圍或值的個(gè)數(shù)腿椎,則可確定一個(gè)有效等價(jià)類和兩個(gè)無(wú)效等價(jià)類。
②如果一個(gè)輸入條件說(shuō)明了一個(gè)“必須成立”的情況夭咬,則可劃分一個(gè)有效等價(jià)類和一個(gè)無(wú)效等價(jià)類啃炸。
③如果輸入條件規(guī)定了輸入數(shù)據(jù)的一組可能的值,而且程序使用不同的方式處理每一種值卓舵,則可為每一種值劃分一個(gè)有效等價(jià)類南用,并劃分一個(gè)無(wú)效等價(jià)類。
④如果我們確定掏湾,已劃分的某等價(jià)類中的各元素(例子)在程序中的處理方式是不同的裹虫,則應(yīng)據(jù)此將此等價(jià)類進(jìn)一步劃分成更小的等價(jià)類。
⑤在確定了等價(jià)類之后融击,建立等價(jià)類表恒界,列出所有劃分出的等價(jià)類。
5.2.3基于等價(jià)類劃分的用例設(shè)計(jì)
①明確測(cè)試對(duì)象砚嘴,非測(cè)試對(duì)象保證正確十酣。
②為每個(gè)等價(jià)類規(guī)定一個(gè)唯一的編號(hào)涩拙。
③設(shè)計(jì)一個(gè)測(cè)試用例,使其盡可能多的覆蓋尚未覆蓋的有效等價(jià)類耸采。重復(fù)這一步兴泥,最后使得所有有效等價(jià)類均被測(cè)試用例所覆蓋。
④設(shè)計(jì)一個(gè)新的測(cè)試用例虾宇,使其只覆蓋一個(gè)無(wú)效等價(jià)類搓彻。重復(fù)這一步使所有的無(wú)效等價(jià)類均被覆蓋。
5.2.4等價(jià)類劃分實(shí)戰(zhàn)
例子是前面的加法計(jì)算機(jī)
STEP1:根據(jù)測(cè)試需求可以劃分為三個(gè)等價(jià)類:
①一個(gè)有效數(shù)據(jù)等價(jià)類嘱朽,兩個(gè)無(wú)效數(shù)據(jù)等價(jià)類旭贬。
有效數(shù)據(jù)等價(jià)類就是:由那些對(duì)程序的規(guī)格說(shuō)明有意義的、合理的輸入數(shù)據(jù)所構(gòu)成的集合搪泳。
無(wú)效數(shù)據(jù)等價(jià)類就是:那些對(duì)程序的規(guī)格說(shuō)明不合理的或無(wú)意義的輸入數(shù)據(jù)所構(gòu)成的集合稀轨。
STEP2:建立等價(jià)類表:
? ? ? ?在實(shí)際工作中,我們通常在確立了等價(jià)類以后岸军,把程序中所有的等價(jià)類建立等價(jià)類表奋刽,一遍在編寫測(cè)試用例的時(shí)候有所依據(jù)。
STEP3:確定測(cè)試用例:
①為等價(jià)類表中的每一個(gè)等價(jià)類分配一個(gè)唯一的編號(hào)艰赞。
②設(shè)計(jì)一個(gè)新的測(cè)試用例佣谐,使他能夠盡量覆蓋尚未未覆蓋的有效等價(jià)類。
③重復(fù)這一步驟方妖,從而使所有有效等價(jià)類均被測(cè)試用例所覆蓋狭魂。
④與上述類似,設(shè)計(jì)一個(gè)新的測(cè)試用例党觅,使它只覆蓋一個(gè)無(wú)效等價(jià)類趁蕊。
⑤重復(fù)這一步驟,從而使所有無(wú)效等價(jià)類均被測(cè)試用例所覆蓋仔役。
STEP4:細(xì)化等價(jià)類劃分:
①在測(cè)試“-99≤數(shù)值99”的這個(gè)等價(jià)類區(qū)間的時(shí)候掷伙,我們會(huì)發(fā)現(xiàn)如10+40,-20+30和-30+(-30)這類的正數(shù)相加又兵,正數(shù)負(fù)數(shù)相加任柜,負(fù)數(shù)相加也是不同的等價(jià)區(qū)間。因此我們可以使用更多的等價(jià)類劃分沛厨。
②根據(jù)以上等價(jià)類劃分的加過(guò)宙地,得出下表的等價(jià)類表:
STEP5:完善測(cè)試用例:
根據(jù)上面劃分的4個(gè)等價(jià)類,我們至少需要有5個(gè)測(cè)試用例:
5.3等價(jià)類劃分法的原則—最常用最實(shí)用的方法
5.3.1等價(jià)類的特點(diǎn)
①測(cè)試相同的內(nèi)容逆皮。
②如果等價(jià)類中的一個(gè)測(cè)試能夠獲取一個(gè)缺陷宅粥,那么選擇該等價(jià)類中的其他測(cè)試也能獲取該缺陷。
③如果等價(jià)類中的一個(gè)測(cè)試不能獲取缺陷电谣,那么選擇該等價(jià)類中的其他測(cè)試也不能獲取缺陷秽梅。
④如果正確的花粉都能加了抹蚀,可以大大降低測(cè)試用例的數(shù)量,測(cè)試會(huì)準(zhǔn)確有效企垦。
⑤如果錯(cuò)誤的將兩個(gè)不同的等價(jià)類當(dāng)作一個(gè)等價(jià)類环壤,那就會(huì)遺漏一種測(cè)試情況。
⑥相反的钞诡,把同一個(gè)等價(jià)類看作了兩個(gè)不同的等價(jià)類郑现,那么測(cè)試就會(huì)是冗余的。
5.3.2等價(jià)類劃分要注意的問(wèn)題
①不但要考慮有效等價(jià)類荧降,也要考慮無(wú)效等價(jià)類接箫。
②仔細(xì)劃分,審查劃分朵诫。
③過(guò)于粗略可能會(huì)漏掉軟件缺陷辛友。
⑤組織評(píng)審。
5.3.3等價(jià)類用例設(shè)計(jì)練習(xí)
測(cè)試需求:
①余額寶體現(xiàn)到銀行卡增加新規(guī)則:快速到賬(2小時(shí))日限額1W元拗窃。
②超過(guò)1W元只能選擇普通到賬。
③按照等價(jià)類劃分方法設(shè)計(jì)測(cè)試用例泌辫。
分析過(guò)程:
①設(shè)計(jì)用例:
②細(xì)致分析需求随夸,日限額1W,所以要區(qū)分兩個(gè)場(chǎng)景:
5.4邊界值法—不怕測(cè)不全的方法
5.4.1邊界值分析法
定義:
? ? ? ?邊界值分析法是一種補(bǔ)充等價(jià)劃分的測(cè)試用例設(shè)計(jì)技術(shù),它不是選擇等價(jià)類的任意元素震放,而是選擇等價(jià)類便捷的測(cè)試用例宾毒。
? ? ? ?實(shí)踐證明,在設(shè)計(jì)測(cè)試用例時(shí)殿遂,對(duì)邊界附近的處理必給予足夠的重視诈铛,為檢驗(yàn)便捷附近的處理專門設(shè)計(jì)測(cè)試用例,常常去的良好的測(cè)試效果墨礁。
? ? ? 邊界值分析法不僅重視輸入條件邊界幢竹,而且也從輸出域?qū)С鰷y(cè)試用例。
5.4.2邊界值設(shè)計(jì)的原則
邊界值用例:
? ? ? ? 如果輸入條件規(guī)定了取值范圍恩静,應(yīng)以該范圍的邊界內(nèi)及剛剛超范圍的邊界外的值作為測(cè)試用例焕毫。
eg1:以a和b為邊界,測(cè)試用例應(yīng)當(dāng)包含a和b以及略大于a和略小于b的值驶乾。
eg2:根據(jù)以上計(jì)算器的例子邑飒,根據(jù)邊界值分析的方法來(lái)看看如何對(duì)邊界值進(jìn)行測(cè)試:
? ? ? ? 由于允許輸入的額數(shù)值在-99到99之間,所以我們可以把-99和99看做兩個(gè)邊界值级乐。我們測(cè)試的時(shí)候可以去臨近邊界值的數(shù)值和邊界值本身作為輸入:
eg3:余額寶體現(xiàn)到一囊卡增加新規(guī)則:快速到賬(2小時(shí))日限額1W元:
5.5因果圖與判定表—不用多但很重要
? ? ? ?等價(jià)類劃分法和邊界值分析方法都是著重考慮輸入條件而不考慮輸入條件的個(gè)各種組合疙咸、輸入條件之間的相互制約關(guān)系。
? ? ? ?如果在測(cè)試時(shí)必須考慮輸入條件的各種組合风科,則可能的組合數(shù)目將是天文數(shù)字撒轮;因此必須考慮采用一種適合于描述多種條件的組合乞旦、產(chǎn)生多個(gè)相應(yīng)動(dòng)作的測(cè)試方法,這就需要利用因果圖(邏輯模型)腔召。
5.5.1因果圖—判定表
? ? ? ?因果圖法基于這樣的思想:一些程序的功能可以用決策表的形式來(lái)表示杆查,并根據(jù)輸入條件的組合情況規(guī)定相應(yīng)的操作;因此臀蛛,可以考慮為決策表中的每一列設(shè)計(jì)一個(gè)測(cè)試用例亲桦,以便測(cè)試程序早輸入條件的某種組合下的輸出是否正確。
? ? ? 概括的說(shuō)浊仆,因果圖方法就是從程序規(guī)格說(shuō)明書的描述中找出因(輸入條件)和果(輸出結(jié)果或程序狀態(tài)的改變)客峭。將因果圖轉(zhuǎn)換為判定表,為決策表中的每一列設(shè)計(jì)一個(gè)測(cè)試用例抡柿。這種方法考慮到了輸入情況的各種組合以及各個(gè)輸入情況之間的相互制約關(guān)系舔琅。
5.5.2判定表
定義:
? ? ? 判定表(Decision Table)是分析和表達(dá)多邏輯條件下執(zhí)行不同操作的工具。是編寫程序的輔助工具洲劣,可以把復(fù)雜的邏輯關(guān)系和多種條件組合的情況表達(dá)得及具體又明確备蚓。
判定表通常由四個(gè)部分組成:
①條件樁(Condition? Stub):列出了問(wèn)題的所有條件,通常認(rèn)為列出的條件的次序無(wú)關(guān)緊要囱稽。
②動(dòng)作樁(Action Stub):列出了問(wèn)題規(guī)定可能采取的操作郊尝,這些操作的排列順序沒(méi)有約束。
③條件項(xiàng)(Confition? Entry):列出針對(duì)它左列條件的取值战惊,在所有可能情況下的真假值流昏。
④動(dòng)作項(xiàng)(Action? Entry ):列出在條件項(xiàng)的各種取值取值情況下應(yīng)該采取的動(dòng)作。
5.5.3設(shè)計(jì)步驟
①分析軟件規(guī)格說(shuō)明中哪些是原因(即輸入條件或輸出條件的等價(jià)類)吞获,哪些是結(jié)果(即輸出條件)况凉,并給每個(gè)原因和結(jié)果賦予一個(gè)標(biāo)識(shí)符。
②分析軟件規(guī)格說(shuō)明中語(yǔ)義的內(nèi)容各拷,找出原因與結(jié)果之間刁绒、原因與原因之間的對(duì)應(yīng)關(guān)系,根據(jù)這些關(guān)系畫出因果圖烤黍。
③由于語(yǔ)法或環(huán)境的限制膛锭,有些原因和原因之間、原因和結(jié)果之間的組合情況不可能出現(xiàn)蚊荣。為表名這些特定的情況初狰,在因果圖上使用一些記號(hào)表名約束或限制條件。
④把因果圖轉(zhuǎn)換為判定表互例。
⑤根據(jù)判定表中的每一列設(shè)計(jì)測(cè)試用例奢入。
5.5.4實(shí)戰(zhàn)
eg:使用因果圖+判定表設(shè)計(jì)測(cè)試用例測(cè)試兩位數(shù)計(jì)算器。
1、分析輸入條件和輸出條件
①輸入1:? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ②輸入2:
條件1:0≤X≤99? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 條件1:0≤X≤99? ??
條件2:-99≤X<0? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??條件2:-99≤X<0
條件3:X<-99? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??條件3:X<-99
條件4:X>99? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?條件4:X>99
輸出:
正確計(jì)算
錯(cuò)誤提示
2腥光、分析條件互斥
輸入1:
? ? ?1关顷、2、3武福、4互斥
輸入2:
? ? 1议双、2、3捉片、4互斥
輸出:
輸出結(jié)果正確和錯(cuò)誤互斥
3平痰、分析、簡(jiǎn)化并畫出判定表
得到的測(cè)試用例:
5.6正交實(shí)驗(yàn)法—特殊場(chǎng)景必用
定義:
? ? ? ?正交實(shí)驗(yàn)設(shè)計(jì)法(Orthogonal experimental design),是從大量的試驗(yàn)點(diǎn)中挑選出適量的伍纫、有代表性的點(diǎn)宗雇,應(yīng)用依據(jù)伽羅卡瓦理論導(dǎo)出的“正交表”,合理的安排試驗(yàn)的一種科學(xué)的試驗(yàn)設(shè)計(jì)方法莹规。
5.6.1正交實(shí)驗(yàn)法設(shè)計(jì)步驟
1赔蒲、提取功能說(shuō)明,構(gòu)造因子—狀態(tài)表
2良漱、加權(quán)篩選舞虱,生成因素分析表
? ? ? ?計(jì)算個(gè)因子和狀態(tài)的權(quán)值,刪去一部分權(quán)值較小母市,即重要性比較小的因子或狀態(tài)矾兜,使最后生成的測(cè)試用例集縮減到允許的范圍。
3窒篱、利用正交表構(gòu)造測(cè)試數(shù)據(jù)集
? ① 如果每個(gè)因子的狀態(tài)樹(shù)是不統(tǒng)一的焕刮,幾乎不可能出現(xiàn)均勻的情況舶沿,必須首先用邏輯命令來(lái)組織個(gè)因子的狀態(tài)墙杯,作出布爾圖。
②根據(jù)布爾圖得到相應(yīng)結(jié)束的正交表括荡。
③依照因果圖上根節(jié)點(diǎn)到葉子節(jié)點(diǎn)的順序逐步替換正交表上的中間節(jié)點(diǎn)高镐,得到最終的正交表。
4畸冲、利用正交表每行數(shù)據(jù)構(gòu)造測(cè)試用例
正交表:
正交表的表示形式:Ln(t^c)其中:L為正交表的代號(hào)嫉髓,n為行數(shù)(試驗(yàn)行數(shù)),t為水平數(shù)邑闲,c為列數(shù)(因素?cái)?shù))算行。
eg:L4(2^3),它表示需做四次實(shí)驗(yàn)苫耸,最多可觀察3個(gè)因素州邢,每個(gè)因素均為2水平:
1:正確
2:錯(cuò)誤
eg:一個(gè)正交表中也可以割裂的水平數(shù)不相等,我們稱它為混合型正交表褪子,如L8(2^4 4^1):
根據(jù)正交表的數(shù)據(jù)結(jié)構(gòu)可以看出吧量淌,正交表是一個(gè)n行c列的表骗村,其中第j行由數(shù)碼1,2,....tj組成呀枢,這些數(shù)碼均各出現(xiàn)n/t次胚股。
第二列的數(shù)碼個(gè)數(shù)為2,t=2裙秋,即由1琅拌、組成,各數(shù)碼均出現(xiàn)2次残吩。
5.6.2如何查找正交表
1财忽、Technical Support (support.saa.com)
http://support.sas.com/techsup/technote/ts723_Designs.txt
2、查Dr.GenichiTaguchi設(shè)計(jì)的正交表泣侮,
http://www.york.ac.uk/depts/maths/tables/orthogonal.htm
3即彪、數(shù)理統(tǒng)計(jì)、試驗(yàn)設(shè)計(jì)等方面的書及附錄中
? ? 關(guān)注點(diǎn):因素?cái)?shù)和對(duì)應(yīng)的水平數(shù)組組成的矩陣
5.6.3正交實(shí)驗(yàn)法例子
eg:測(cè)試支付寶web網(wǎng)站活尊,該網(wǎng)站點(diǎn)有大量的服務(wù)器和操作系統(tǒng)隶校。并且有許多具有各種插件的瀏覽器需要考慮:
WEB瀏覽器:IE11、chrome蛹锰、FireFox
插件:無(wú)深胳、Flash、支付寶插件
應(yīng)用服務(wù)器:IIS铜犬、Apache舞终、Jetty
操作系統(tǒng):Windows2000、Windows NT癣猾、Linux
1敛劝、提取系統(tǒng)功能說(shuō)明中的因子
①WEB瀏覽器? ? ? ??
②插件
③應(yīng)用服務(wù)器
④操作系統(tǒng)
2、分析個(gè)因子的狀態(tài)
①插件:1=None纷宇、2=Flash夸盟、3=FireFox
②WEB瀏覽器:1=IE11、2=Chrome像捶、3=FireFox
③應(yīng)用服務(wù)器:1=IIS上陕、2=Apache、3=Jetty
④操作系統(tǒng):1=Windows2000拓春、2=Windows NT释簿、3=Linux
3、選擇正交表
正交表水平數(shù)為3硼莽,因素?cái)?shù)為4庶溶。選擇L9(3^4)
4、將因子、狀態(tài)映射到上面正交表中
5.7測(cè)試場(chǎng)景設(shè)計(jì)—提高測(cè)試效率
5.7.1場(chǎng)景法原理:
? ? ? ?現(xiàn)在的軟件幾乎都是用事件出發(fā)來(lái)控制流程的渐尿。事件觸發(fā)時(shí)的情景形成了場(chǎng)景醉途,而同一事件不同的觸發(fā)順序和處理結(jié)果就形成了事件流。
? ? ? ?這種在軟件設(shè)計(jì)方面的思想可以引入到軟件測(cè)試中砖茸,可以生動(dòng)的描繪出時(shí)間觸發(fā)時(shí)的情景隘擎,有利于設(shè)計(jì)測(cè)試用例械念,同時(shí)使測(cè)試用例更容易理解和執(zhí)行筝蚕。
5.7.2場(chǎng)景法基礎(chǔ)設(shè)計(jì)
? ? ? ?經(jīng)過(guò)用例的每條路徑都用基本流和備選流來(lái)表示,之黑線表示基本流贴届,是經(jīng)過(guò)用例的最簡(jiǎn)單的路徑劲够。
? ? ? ?備選流用不同的色彩表示震桶,一個(gè)備選流可能從基本流開(kāi)始,在某個(gè)特定條件下執(zhí)行征绎,然后重新加入基本流中(如備選流1和3)蹲姐;
? ? ? 也可能起源于另一個(gè)備選流(如備選流2),或者終止用例而不在重新加入到某個(gè)流(如備選流2和4)人柿。
? ? ? ?每個(gè)經(jīng)過(guò)用例的可能路徑柴墩,可以確定不同的用例場(chǎng)景。從基本流開(kāi)始凫岖,再將基本流和備選流結(jié)合起來(lái)江咳,可以確定以下用例場(chǎng)景:
場(chǎng)景1:基本流
場(chǎng)景2:基本流 備選流1
場(chǎng)景3:基本流 備選流1 備選流2
場(chǎng)景4:基本流 備選流3
場(chǎng)景5:基本流 備選流3 備選流1
場(chǎng)景6:基本流 備選流3 備選流1 備選流2
場(chǎng)景7:基本流 備選流4
場(chǎng)景8:基本流 從、備選流3? 備選流4
5.7.3場(chǎng)景法設(shè)計(jì)步驟
①根據(jù)說(shuō)明哥放,描述出程序的基本流及各項(xiàng)備選流歼指。
②根據(jù)基本流和各項(xiàng)備選流生成不同的場(chǎng)景。
③對(duì)每一個(gè)場(chǎng)景生成相應(yīng)的測(cè)試用例甥雕。
④對(duì)生成的所有測(cè)試用例重新復(fù)審踩身,去掉多余的測(cè)試用例,測(cè)試用例確定后犀农,對(duì)每一個(gè)測(cè)試用例確定測(cè)試數(shù)據(jù)值惰赋。
eg:在淘寶的購(gòu)物過(guò)程:
? ? ? ?用戶登錄到網(wǎng)站后宰掉,進(jìn)行商品的選擇呵哨,當(dāng)選好自己心儀的商品后進(jìn)行購(gòu)買,這時(shí)把所需商品放進(jìn)購(gòu)物車轨奄,等進(jìn)行結(jié)賬的時(shí)候孟害,用戶需要登錄自己注冊(cè)的賬號(hào),登錄成功后挪拟,進(jìn)行結(jié)賬并生成訂單挨务,整個(gè)購(gòu)物過(guò)程結(jié)束。
①通過(guò)以上的描述,從中確定哪些是基本流谎柄,哪些是備選流:
②根據(jù)基本流和備選流來(lái)確定場(chǎng)景:
5.8實(shí)際測(cè)試中用例設(shè)計(jì)的綜合運(yùn)用
5.8.1測(cè)試用例綜合設(shè)計(jì)
1丁侄、測(cè)試用例項(xiàng)劃分
? ? ? ?測(cè)試用例劃分的經(jīng)典方法就是瀑布模型,從上到下朝巫,逐漸細(xì)分鸿摇,大模塊包括小模塊,小模塊包括更小的模塊劈猿。
? ? ? 要從更多的角度切入系統(tǒng)拙吉,把系統(tǒng)切分成一塊一塊的,來(lái)進(jìn)行測(cè)試揪荣,從而確保測(cè)試大項(xiàng)的完整性筷黔。
2、切面設(shè)計(jì)
? ? ? ?功能點(diǎn)切面:最常見(jiàn)的切面仗颈,通常認(rèn)為頁(yè)面上的一個(gè)按鈕就是一個(gè)功能點(diǎn)佛舱。根據(jù)功能的復(fù)雜程度,按每個(gè)功能進(jìn)行用例的撰寫挨决。
? ? ? 隱含切面:完整業(yè)務(wù)流程的測(cè)試名眉;從需求、業(yè)務(wù)角度進(jìn)行編寫凰棉。
3损拢、功能點(diǎn)用例設(shè)計(jì)
①任何情況下都必須使用邊界值分析方法,經(jīng)驗(yàn)表明用這種方法設(shè)計(jì)出測(cè)試用例發(fā)現(xiàn)程序錯(cuò)誤的能力最強(qiáng)撒犀。
②必要時(shí)用等價(jià)類劃分方法不從以希望測(cè)試用例福压。
③如果程序的功能說(shuō)明中含有輸入條件的組合情況,則一開(kāi)始就可選用因果圖法或舞。
④如果程序業(yè)務(wù)復(fù)雜度比較高荆姆,則使用使用場(chǎng)景法補(bǔ)充一部分測(cè)試用例。
eg:共享單車充值
1映凳、邊界值考慮充值金額:0元胆筒,1元,負(fù)數(shù)诈豌,非金額參數(shù)仆救,多位小數(shù)(小數(shù)后3位),銀行卡限額。
2矫渔、由于充值時(shí)可以選擇不同的銀行支付渠道彤蔽,所以針對(duì)支付寶、微信庙洼、通聯(lián)顿痪、銀聯(lián)镊辕、銀行直連等渠道分別設(shè)計(jì)測(cè)試用例。
3蚁袭、考慮異常場(chǎng)景征懈,如充值失敗、銀行卡余額不足揩悄、銀行返回超時(shí)等受裹。
4、如果場(chǎng)景中還包含更復(fù)雜的業(yè)務(wù)場(chǎng)景虏束,如滿減棉饶、滿贈(zèng)、增加抽獎(jiǎng)次數(shù)等镇匀,還需要結(jié)合場(chǎng)景法進(jìn)行測(cè)試照藻。