核心階段1:軟件測(cè)試設(shè)計(jì)(軟件測(cè)試核心之用例設(shè)計(jì))

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ù)。

等價(jià)類表

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ì)用例:

等價(jià)類劃分表

②細(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è)試照藻。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市汗侵,隨后出現(xiàn)的幾起案子幸缕,更是在濱河造成了極大的恐慌,老刑警劉巖晰韵,帶你破解...
    沈念sama閱讀 221,820評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件发乔,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡雪猪,警方通過(guò)查閱死者的電腦和手機(jī)栏尚,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,648評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)只恨,“玉大人译仗,你說(shuō)我怎么就攤上這事」倜伲” “怎么了纵菌?”我有些...
    開(kāi)封第一講書人閱讀 168,324評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)休涤。 經(jīng)常有香客問(wèn)我咱圆,道長(zhǎng),這世上最難降的妖魔是什么功氨? 我笑而不...
    開(kāi)封第一講書人閱讀 59,714評(píng)論 1 297
  • 正文 為了忘掉前任序苏,我火速辦了婚禮,結(jié)果婚禮上疑故,老公的妹妹穿的比我還像新娘杠览。我一直安慰自己弯菊,他們只是感情好纵势,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,724評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布踱阿。 她就那樣靜靜地躺著,像睡著了一般钦铁。 火紅的嫁衣襯著肌膚如雪软舌。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書人閱讀 52,328評(píng)論 1 310
  • 那天牛曹,我揣著相機(jī)與錄音佛点,去河邊找鬼。 笑死黎比,一個(gè)胖子當(dāng)著我的面吹牛超营,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播阅虫,決...
    沈念sama閱讀 40,897評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼演闭,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了颓帝?” 一聲冷哼從身側(cè)響起米碰,我...
    開(kāi)封第一講書人閱讀 39,804評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎购城,沒(méi)想到半個(gè)月后吕座,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,345評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡瘪板,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,431評(píng)論 3 340
  • 正文 我和宋清朗相戀三年吴趴,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片侮攀。...
    茶點(diǎn)故事閱讀 40,561評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡史侣,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出魏身,到底是詐尸還是另有隱情惊橱,我是刑警寧澤,帶...
    沈念sama閱讀 36,238評(píng)論 5 350
  • 正文 年R本政府宣布箭昵,位于F島的核電站税朴,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏家制。R本人自食惡果不足惜正林,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,928評(píng)論 3 334
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望颤殴。 院中可真熱鬧觅廓,春花似錦、人聲如沸涵但。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 32,417評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至瞳脓,卻和暖如春塑娇,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背劫侧。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 33,528評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工埋酬, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人烧栋。 一個(gè)月前我還...
    沈念sama閱讀 48,983評(píng)論 3 376
  • 正文 我出身青樓写妥,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親审姓。 傳聞我的和親對(duì)象是個(gè)殘疾皇子耳标,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,573評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容