測(cè)試用例設(shè)計(jì)方法

一,等價(jià)類

等價(jià)類測(cè)試用例設(shè)計(jì)方法是一種典型的黑盒測(cè)試用例設(shè)計(jì)方法霉旗,使用該方法主要對(duì)測(cè)試子項(xiàng)進(jìn)行測(cè)試規(guī)格分析械媒,進(jìn)而得到測(cè)試用例,不需要對(duì)系統(tǒng)內(nèi)部進(jìn)行深入了解和泌,它也是目前測(cè)試設(shè)計(jì)過(guò)程中使用最普遍的一種方法村缸。采用等價(jià)類設(shè)計(jì)方法是將系統(tǒng)的輸入域劃分為若干部分,然后從每個(gè)部分選取少數(shù)代表性數(shù)據(jù)進(jìn)行測(cè)試武氓,這樣可以避免窮舉產(chǎn)生大量的用例梯皿。

等價(jià)類是指某個(gè)輸入域的子集合,在該子集合中县恕,各個(gè)輸入數(shù)據(jù)對(duì)于揭露軟件中的錯(cuò)誤都是等效的东羹。在測(cè)試設(shè)計(jì)中合理地假設(shè),假設(shè)測(cè)試某等價(jià)類的代表值就等于該等價(jià)類子集合中的其它值 的測(cè)試忠烛,因此可以將全部輸入數(shù)據(jù)進(jìn)行合理的劃分属提,劃分為若干等價(jià)類,在每一個(gè)等價(jià)類中取一個(gè)數(shù)據(jù)作為測(cè)試的輸入條件美尸,這樣可以使用少量代表性測(cè)試數(shù)據(jù)取得較好的測(cè)試結(jié)果冤议。

等價(jià)類通常可以劃分為有效等價(jià)類和無(wú)效等價(jià)類兩種:

1师坎,有效等價(jià)類:

是指對(duì)于系統(tǒng)的規(guī)格說(shuō)明是合理的恕酸,有意義的輸入數(shù)據(jù)構(gòu)成的信息集合。利用有效等價(jià)類可以檢驗(yàn)程序是否實(shí)現(xiàn)了規(guī)格說(shuō)明書中所規(guī)定的功能和性能胯陋。

2尸疆,無(wú)效等價(jià)類:

是指對(duì)于系統(tǒng)的規(guī)格說(shuō)明書是不合理的或無(wú)意義的輸入數(shù)據(jù)構(gòu)成的信息集合。

設(shè)計(jì)測(cè)試用例時(shí)需要充分考慮這兩種等價(jià)類惶岭,需要驗(yàn)證系統(tǒng)不但能正確地接收合理的數(shù)據(jù),還能處理無(wú)效的數(shù)據(jù)犯眠。

使用等價(jià)類測(cè)試用例設(shè)計(jì)方法的步驟如下:

步驟1:劃分等價(jià)類

劃分等價(jià)類可以參考以下幾個(gè)方面原則:

1)在輸入條件規(guī)定了取值范圍或值的個(gè)數(shù)時(shí)按灶,則可以確定下有效等價(jià)類和兩個(gè)無(wú)效等價(jià)類;

2)在輸入條件規(guī)定了輸入值的集合或者規(guī)定了必須在什么條件的情況下筐咧,可以確定一個(gè)有效等價(jià)類和一個(gè)無(wú)效等價(jià)類鸯旁;

3)在輸入條件是一個(gè)布爾值 的情況下,可以確定一個(gè)有效等價(jià)類和一個(gè)地效等價(jià)類量蕊;

4)在規(guī)定了輸入數(shù)據(jù)的一組值假定N個(gè)铺罢,并且程序要對(duì)輸入值分別處理的情況下,可以確定N個(gè)有效等價(jià)類和一個(gè)無(wú)效等價(jià)類残炮;

5)在規(guī)定 了輸入數(shù)據(jù)必須遵守的規(guī)則的情況下韭赘,可以確定一個(gè)有效等價(jià)類和若干個(gè)無(wú)效等價(jià)類;

6)在確定已劃分的等價(jià)類中各元素在程序處理中的方式不同的情況下势就,應(yīng)該再將該等價(jià)類進(jìn)一步劃分泉瞻,劃分為更小的等價(jià)類脉漏;

步驟2:根據(jù)劃分的等價(jià)類確定測(cè)試用例;

等價(jià)類測(cè)試用例設(shè)計(jì)方法雖然對(duì)輸入的數(shù)據(jù)域進(jìn)行了全面的分類袖牙,但在作中使用等價(jià)類分析法存在以下問(wèn)題:

(1)等價(jià)類是以效果來(lái)?yè)Q取效率侧巨,等價(jià)類細(xì)分程度,等價(jià)類組合程度鞭达,取決于進(jìn)度和人力資源情況司忱;

(2)等價(jià)類的出發(fā)點(diǎn)是考慮設(shè)計(jì)用例把每個(gè)輸入的每種情況都有用例測(cè)試到,就認(rèn)為達(dá)到了充分性畴蹭,但對(duì)于情況的組合并沒(méi)有進(jìn)行充分地考慮坦仍;

(3)等價(jià)類劃分的優(yōu)劣關(guān)鍵是需要把輸入背后隱藏的信息從各個(gè)角度進(jìn)行分類;

二撮胧,邊界值

邊界值測(cè)試是從輸入域測(cè)試中衍生出來(lái)的桨踪。邊界的條件落在等價(jià)類的邊界上,邊界內(nèi)和邊界外芹啥,邊界值測(cè)試是對(duì)等價(jià)類測(cè)試的一個(gè)補(bǔ)充锻离,但不同于等價(jià)類測(cè)試。長(zhǎng)期測(cè)試經(jīng)驗(yàn)得知墓怀,大量的錯(cuò)誤是發(fā)生在輸入域的邊界上汽纠,因此針對(duì)各和邊界情況設(shè)計(jì)測(cè)試用例,可以查出更多的錯(cuò)誤傀履。

邊界值分析方法的理論基礎(chǔ)是假定大多數(shù)錯(cuò)誤是發(fā)生在輸入域或輸出域的邊界上虱朵,如果在邊界附近的取值不會(huì)導(dǎo)致程序出錯(cuò),那么其它取值導(dǎo)致程序出錯(cuò)的概率會(huì)很小钓账。

關(guān)于邊界點(diǎn)的定義如下:

1碴犬,上點(diǎn):就是邊界上的點(diǎn),如果該域的邊界是封閉的梆暮,上點(diǎn)就在域范圍內(nèi)服协;如果域的邊界是開(kāi)放的,上點(diǎn)就在域范圍外啦粹。

2偿荷,離點(diǎn):就是離上點(diǎn)最近的一個(gè)點(diǎn),如果域的邊界封閉的唠椭,離點(diǎn)就在域范圍外跳纳,如果域的邊界是開(kāi)放的,離點(diǎn)就在域范圍內(nèi)贪嫂。

3寺庄,內(nèi)點(diǎn):顧名思義,就是在域范圍內(nèi)的任意一個(gè)點(diǎn)。

上點(diǎn)和離點(diǎn)的確定與該域的邊界是開(kāi)放還是封閉有關(guān)铣揉,但不論邊界是開(kāi)放還是封閉饶深,上點(diǎn)和離點(diǎn)總是在一個(gè)域內(nèi),另一個(gè)在域外逛拱。如果對(duì)于封閉邊界敌厘,上點(diǎn)在域內(nèi),離點(diǎn)在域外朽合;對(duì)于開(kāi)放邊界俱两,上點(diǎn)在域外,離點(diǎn)域內(nèi)曹步。例如宪彩,假設(shè)A是整數(shù),A的邊界描述為A>0讲婚,那么上點(diǎn)為0尿孔,離點(diǎn)為1;如果邊界描述為A=0筹麸,那到上點(diǎn)仍然為0活合,但離點(diǎn)為-1;

上點(diǎn)和離點(diǎn)的選擇物赶,還與區(qū)間的數(shù)據(jù)類型有關(guān)白指,對(duì)于整數(shù),離點(diǎn)可以通過(guò)在上點(diǎn)的基礎(chǔ)上加1或減1來(lái)確定酵紫;對(duì)于實(shí)數(shù)告嘲,可以選擇一個(gè)精度,在精度下尋找最靠近的離點(diǎn)奖地。例如橄唬,假設(shè)A是實(shí)數(shù),首先需要確定精度参歹,若精度為0.001仰楚,如果A的邊界條件描述為A>0,那么上點(diǎn)是0泽示,離點(diǎn)為0.001;如果邊界描述為A>=0蜜氨,那么上點(diǎn)仍然為0械筛,但離點(diǎn)為-0.001。

邊界值分析原則如下:

1飒炎,如果輸入(輸出)條件規(guī)定了取值范圍埋哟,或是規(guī)定了值的個(gè)數(shù),則應(yīng)該以該范圍的邊界內(nèi)及邊界附近的值作為測(cè)試用例;

2赤赊,如果輸入(輸出)條件規(guī)定了值的個(gè)數(shù)闯狱,則用最大個(gè)數(shù),最小個(gè)數(shù)抛计,比最小個(gè)數(shù)少一哄孤,比最大個(gè)數(shù)多一的數(shù)作為測(cè)試數(shù)據(jù);

3吹截,如果程序規(guī)格說(shuō)明中提到的輸入或輸出是一個(gè)有序的集合瘦陈,應(yīng)該注意先取有序集合的第一個(gè)和最后一個(gè)元素作為測(cè)試用例;

4波俄,如果程序中使用了內(nèi)部數(shù)據(jù)結(jié)構(gòu)晨逝,則應(yīng)當(dāng)選擇這個(gè)內(nèi)部數(shù)據(jù)結(jié)構(gòu)的邊界上的值作為測(cè)試用例;

邊界值用例設(shè)計(jì)方法的部驟如下:

1懦铺,分析輸入?yún)?shù)的類型:從測(cè)試規(guī)格中分析得到輸入?yún)?shù)類型捉貌;

2,等價(jià)類劃分(可選):對(duì)于輸入等價(jià)類劃分方法進(jìn)行等價(jià)類的劃分冬念;

3趁窃,確定邊界:運(yùn)用域測(cè)試分析方法確定域范圍的邊界(上點(diǎn),離點(diǎn)與內(nèi)點(diǎn))刘急;

4棚菊,相關(guān)性分析(可選):如果存在多個(gè)輸入域,則需要運(yùn)用因果圖叔汁,判定表方法對(duì)這些輸入域邊界值 的組合情況進(jìn)行進(jìn)一步分析统求;

5,形成測(cè)試項(xiàng):選擇這些上點(diǎn)据块,離點(diǎn)與內(nèi)點(diǎn)或者這些點(diǎn)的組合形成測(cè)試項(xiàng)码邻。

三,場(chǎng)景法

場(chǎng)景法測(cè)試用例設(shè)計(jì)方法主要用于事件觸發(fā)流程另假,當(dāng)某個(gè)事件觸發(fā)后就形成相應(yīng)的場(chǎng)景流程像屋,不同的事件觸發(fā)不同順序和不同的處理結(jié)果,就形成一系列的事件結(jié)果边篮。也可以獎(jiǎng)這一系列的事件觸發(fā)流程看成不同的路徑己莺,使用路徑覆蓋的方法來(lái)設(shè)計(jì)測(cè)試用例,故場(chǎng)景分析法也稱為流程分析法戈轿。

場(chǎng)景分析法設(shè)計(jì)測(cè)試用例的部驟如下:

1凌受,畫出業(yè)務(wù)流程圖;

2思杯,設(shè)置功能路徑優(yōu)先級(jí)胜蛉;

3,確定測(cè)試路徑;

4誊册,選取測(cè)試數(shù)據(jù)领突;

5,構(gòu)造測(cè)試用例案怯;

首先將系統(tǒng)運(yùn)行過(guò)程中所涉及到的各種流程圖表化君旦,可以先從最基本的流程入手,將流程抽象成為不同功能的順序執(zhí)行殴泰。在最基本流程的基礎(chǔ)上再去考慮次要或者異常的流程于宙,這樣將各種流程逐漸細(xì)化,既可以逐漸加深對(duì)流程的理解悍汛,還可以將各個(gè)看似孤立的流程關(guān)聯(lián)起來(lái)捞魁。完成所有流程的圖表化后就完成了所有路徑的設(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ì)性的測(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ù)的輸入笤闯,輸出對(duì)應(yīng)起來(lái),這樣就完成了測(cè)試用例的設(shè)計(jì)棍厂。

場(chǎng)景法測(cè)試用例設(shè)計(jì)重點(diǎn)是測(cè)試業(yè)務(wù)流程是否正確颗味,測(cè)試時(shí)需要注意的是,業(yè)務(wù)流程測(cè)試沒(méi)有問(wèn)題并不代表系統(tǒng)的功能都正確勋桶,還必須對(duì)單個(gè)功能進(jìn)行詳細(xì)的測(cè)試脱衙,這樣才能保證測(cè)試的充分性;

四例驹,因果圖

因果圖是用于描述系統(tǒng)的輸入捐韩,輸出,以及輸入和輸出之間的因果關(guān)系鹃锈,輸入與輸入之間的約束關(guān)系荤胁。因果圖的繪制過(guò)程是對(duì)被測(cè)系統(tǒng)外部特征的建模過(guò)程。在實(shí)際測(cè)試過(guò)程中因果圖和判定表兩種方法往往同時(shí)使用屎债,根據(jù)系統(tǒng)輸入和輸出間的因果圖可以得到判定表仅政,根據(jù)判定表產(chǎn)生設(shè)計(jì)測(cè)試用例。

因果圖需要描述輸入與輸出之間的因果關(guān)系和輸入與輸入之間的約束關(guān)系盆驹。

表示輸入與輸出間的因果關(guān)系有以下四種:

1圆丹,恒等關(guān)系:當(dāng)輸入項(xiàng)發(fā)生,會(huì)產(chǎn)生對(duì)應(yīng)輸出躯喇;當(dāng)輸入項(xiàng)不發(fā)生辫封,不會(huì)產(chǎn)生對(duì)應(yīng)輸出;

2廉丽,非關(guān)系:與恒等關(guān)系相反倦微;

3,或關(guān)系:多個(gè)輸入條件中正压,只要有一個(gè)發(fā)生欣福,則會(huì)產(chǎn)生對(duì)應(yīng)輸出;

4焦履,與關(guān)系:多個(gè)輸入條件中拓劝,只有所有輸入項(xiàng)發(fā)生時(shí),才會(huì)產(chǎn)生對(duì)應(yīng)輸出裁良。

表示輸入與輸入之間的約束關(guān)系也有以下四種:

1凿将,異:所有輸入中至多一個(gè)輸入條件發(fā)生;

2价脾,或:所有輸入中至少一個(gè)輸入條件發(fā)生牧抵;

3,唯一:所有輸入中有且只有一個(gè)輸入條件發(fā)生侨把;

4,要求:所有輸入中只要有一個(gè)輸入條件發(fā)生获枝,則其它輸放條件也會(huì)發(fā)生省店。

因果圖設(shè)計(jì)測(cè)試用例的步驟如下:

1雹舀,把大的系統(tǒng)規(guī)格分解成可以測(cè)試的規(guī)格片段说榆;

2,分析分解后待測(cè)的系統(tǒng)規(guī)格唱蒸,找出哪些是原因油宜,哪些是結(jié)果;

3蚁堤,畫出因果圖;

4呈队,把因果圖轉(zhuǎn)換成判定表;

5颅崩,簡(jiǎn)化判定表沿彭;

6瞧柔,用判定表中的每一項(xiàng)生成測(cè)試用例非剃。

使用因果圖法設(shè)計(jì)沒(méi)試用例有以一優(yōu)缺點(diǎn):

優(yōu)點(diǎn):

1券坞,等價(jià)類劃分法盡管將各個(gè)輸入條件可能出錯(cuò)的情況都考慮到了宇驾,但是多個(gè)輸入條件組合起來(lái)出錯(cuò)的情況卻被忽略了,因果圖分析法則可以考慮多個(gè)輸入條件組合的情況筝尾;

2,因果圖法能夠幫助我們按照一定步驟损姜,高效地選擇測(cè)試用例,設(shè)計(jì)多個(gè)輸入條件組合用例棒卷;

3娇跟,因果圖分析還能為我們指出程序規(guī)格說(shuō)明描述中存在的問(wèn)題。

缺點(diǎn):

1吃谣,輸入條件與輸出結(jié)果的因果關(guān)系肃晚,有時(shí)難以從軟件需求規(guī)格說(shuō)明書中得到;

2晋修,即使午到了這些因果關(guān)系,也會(huì)因?yàn)橐蚬P(guān)系復(fù)雜導(dǎo)致因果圖非常龐大落剪,測(cè)試用例數(shù)目極其龐大。

五脑又,判定表

判定表分析和表達(dá)多種輸入條件下系統(tǒng)執(zhí)行不同動(dòng)作的工具钞翔,它可以把復(fù)雜邏輯關(guān)系和多種條件組合的情況表達(dá)得既具體又明確哮笆。判定表通常由四部分組成,如圖6-14所示:

一项阴,等價(jià)類

等價(jià)類測(cè)試用例設(shè)計(jì)方法是一種典型的黑盒測(cè)試用例設(shè)計(jì)方法略荡,使用該方法主要對(duì)測(cè)試子項(xiàng)進(jìn)行測(cè)試規(guī)格分析,進(jìn)而得到測(cè)試用例粥谬,不需要對(duì)系統(tǒng)內(nèi)部進(jìn)行深入了解璃氢,它也是目前測(cè)試設(shè)計(jì)過(guò)程中使用最普遍的一種方法宾抓。采用等價(jià)類設(shè)計(jì)方法是將系統(tǒng)的輸入域劃分為若干部分,然后從每個(gè)部分選取少數(shù)代表性數(shù)據(jù)進(jìn)行測(cè)試,這樣可以避免窮舉產(chǎn)生大量的用例赠潦。

等價(jià)類是指某個(gè)輸入域的子集合,在該子集合中,各個(gè)輸入數(shù)據(jù)對(duì)于揭露軟件中的錯(cuò)誤都是等效的。在測(cè)試設(shè)計(jì)中合理地假設(shè)谬运,假設(shè)測(cè)試某等價(jià)類的代表值就等于該等價(jià)類子集合中的其它值 的測(cè)試膝藕,因此可以將全部輸入數(shù)據(jù)進(jìn)行合理的劃分,劃分為若干等價(jià)類袜爪,在每一個(gè)等價(jià)類中取一個(gè)數(shù)據(jù)作為測(cè)試的輸入條件,這樣可以使用少量代表性測(cè)試數(shù)據(jù)取得較好的測(cè)試結(jié)果薛闪。

等價(jià)類通承凉荩可以劃分為有效等價(jià)類和無(wú)效等價(jià)類兩種:

1,有效等價(jià)類:

是指對(duì)于系統(tǒng)的規(guī)格說(shuō)明是合理的豁延,有意義的輸入數(shù)據(jù)構(gòu)成的信息集合昙篙。利用有效等價(jià)類可以檢驗(yàn)程序是否實(shí)現(xiàn)了規(guī)格說(shuō)明書中所規(guī)定的功能和性能。

2,無(wú)效等價(jià)類:

是指對(duì)于系統(tǒng)的規(guī)格說(shuō)明書是不合理的或無(wú)意義的輸入數(shù)據(jù)構(gòu)成的信息集合苟鸯。

設(shè)計(jì)測(cè)試用例時(shí)需要充分考慮這兩種等價(jià)類,需要驗(yàn)證系統(tǒng)不但能正確地接收合理的數(shù)據(jù)诉儒,還能處理無(wú)效的數(shù)據(jù)。

使用等價(jià)類測(cè)試用例設(shè)計(jì)方法的步驟如下:

步驟1:劃分等價(jià)類

劃分等價(jià)類可以參考以下幾個(gè)方面原則:

1)在輸入條件規(guī)定了取值范圍或值的個(gè)數(shù)時(shí)裙顽,則可以確定下有效等價(jià)類和兩個(gè)無(wú)效等價(jià)類扬卷;

2)在輸入條件規(guī)定了輸入值的集合或者規(guī)定了必須在什么條件的情況下欢伏,可以確定一個(gè)有效等價(jià)類和一個(gè)無(wú)效等價(jià)類滋恬;

3)在輸入條件是一個(gè)布爾值 的情況下挂滓,可以確定一個(gè)有效等價(jià)類和一個(gè)地效等價(jià)類团秽;

4)在規(guī)定了輸入數(shù)據(jù)的一組值假定N個(gè)予颤,并且程序要對(duì)輸入值分別處理的情況下,可以確定N個(gè)有效等價(jià)類和一個(gè)無(wú)效等價(jià)類霹娄;

5)在規(guī)定 了輸入數(shù)據(jù)必須遵守的規(guī)則的情況下,可以確定一個(gè)有效等價(jià)類和若干個(gè)無(wú)效等價(jià)類;

6)在確定已劃分的等價(jià)類中各元素在程序處理中的方式不同的情況下试幽,應(yīng)該再將該等價(jià)類進(jìn)一步劃分,劃分為更小的等價(jià)類绘梦;

步驟2:根據(jù)劃分的等價(jià)類確定測(cè)試用例卸奉;

等價(jià)類測(cè)試用例設(shè)計(jì)方法雖然對(duì)輸入的數(shù)據(jù)域進(jìn)行了全面的分類垫蛆,但在作中使用等價(jià)類分析法存在以下問(wèn)題:

(1)等價(jià)類是以效果來(lái)?yè)Q取效率,等價(jià)類細(xì)分程度边臼,等價(jià)類組合程度,取決于進(jìn)度和人力資源情況假消;

(2)等價(jià)類的出發(fā)點(diǎn)是考慮設(shè)計(jì)用例把每個(gè)輸入的每種情況都有用例測(cè)試到柠并,就認(rèn)為達(dá)到了充分性,但對(duì)于情況的組合并沒(méi)有進(jìn)行充分地考慮富拗;

(3)等價(jià)類劃分的優(yōu)劣關(guān)鍵是需要把輸入背后隱藏的信息從各個(gè)角度進(jìn)行分類臼予;

二,邊界值

邊界值測(cè)試是從輸入域測(cè)試中衍生出來(lái)的啃沪。邊界的條件落在等價(jià)類的邊界上粘拾,邊界內(nèi)和邊界外,邊界值測(cè)試是對(duì)等價(jià)類測(cè)試的一個(gè)補(bǔ)充创千,但不同于等價(jià)類測(cè)試缰雇。長(zhǎng)期測(cè)試經(jīng)驗(yàn)得知入偷,大量的錯(cuò)誤是發(fā)生在輸入域的邊界上,因此針對(duì)各和邊界情況設(shè)計(jì)測(cè)試用例械哟,可以查出更多的錯(cuò)誤盯串。

邊界值分析方法的理論基礎(chǔ)是假定大多數(shù)錯(cuò)誤是發(fā)生在輸入域或輸出域的邊界上,如果在邊界附近的取值不會(huì)導(dǎo)致程序出錯(cuò)戒良,那么其它取值導(dǎo)致程序出錯(cuò)的概率會(huì)很小体捏。

關(guān)于邊界點(diǎn)的定義如下:

1,上點(diǎn):就是邊界上的點(diǎn)糯崎,如果該域的邊界是封閉的几缭,上點(diǎn)就在域范圍內(nèi);如果域的邊界是開(kāi)放的沃呢,上點(diǎn)就在域范圍外年栓。

2,離點(diǎn):就是離上點(diǎn)最近的一個(gè)點(diǎn)薄霜,如果域的邊界封閉的某抓,離點(diǎn)就在域范圍外,如果域的邊界是開(kāi)放的惰瓜,離點(diǎn)就在域范圍內(nèi)否副。

3,內(nèi)點(diǎn):顧名思義崎坊,就是在域范圍內(nèi)的任意一個(gè)點(diǎn)备禀。

上點(diǎn)和離點(diǎn)的確定與該域的邊界是開(kāi)放還是封閉有關(guān),但不論邊界是開(kāi)放還是封閉奈揍,上點(diǎn)和離點(diǎn)總是在一個(gè)域內(nèi)曲尸,另一個(gè)在域外。如果對(duì)于封閉邊界男翰,上點(diǎn)在域內(nèi)另患,離點(diǎn)在域外;對(duì)于開(kāi)放邊界蛾绎,上點(diǎn)在域外昆箕,離點(diǎn)域內(nèi)。例如秘通,假設(shè)A是整數(shù)为严,A的邊界描述為A>0敛熬,那么上點(diǎn)為0肺稀,離點(diǎn)為1;如果邊界描述為A=0应民,那到上點(diǎn)仍然為0话原,但離點(diǎn)為-1夕吻;

上點(diǎn)和離點(diǎn)的選擇,還與區(qū)間的數(shù)據(jù)類型有關(guān)繁仁,對(duì)于整數(shù)涉馅,離點(diǎn)可以通過(guò)在上點(diǎn)的基礎(chǔ)上加1或減1來(lái)確定;對(duì)于實(shí)數(shù)黄虱,可以選擇一個(gè)精度稚矿,在精度下尋找最靠近的離點(diǎn)。例如捻浦,假設(shè)A是實(shí)數(shù)晤揣,首先需要確定精度,若精度為0.001朱灿,如果A的邊界條件描述為A>0昧识,那么上點(diǎn)是0,離點(diǎn)為0.001盗扒;如果邊界描述為A>=0跪楞,那么上點(diǎn)仍然為0,但離點(diǎn)為-0.001侣灶。

邊界值分析原則如下:

1甸祭,如果輸入(輸出)條件規(guī)定了取值范圍,或是規(guī)定了值的個(gè)數(shù)褥影,則應(yīng)該以該范圍的邊界內(nèi)及邊界附近的值作為測(cè)試用例淋叶;

2,如果輸入(輸出)條件規(guī)定了值的個(gè)數(shù)伪阶,則用最大個(gè)數(shù)煞檩,最小個(gè)數(shù),比最小個(gè)數(shù)少一栅贴,比最大個(gè)數(shù)多一的數(shù)作為測(cè)試數(shù)據(jù)斟湃;

3,如果程序規(guī)格說(shuō)明中提到的輸入或輸出是一個(gè)有序的集合檐薯,應(yīng)該注意先取有序集合的第一個(gè)和最后一個(gè)元素作為測(cè)試用例凝赛;

4,如果程序中使用了內(nèi)部數(shù)據(jù)結(jié)構(gòu)坛缕,則應(yīng)當(dāng)選擇這個(gè)內(nèi)部數(shù)據(jù)結(jié)構(gòu)的邊界上的值作為測(cè)試用例墓猎;

邊界值用例設(shè)計(jì)方法的部驟如下:

1,分析輸入?yún)?shù)的類型:從測(cè)試規(guī)格中分析得到輸入?yún)?shù)類型赚楚;

2毙沾,等價(jià)類劃分(可選):對(duì)于輸入等價(jià)類劃分方法進(jìn)行等價(jià)類的劃分;

3宠页,確定邊界:運(yùn)用域測(cè)試分析方法確定域范圍的邊界(上點(diǎn)左胞,離點(diǎn)與內(nèi)點(diǎn))寇仓;

4,相關(guān)性分析(可選):如果存在多個(gè)輸入域烤宙,則需要運(yùn)用因果圖遍烦,判定表方法對(duì)這些輸入域邊界值 的組合情況進(jìn)行進(jìn)一步分析;

5躺枕,形成測(cè)試項(xiàng):選擇這些上點(diǎn)服猪,離點(diǎn)與內(nèi)點(diǎn)或者這些點(diǎn)的組合形成測(cè)試項(xiàng)。

三拐云,場(chǎng)景法

場(chǎng)景法測(cè)試用例設(shè)計(jì)方法主要用于事件觸發(fā)流程蔓姚,當(dāng)某個(gè)事件觸發(fā)后就形成相應(yīng)的場(chǎng)景流程,不同的事件觸發(fā)不同順序和不同的處理結(jié)果慨丐,就形成一系列的事件結(jié)果坡脐。也可以獎(jiǎng)這一系列的事件觸發(fā)流程看成不同的路徑,使用路徑覆蓋的方法來(lái)設(shè)計(jì)測(cè)試用例房揭,故場(chǎng)景分析法也稱為流程分析法备闲。

場(chǎng)景分析法設(shè)計(jì)測(cè)試用例的部驟如下:

1,畫出業(yè)務(wù)流程圖捅暴;

2恬砂,設(shè)置功能路徑優(yōu)先級(jí);

3蓬痒,確定測(cè)試路徑泻骤;

4,選取測(cè)試數(shù)據(jù)梧奢;

5狱掂,構(gòu)造測(cè)試用例;

首先將系統(tǒng)運(yùn)行過(guò)程中所涉及到的各種流程圖表化亲轨,可以先從最基本的流程入手趋惨,將流程抽象成為不同功能的順序執(zhí)行。在最基本流程的基礎(chǔ)上再去考慮次要或者異常的流程惦蚊,這樣將各種流程逐漸細(xì)化器虾,既可以逐漸加深對(duì)流程的理解,還可以將各個(gè)看似孤立的流程關(guān)聯(lián)起來(lái)蹦锋。完成所有流程的圖表化后就完成了所有路徑的設(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ì)性的測(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ù)的輸入捣炬,輸出對(duì)應(yīng)起來(lái)熊昌,這樣就完成了測(cè)試用例的設(shè)計(jì)。

場(chǎng)景法測(cè)試用例設(shè)計(jì)重點(diǎn)是測(cè)試業(yè)務(wù)流程是否正確湿酸,測(cè)試時(shí)需要注意的是婿屹,業(yè)務(wù)流程測(cè)試沒(méi)有問(wèn)題并不代表系統(tǒng)的功能都正確,還必須對(duì)單個(gè)功能進(jìn)行詳細(xì)的測(cè)試推溃,這樣才能保證測(cè)試的充分性昂利;

四,因果圖

因果圖是用于描述系統(tǒng)的輸入铁坎,輸出蜂奸,以及輸入和輸出之間的因果關(guān)系,輸入與輸入之間的約束關(guān)系硬萍。因果圖的繪制過(guò)程是對(duì)被測(cè)系統(tǒng)外部特征的建模過(guò)程窝撵。在實(shí)際測(cè)試過(guò)程中因果圖和判定表兩種方法往往同時(shí)使用,根據(jù)系統(tǒng)輸入和輸出間的因果圖可以得到判定表襟铭,根據(jù)判定表產(chǎn)生設(shè)計(jì)測(cè)試用例碌奉。

因果圖需要描述輸入與輸出之間的因果關(guān)系和輸入與輸入之間的約束關(guān)系。

表示輸入與輸出間的因果關(guān)系有以下四種:

1寒砖,恒等關(guān)系:當(dāng)輸入項(xiàng)發(fā)生赐劣,會(huì)產(chǎn)生對(duì)應(yīng)輸出;當(dāng)輸入項(xiàng)不發(fā)生哩都,不會(huì)產(chǎn)生對(duì)應(yīng)輸出魁兼;

2,非關(guān)系:與恒等關(guān)系相反漠嵌;

3咐汞,或關(guān)系:多個(gè)輸入條件中盖呼,只要有一個(gè)發(fā)生,則會(huì)產(chǎn)生對(duì)應(yīng)輸出化撕;

4几晤,與關(guān)系:多個(gè)輸入條件中,只有所有輸入項(xiàng)發(fā)生時(shí)植阴,才會(huì)產(chǎn)生對(duì)應(yīng)輸出蟹瘾。

表示輸入與輸入之間的約束關(guān)系也有以下四種:

1,異:所有輸入中至多一個(gè)輸入條件發(fā)生掠手;

2憾朴,或:所有輸入中至少一個(gè)輸入條件發(fā)生;

3喷鸽,唯一:所有輸入中有且只有一個(gè)輸入條件發(fā)生众雷;

4,要求:所有輸入中只要有一個(gè)輸入條件發(fā)生做祝,則其它輸放條件也會(huì)發(fā)生砾省。

因果圖設(shè)計(jì)測(cè)試用例的步驟如下:

1,把大的系統(tǒng)規(guī)格分解成可以測(cè)試的規(guī)格片段剖淀;

2纯蛾,分析分解后待測(cè)的系統(tǒng)規(guī)格,找出哪些是原因纵隔,哪些是結(jié)果翻诉;

3,畫出因果圖捌刮;

4碰煌,把因果圖轉(zhuǎn)換成判定表;

5绅作,簡(jiǎn)化判定表芦圾;

6,用判定表中的每一項(xiàng)生成測(cè)試用例俄认。

使用因果圖法設(shè)計(jì)沒(méi)試用例有以一優(yōu)缺點(diǎn):

優(yōu)點(diǎn):

1个少,等價(jià)類劃分法盡管將各個(gè)輸入條件可能出錯(cuò)的情況都考慮到了,但是多個(gè)輸入條件組合起來(lái)出錯(cuò)的情況卻被忽略了眯杏,因果圖分析法則可以考慮多個(gè)輸入條件組合的情況夜焦;

2,因果圖法能夠幫助我們按照一定步驟岂贩,高效地選擇測(cè)試用例茫经,設(shè)計(jì)多個(gè)輸入條件組合用例;

3,因果圖分析還能為我們指出程序規(guī)格說(shuō)明描述中存在的問(wèn)題卸伞。

缺點(diǎn):

1抹镊,輸入條件與輸出結(jié)果的因果關(guān)系,有時(shí)難以從軟件需求規(guī)格說(shuō)明書中得到荤傲;

2垮耳,即使午到了這些因果關(guān)系,也會(huì)因?yàn)橐蚬P(guān)系復(fù)雜導(dǎo)致因果圖非常龐大弃酌,測(cè)試用例數(shù)目極其龐大氨菇。

五儡炼,判定表

判定表分析和表達(dá)多種輸入條件下系統(tǒng)執(zhí)行不同動(dòng)作的工具妓湘,它可以把復(fù)雜邏輯關(guān)系和多種條件組合的情況表達(dá)得既具體又明確。判定表通常由四部分組成乌询,如圖6-14所示:

條件樁? ? ? ? ? ? ? ? ? ? ? ?條件項(xiàng)

動(dòng)作樁? ? ? ? ? ? ? ? ? ? ? ?動(dòng)作項(xiàng)

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 規(guī)則

? ? 圖6-14 判定表組成部分

1榜贴,條件樁:列出系統(tǒng)所有輸入,列出的輸入次序沒(méi)有影響妹田;

2唬党,動(dòng)作樁:列出系統(tǒng)可能采取的操作,這些操作的排列順序沒(méi)有約束鬼佣;

3驶拱,條件項(xiàng):列出針對(duì)它左列輸入條件的取值,在所有可能情況下的真假取值晶衷;

4蓝纲,動(dòng)作項(xiàng):列出在輸入項(xiàng)的各處取值情況下應(yīng)該采取的動(dòng)作。

動(dòng)作項(xiàng)和條件項(xiàng)指出了在條件項(xiàng)的各種取值情況下應(yīng)該采取的動(dòng)作晌纫,在判定表中貫穿條件項(xiàng)和動(dòng)作項(xiàng)的一列就是一條規(guī)則税迷,可以針對(duì)每個(gè)合法輸入組合的規(guī)則設(shè)計(jì)用例進(jìn)行測(cè)試。

判定表測(cè)試用例設(shè)計(jì)方法的步驟如下:

1锹漱,確定規(guī)則的個(gè)數(shù)箭养。

根據(jù)輸入的條件數(shù)據(jù)計(jì)算出規(guī)則的個(gè)數(shù),如果有N個(gè)條件哥牍,那么規(guī)則一共有2的N次方毕泌,如N為3時(shí),規(guī)則數(shù)為8個(gè)嗅辣。

2撼泛,列出所有的條件樁和動(dòng)作樁。

條件樁是影響結(jié)果的條件辩诞,動(dòng)作樁是由于所有條件組合后可能產(chǎn)生的結(jié)果坎弯。

3,輸入條件項(xiàng)和動(dòng)作項(xiàng)。

對(duì)各條件項(xiàng)進(jìn)行標(biāo)識(shí)抠忘,一般使用1和0來(lái)標(biāo)識(shí)撩炊,當(dāng)該條件選中時(shí)使用1來(lái)標(biāo)識(shí),當(dāng)條件不選中時(shí)使用0來(lái)標(biāo)識(shí)崎脉,需要將條件項(xiàng)中所有條件組合的情況標(biāo)識(shí)出來(lái)拧咳,根據(jù)條件的情況來(lái)確定動(dòng)作項(xiàng),對(duì)動(dòng)作項(xiàng)進(jìn)行標(biāo)識(shí)囚灼。

4骆膝,簡(jiǎn)化,合并相似規(guī)則灶体。

簡(jiǎn)化判定表是將相似規(guī)則(即表中的列)進(jìn)行合并阅签,以減少測(cè)試用例,當(dāng)然它是以犧牲測(cè)試用例充分性為代價(jià)的蝎抽。

簡(jiǎn)化的過(guò)程為政钟,首先找到判定表中輸出完全相同的兩列,觀察它們的輸入是否相似樟结。例如只有一個(gè)輸入不同時(shí)养交,說(shuō)明不管該輸入取何值,輸出都是一樣的瓢宦,也就是說(shuō)該輸入對(duì)輸出是無(wú)影響的碎连,因此可以將這兩列合并為一列,簡(jiǎn)化驮履,合并相似規(guī)則示例圖如圖6-15所示鱼辙。


5,將每條規(guī)則轉(zhuǎn)化為用例疲吸。

簡(jiǎn)化座每,合并后的判定表中的每一列可以規(guī)劃為一個(gè)測(cè)試用例。

使用判定表設(shè)計(jì)測(cè)試用例存在如下優(yōu)缺點(diǎn):

優(yōu)點(diǎn):

1摘悴,充分考慮了輸入條件間的組合峭梳,避免遺漏;

2蹂喻,設(shè)計(jì)過(guò)程中對(duì)輸入條件間的約束關(guān)系進(jìn)行分析葱椭,避免無(wú)效用例的出現(xiàn),提高測(cè)試用例的有效性口四;

3孵运,設(shè)計(jì)時(shí)同時(shí)輸入每個(gè)測(cè)試項(xiàng)目的預(yù)期結(jié)果。

缺點(diǎn):

1蔓彩,當(dāng)被測(cè)特性輸入較多時(shí)治笨,判定表會(huì)在常龐大驳概;

2,輸入條件間的約束不能有效區(qū)分當(dāng)前的組合是否合理旷赖,會(huì)導(dǎo)致產(chǎn)生一些不需要的組合條件顺又。

3,規(guī)則合并過(guò)程中存在可能漏測(cè)的風(fēng)險(xiǎn)等孵,雖然某個(gè)輸入條件在輸出接口上是無(wú)關(guān)的稚照,但是在軟件設(shè)計(jì)上,內(nèi)部針對(duì)這個(gè)條件采取了不同的程序分支俯萌。

六果录,正交試驗(yàn)

正交試驗(yàn)設(shè)計(jì)法是從大量的試驗(yàn)點(diǎn)中挑選中適量的,有代表性的點(diǎn)咐熙,應(yīng)用依據(jù)伽羅瓦理論導(dǎo)出的“正交表”弱恒,合理地安排試驗(yàn)的一種科學(xué)的試驗(yàn)設(shè)計(jì)方法,是研究多因素糖声,多水平的一種設(shè)計(jì)方法斤彼。它是根據(jù)正交性從全面試驗(yàn)中挑選出部分有代表性的點(diǎn)進(jìn)行試驗(yàn)分瘦,這些有代表性的點(diǎn)具備“均勻分散蘸泻,齊整可比”的特點(diǎn),正交試驗(yàn)是一種基于正交表的嘲玫,高效率的悦施,快速,經(jīng)濟(jì)的試驗(yàn)設(shè)計(jì)方法去团。

正交試驗(yàn)分析法包括以下常用術(shù)語(yǔ):

1抡诞,指標(biāo):通常把判斷試驗(yàn)結(jié)果優(yōu)劣的標(biāo)準(zhǔn)叫做試驗(yàn)的指標(biāo);

2土陪,因子:是指所有影響試驗(yàn)指標(biāo)的條件昼汗;

3,因子的狀態(tài):是指影響試驗(yàn)因子的因素鬼雀,也稱之為因子的水平顷窒;

正交表的表現(xiàn)形式:Lr(m的n次方)

1,n表示因子數(shù)源哩,即正交表中列的個(gè)數(shù)鞋吉;

2,m表示水平數(shù)励烦,也稱為狀態(tài)谓着,任何單個(gè)因子能夠取得的值的最大個(gè)數(shù);

3坛掠,r表示行數(shù)赊锚,正交表中行的數(shù)量治筒,即測(cè)試用例數(shù)。

行數(shù)r=(m-1)*n+1,如L4(2的3次方)舷蒲,測(cè)試用例數(shù)為4=(2-1)*3+1矢炼,這是等水平的正交表。但對(duì)于等水平的正交表其表現(xiàn)形式為L(zhǎng)r(m的n次方阿纤,p的q次方)句灌,那么行數(shù)r=(m-1)*n+(p-1)*q+1,如L36(2的11次方欠拾,3的12次方)胰锌,測(cè)試用例36=(2-1)*11+(3-1)*12+1。

在網(wǎng)站http://www.york.ac.uk/depts/maths/tables/orthogonal.htm可以查找到相關(guān)的正交表藐窄。

正交試驗(yàn)分析法的步驟如下:

1资昧,提取功能說(shuō)明憔购,構(gòu)造因子-狀態(tài)表馆揉。

分析規(guī)格說(shuō)明,通過(guò)規(guī)格說(shuō)明書提取影響該功能的因子以及每個(gè)因子可能取值的最大數(shù)饿悬,即因子狀態(tài)刹枉。

2叽唱,加權(quán)篩選,生成因素分析表微宝。

計(jì)算各因子和狀態(tài)的權(quán)值棺亭,刪去一部分權(quán)值較小即重要性較小的因子或狀態(tài),使最后生成的測(cè)試用例集縮減到允許范圍蟋软。

3镶摘,畫出布爾圖。

如果各個(gè)因子的狀態(tài)數(shù)是不統(tǒng)一的岳守,幾乎不可能出現(xiàn)均勻的情況凄敢,必須先用邏輯命令來(lái)組合各因子的狀態(tài),作出布爾圖湿痢。

4涝缝,查找最接近的相應(yīng)階數(shù)的正交表。

根據(jù)布爾圖選擇最接近的相應(yīng)階數(shù)的正交表蒙袍,實(shí)際的測(cè)試工作中俊卤,因子和因子狀態(tài)很難與正交表完全符合,所以只能選擇一個(gè)階數(shù)的最接近的正交表害幅。

5消恍,將實(shí)際的因子和狀在帶入正交表中,得到最終的正交表以现。

選擇好正交表后應(yīng)該將實(shí)際的因子和因子水平帶入正交表中狠怨,此時(shí)可能出現(xiàn)以下三種情況之一:

1) 因子的狀態(tài)數(shù)正好和正交表的狀態(tài)數(shù)相等约啊,那么此時(shí)只需要直接替換正交表中的值即可。

2) 因子的狀態(tài)數(shù)多于正交表中的狀態(tài)數(shù)佣赖,那么此時(shí)需要先將多余的狀態(tài)合并帶入正交表中恰矩,然后再將合并的中間狀態(tài)展開(kāi)。

3) 因子的狀態(tài)數(shù)少于正交表中的狀態(tài)數(shù)憎蛤,那么只要將正交表中多出來(lái)的狀態(tài)外傅,使用實(shí)際狀態(tài)中的任意值替換即可。

6俩檬,利用正交表每行數(shù)據(jù)構(gòu)造測(cè)試用例萎胰。

將使用實(shí)際因子和狀態(tài)替換過(guò)的正交表中的每一行,選擇數(shù)據(jù)構(gòu)造測(cè)試用例即可棚辽。

tips:借助正交試驗(yàn)法雖然可以提高測(cè)試用例的效率技竟,但是正交試驗(yàn)終歸是數(shù)學(xué)推導(dǎo)出來(lái)的公式,因此其組合情況并沒(méi)有考慮到實(shí)際取值的情況屈藐,所以很可能一些組合在實(shí)際過(guò)程中根本不會(huì)出現(xiàn)榔组,或者出現(xiàn)的機(jī)率很小,因此在完成下交表后联逻,應(yīng)該對(duì)正交表進(jìn)行仔細(xì)的檢查搓扯,將其中無(wú)效的組合刪除,添加些正交表中沒(méi)有的遣妥,但實(shí)際情況可能使用機(jī)率比較高的組合擅编。

七,狀態(tài)遷移圖

許多需求用狀態(tài)機(jī)的方式來(lái)描述箫踩,狀態(tài)機(jī)的測(cè)試主要關(guān)注狀態(tài)轉(zhuǎn)移是否正確。對(duì)于一個(gè)有限狀態(tài)機(jī)谭贪,通過(guò)測(cè)試驗(yàn)證境钟,其在給定條件內(nèi)是否能夠產(chǎn)生需要的狀態(tài)變化,有沒(méi)有不可達(dá)的狀態(tài)和非法的狀態(tài)俭识,是否可能產(chǎn)生非法的狀態(tài)轉(zhuǎn)移等慨削。通過(guò)構(gòu)造能導(dǎo)導(dǎo)致?tīng)顟B(tài)遷移的事個(gè)來(lái)測(cè)試狀態(tài)之間的轉(zhuǎn)換,多用于協(xié)議測(cè)試套媚,使用這種方法可以設(shè)計(jì)逆向的測(cè)試用例缚态,如狀態(tài)和事件的非法組合。

狀態(tài)遷移圖測(cè)試用例設(shè)計(jì)方法的步驟如下:

1堤瘤,畫出狀態(tài)遷移圖玫芦;

2,列出狀態(tài)-事件表本辐;

3桥帆,畫出狀態(tài)轉(zhuǎn)稱樹(shù)医增,并從狀態(tài)轉(zhuǎn)換樹(shù)推導(dǎo)出測(cè)試路徑。

根據(jù)測(cè)試路徑編寫測(cè)試用例老虫;

八叶骨,輸入域

輸入域測(cè)試法是一種綜合的方法,其綜合考慮了等價(jià)類劃分法祈匙,邊界值分析法等方法忽刽,針對(duì)輸入可能存在的各種情況進(jìn)行考慮,關(guān)于輸入域測(cè)試法主要考慮以下三個(gè)方面:

1夺欲,極端測(cè)試缔恳,需要選擇測(cè)試數(shù)據(jù)覆蓋輸入域的極端情況;

2洁闰,中間范圍測(cè)試歉甚,選擇域內(nèi)部的數(shù)據(jù)進(jìn)行測(cè)試;

3扑眉,特殊值測(cè)試纸泄,根據(jù)要計(jì)算的功能特性的基礎(chǔ)來(lái)選擇測(cè)試數(shù)據(jù),這個(gè)過(guò)程尤其適合于數(shù)學(xué)計(jì)算腰素。所要計(jì)算功能的屬性可以有助于選擇能夠驗(yàn)證被計(jì)算方案正確的測(cè)試數(shù)據(jù)聘裁。例如,根據(jù)Sin()函數(shù)的周期弓千,可以使用2π不同倍數(shù)的測(cè)試數(shù)據(jù)衡便。

之前介紹的等價(jià)類劃分法和邊界分析法,這兩種方法是輸入域測(cè)試的一部分洋访,那么實(shí)際的測(cè)試過(guò)程中只需要在此基礎(chǔ)上考慮即可镣陕,通常需要考慮以下兩方面的測(cè)試;

1姻政,特殊值:特殊值與輸入的特點(diǎn)有關(guān)呆抑,需要充分了解該輸入的存儲(chǔ)和處理過(guò)程;

2汁展,長(zhǎng)時(shí)間輸入:對(duì)于一些沒(méi)有指定長(zhǎng)度的輸入鹊碍,測(cè)試時(shí)需要長(zhǎng)時(shí)間的持續(xù)輸入,以驗(yàn)證輸入的數(shù)據(jù)是否會(huì)引起內(nèi)存越界從而導(dǎo)致系統(tǒng)故障的情況食绿。

九侈咕,輸出域

上一節(jié)介紹了輸入域的測(cè)試,但是系統(tǒng)輸出與輸入之間并不一定是線性關(guān)系器紧,所以從輸出的角度來(lái)說(shuō)耀销,覆蓋了輸入域并一代表一定完全覆蓋輸出域,故測(cè)試時(shí)需要對(duì)輸出域進(jìn)行測(cè)試品洛。

測(cè)試時(shí)需要分析各輸出的等價(jià)類树姨,通過(guò)選擇會(huì)導(dǎo)致各種輸出的等價(jià)類被達(dá)到的輸入點(diǎn)來(lái)執(zhí)行測(cè)試摩桶,期望達(dá)到輸出域的等價(jià)類覆蓋。

同時(shí)分析各輸出的邊界值帽揪,通過(guò)選擇會(huì)導(dǎo)致各種輸出邊界值被達(dá)到的輸入點(diǎn)來(lái)執(zhí)行測(cè)試硝清,期望達(dá)到輸出域邊界值覆蓋。這樣可以保證系統(tǒng)功能最大和最小的輸出條件都已被檢查转晰。

十芦拿,異常分析

系統(tǒng)異常分析法是針對(duì)系統(tǒng)有可能存在的異常操作,軟硬件缺陷引起的故障進(jìn)行分析查邢,依此設(shè)計(jì)測(cè)試用例蔗崎,驗(yàn)證系統(tǒng)的容錯(cuò)能力,以及當(dāng)系統(tǒng)出現(xiàn)異常時(shí)故障恢復(fù)的能力扰藕。測(cè)試時(shí)可以人為地構(gòu)造一些異常情況(如安裝程序時(shí)斷電缓苛,數(shù)據(jù)損壞等情況),來(lái)驗(yàn)證系統(tǒng)的處理情況邓深。

十一未桥,錯(cuò)誤猜測(cè)法

錯(cuò)誤猜測(cè)法是根據(jù)以往的測(cè)試經(jīng)驗(yàn)和對(duì)系統(tǒng)內(nèi)部知識(shí)的了解,列出系統(tǒng)中各種可能存在的錯(cuò)誤和容易發(fā)生錯(cuò)誤的特殊情況芥备,并設(shè)計(jì)出測(cè)試用例冬耿。隨著對(duì)產(chǎn)品了解程度的加深和測(cè)試經(jīng)驗(yàn)的豐富,使用錯(cuò)誤猜測(cè)法設(shè)計(jì)測(cè)試用例往往非常有效萌壳,但是錯(cuò)誤猜測(cè)法只能作為測(cè)試設(shè)計(jì)的補(bǔ)充而不能單獨(dú)用來(lái)設(shè)計(jì)測(cè)試用例亦镶,否則可能導(dǎo)致測(cè)試的不充分。

錯(cuò)誤猜測(cè)不是瞎猜袱瓮,不是沒(méi)有根據(jù)和目的地猜測(cè)缤骨,它需要了解系統(tǒng)薄弱的地方和開(kāi)發(fā)人員的盲點(diǎn),也可以根據(jù)以往缺陷分析的報(bào)告來(lái)分析系統(tǒng)最容易出現(xiàn)錯(cuò)誤的地方懂讯,作為錯(cuò)誤猜測(cè)法的依據(jù)荷憋。

? ? 圖6-14 判定表組成部分

1,條件樁:列出系統(tǒng)所有輸入褐望,列出的輸入次序沒(méi)有影響;

2串前,動(dòng)作樁:列出系統(tǒng)可能采取的操作瘫里,這些操作的排列順序沒(méi)有約束;

3荡碾,條件項(xiàng):列出針對(duì)它左列輸入條件的取值谨读,在所有可能情況下的真假取值;

4坛吁,動(dòng)作項(xiàng):列出在輸入項(xiàng)的各處取值情況下應(yīng)該采取的動(dòng)作劳殖。

動(dòng)作項(xiàng)和條件項(xiàng)指出了在條件項(xiàng)的各種取值情況下應(yīng)該采取的動(dòng)作铐尚,在判定表中貫穿條件項(xiàng)和動(dòng)作項(xiàng)的一列就是一條規(guī)則,可以針對(duì)每個(gè)合法輸入組合的規(guī)則設(shè)計(jì)用例進(jìn)行測(cè)試哆姻。

判定表測(cè)試用例設(shè)計(jì)方法的步驟如下:

1宣增,確定規(guī)則的個(gè)數(shù)。

根據(jù)輸入的條件數(shù)據(jù)計(jì)算出規(guī)則的個(gè)數(shù)矛缨,如果有N個(gè)條件爹脾,那么規(guī)則一共有2的N次方,如N為3時(shí)箕昭,規(guī)則數(shù)為8個(gè)灵妨。

2,列出所有的條件樁和動(dòng)作樁落竹。

條件樁是影響結(jié)果的條件泌霍,動(dòng)作樁是由于所有條件組合后可能產(chǎn)生的結(jié)果。

3述召,輸入條件項(xiàng)和動(dòng)作項(xiàng)朱转。

對(duì)各條件項(xiàng)進(jìn)行標(biāo)識(shí),一般使用1和0來(lái)標(biāo)識(shí)桨武,當(dāng)該條件選中時(shí)使用1來(lái)標(biāo)識(shí)肋拔,當(dāng)條件不選中時(shí)使用0來(lái)標(biāo)識(shí),需要將條件項(xiàng)中所有條件組合的情況標(biāo)識(shí)出來(lái)呀酸,根據(jù)條件的情況來(lái)確定動(dòng)作項(xiàng)凉蜂,對(duì)動(dòng)作項(xiàng)進(jìn)行標(biāo)識(shí)。

4性誉,簡(jiǎn)化窿吩,合并相似規(guī)則。

簡(jiǎn)化判定表是將相似規(guī)則(即表中的列)進(jìn)行合并错览,以減少測(cè)試用例纫雁,當(dāng)然它是以犧牲測(cè)試用例充分性為代價(jià)的。

簡(jiǎn)化的過(guò)程為倾哺,首先找到判定表中輸出完全相同的兩列轧邪,觀察它們的輸入是否相似。例如只有一個(gè)輸入不同時(shí)羞海,說(shuō)明不管該輸入取何值忌愚,輸出都是一樣的,也就是說(shuō)該輸入對(duì)輸出是無(wú)影響的却邓,因此可以將這兩列合并為一列硕糊,簡(jiǎn)化,合并相似規(guī)則示例圖如圖6-15所示。

5简十,將每條規(guī)則轉(zhuǎn)化為用例檬某。

簡(jiǎn)化,合并后的判定表中的每一列可以規(guī)劃為一個(gè)測(cè)試用例螟蝙。

使用判定表設(shè)計(jì)測(cè)試用例存在如下優(yōu)缺點(diǎn):

優(yōu)點(diǎn):

1恢恼,充分考慮了輸入條件間的組合,避免遺漏胶逢;

2厅瞎,設(shè)計(jì)過(guò)程中對(duì)輸入條件間的約束關(guān)系進(jìn)行分析,避免無(wú)效用例的出現(xiàn)初坠,提高測(cè)試用例的有效性和簸;

3,設(shè)計(jì)時(shí)同時(shí)輸入每個(gè)測(cè)試項(xiàng)目的預(yù)期結(jié)果碟刺。

缺點(diǎn):

1锁保,當(dāng)被測(cè)特性輸入較多時(shí),判定表會(huì)在常龐大半沽;

2爽柒,輸入條件間的約束不能有效區(qū)分當(dāng)前的組合是否合理,會(huì)導(dǎo)致產(chǎn)生一些不需要的組合條件者填。

3浩村,規(guī)則合并過(guò)程中存在可能漏測(cè)的風(fēng)險(xiǎn),雖然某個(gè)輸入條件在輸出接口上是無(wú)關(guān)的占哟,但是在軟件設(shè)計(jì)上心墅,內(nèi)部針對(duì)這個(gè)條件采取了不同的程序分支。

六榨乎,正交試驗(yàn)

正交試驗(yàn)設(shè)計(jì)法是從大量的試驗(yàn)點(diǎn)中挑選中適量的怎燥,有代表性的點(diǎn),應(yīng)用依據(jù)伽羅瓦理論導(dǎo)出的“正交表”蜜暑,合理地安排試驗(yàn)的一種科學(xué)的試驗(yàn)設(shè)計(jì)方法铐姚,是研究多因素,多水平的一種設(shè)計(jì)方法肛捍。它是根據(jù)正交性從全面試驗(yàn)中挑選出部分有代表性的點(diǎn)進(jìn)行試驗(yàn)隐绵,這些有代表性的點(diǎn)具備“均勻分散,齊整可比”的特點(diǎn)拙毫,正交試驗(yàn)是一種基于正交表的氢橙,高效率的,快速恬偷,經(jīng)濟(jì)的試驗(yàn)設(shè)計(jì)方法。

正交試驗(yàn)分析法包括以下常用術(shù)語(yǔ):

1,指標(biāo):通常把判斷試驗(yàn)結(jié)果優(yōu)劣的標(biāo)準(zhǔn)叫做試驗(yàn)的指標(biāo)袍患;

2坦康,因子:是指所有影響試驗(yàn)指標(biāo)的條件;

3诡延,因子的狀態(tài):是指影響試驗(yàn)因子的因素滞欠,也稱之為因子的水平;

正交表的表現(xiàn)形式:Lr(m的n次方)

1肆良,n表示因子數(shù)筛璧,即正交表中列的個(gè)數(shù);

2惹恃,m表示水平數(shù)夭谤,也稱為狀態(tài),任何單個(gè)因子能夠取得的值的最大個(gè)數(shù)巫糙;

3朗儒,r表示行數(shù),正交表中行的數(shù)量参淹,即測(cè)試用例數(shù)醉锄。

行數(shù)r=(m-1)*n+1,如L4(2的3次方),測(cè)試用例數(shù)為4=(2-1)*3+1浙值,這是等水平的正交表恳不。但對(duì)于等水平的正交表其表現(xiàn)形式為L(zhǎng)r(m的n次方,p的q次方)开呐,那么行數(shù)r=(m-1)*n+(p-1)*q+1烟勋,如L36(2的11次方,3的12次方)负蚊,測(cè)試用例36=(2-1)*11+(3-1)*12+1神妹。

在網(wǎng)站http://www.york.ac.uk/depts/maths/tables/orthogonal.htm可以查找到相關(guān)的正交表。

正交試驗(yàn)分析法的步驟如下:

1家妆,提取功能說(shuō)明鸵荠,構(gòu)造因子-狀態(tài)表。

分析規(guī)格說(shuō)明伤极,通過(guò)規(guī)格說(shuō)明書提取影響該功能的因子以及每個(gè)因子可能取值的最大數(shù)蛹找,即因子狀態(tài)。

2哨坪,加權(quán)篩選庸疾,生成因素分析表。

計(jì)算各因子和狀態(tài)的權(quán)值当编,刪去一部分權(quán)值較小即重要性較小的因子或狀態(tài)届慈,使最后生成的測(cè)試用例集縮減到允許范圍。

3,畫出布爾圖金顿。

如果各個(gè)因子的狀態(tài)數(shù)是不統(tǒng)一的臊泌,幾乎不可能出現(xiàn)均勻的情況,必須先用邏輯命令來(lái)組合各因子的狀態(tài)揍拆,作出布爾圖渠概。

4,查找最接近的相應(yīng)階數(shù)的正交表嫂拴。

根據(jù)布爾圖選擇最接近的相應(yīng)階數(shù)的正交表播揪,實(shí)際的測(cè)試工作中,因子和因子狀態(tài)很難與正交表完全符合筒狠,所以只能選擇一個(gè)階數(shù)的最接近的正交表猪狈。

5,將實(shí)際的因子和狀在帶入正交表中窟蓝,得到最終的正交表罪裹。

選擇好正交表后應(yīng)該將實(shí)際的因子和因子水平帶入正交表中,此時(shí)可能出現(xiàn)以下三種情況之一:

1) 因子的狀態(tài)數(shù)正好和正交表的狀態(tài)數(shù)相等运挫,那么此時(shí)只需要直接替換正交表中的值即可状共。

2) 因子的狀態(tài)數(shù)多于正交表中的狀態(tài)數(shù),那么此時(shí)需要先將多余的狀態(tài)合并帶入正交表中谁帕,然后再將合并的中間狀態(tài)展開(kāi)峡继。

3) 因子的狀態(tài)數(shù)少于正交表中的狀態(tài)數(shù),那么只要將正交表中多出來(lái)的狀態(tài)匈挖,使用實(shí)際狀態(tài)中的任意值替換即可碾牌。

6,利用正交表每行數(shù)據(jù)構(gòu)造測(cè)試用例儡循。

將使用實(shí)際因子和狀態(tài)替換過(guò)的正交表中的每一行舶吗,選擇數(shù)據(jù)構(gòu)造測(cè)試用例即可。

tips:借助正交試驗(yàn)法雖然可以提高測(cè)試用例的效率择膝,但是正交試驗(yàn)終歸是數(shù)學(xué)推導(dǎo)出來(lái)的公式誓琼,因此其組合情況并沒(méi)有考慮到實(shí)際取值的情況,所以很可能一些組合在實(shí)際過(guò)程中根本不會(huì)出現(xiàn)肴捉,或者出現(xiàn)的機(jī)率很小腹侣,因此在完成下交表后,應(yīng)該對(duì)正交表進(jìn)行仔細(xì)的檢查齿穗,將其中無(wú)效的組合刪除傲隶,添加些正交表中沒(méi)有的,但實(shí)際情況可能使用機(jī)率比較高的組合窃页。

七跺株,狀態(tài)遷移圖

許多需求用狀態(tài)機(jī)的方式來(lái)描述复濒,狀態(tài)機(jī)的測(cè)試主要關(guān)注狀態(tài)轉(zhuǎn)移是否正確。對(duì)于一個(gè)有限狀態(tài)機(jī)帖鸦,通過(guò)測(cè)試驗(yàn)證芝薇,其在給定條件內(nèi)是否能夠產(chǎn)生需要的狀態(tài)變化,有沒(méi)有不可達(dá)的狀態(tài)和非法的狀態(tài)作儿,是否可能產(chǎn)生非法的狀態(tài)轉(zhuǎn)移等。通過(guò)構(gòu)造能導(dǎo)導(dǎo)致?tīng)顟B(tài)遷移的事個(gè)來(lái)測(cè)試狀態(tài)之間的轉(zhuǎn)換馋劈,多用于協(xié)議測(cè)試攻锰,使用這種方法可以設(shè)計(jì)逆向的測(cè)試用例,如狀態(tài)和事件的非法組合妓雾。

狀態(tài)遷移圖測(cè)試用例設(shè)計(jì)方法的步驟如下:

1娶吞,畫出狀態(tài)遷移圖;

2械姻,列出狀態(tài)-事件表妒蛇;

3,畫出狀態(tài)轉(zhuǎn)稱樹(shù)楷拳,并從狀態(tài)轉(zhuǎn)換樹(shù)推導(dǎo)出測(cè)試路徑绣夺。

根據(jù)測(cè)試路徑編寫測(cè)試用例;

八欢揖,輸入域

輸入域測(cè)試法是一種綜合的方法陶耍,其綜合考慮了等價(jià)類劃分法,邊界值分析法等方法她混,針對(duì)輸入可能存在的各種情況進(jìn)行考慮烈钞,關(guān)于輸入域測(cè)試法主要考慮以下三個(gè)方面:

1,極端測(cè)試坤按,需要選擇測(cè)試數(shù)據(jù)覆蓋輸入域的極端情況毯欣;

2,中間范圍測(cè)試臭脓,選擇域內(nèi)部的數(shù)據(jù)進(jìn)行測(cè)試酗钞;

3,特殊值測(cè)試谢鹊,根據(jù)要計(jì)算的功能特性的基礎(chǔ)來(lái)選擇測(cè)試數(shù)據(jù)算吩,這個(gè)過(guò)程尤其適合于數(shù)學(xué)計(jì)算。所要計(jì)算功能的屬性可以有助于選擇能夠驗(yàn)證被計(jì)算方案正確的測(cè)試數(shù)據(jù)佃扼。例如偎巢,根據(jù)Sin()函數(shù)的周期,可以使用2π不同倍數(shù)的測(cè)試數(shù)據(jù)兼耀。

之前介紹的等價(jià)類劃分法和邊界分析法压昼,這兩種方法是輸入域測(cè)試的一部分求冷,那么實(shí)際的測(cè)試過(guò)程中只需要在此基礎(chǔ)上考慮即可,通常需要考慮以下兩方面的測(cè)試窍霞;

1匠题,特殊值:特殊值與輸入的特點(diǎn)有關(guān),需要充分了解該輸入的存儲(chǔ)和處理過(guò)程但金;

2韭山,長(zhǎng)時(shí)間輸入:對(duì)于一些沒(méi)有指定長(zhǎng)度的輸入,測(cè)試時(shí)需要長(zhǎng)時(shí)間的持續(xù)輸入冷溃,以驗(yàn)證輸入的數(shù)據(jù)是否會(huì)引起內(nèi)存越界從而導(dǎo)致系統(tǒng)故障的情況钱磅。

九,輸出域

上一節(jié)介紹了輸入域的測(cè)試似枕,但是系統(tǒng)輸出與輸入之間并不一定是線性關(guān)系盖淡,所以從輸出的角度來(lái)說(shuō),覆蓋了輸入域并一代表一定完全覆蓋輸出域凿歼,故測(cè)試時(shí)需要對(duì)輸出域進(jìn)行測(cè)試褪迟。

測(cè)試時(shí)需要分析各輸出的等價(jià)類,通過(guò)選擇會(huì)導(dǎo)致各種輸出的等價(jià)類被達(dá)到的輸入點(diǎn)來(lái)執(zhí)行測(cè)試答憔,期望達(dá)到輸出域的等價(jià)類覆蓋味赃。

同時(shí)分析各輸出的邊界值,通過(guò)選擇會(huì)導(dǎo)致各種輸出邊界值被達(dá)到的輸入點(diǎn)來(lái)執(zhí)行測(cè)試攀唯,期望達(dá)到輸出域邊界值覆蓋洁桌。這樣可以保證系統(tǒng)功能最大和最小的輸出條件都已被檢查。

十侯嘀,異常分析

系統(tǒng)異常分析法是針對(duì)系統(tǒng)有可能存在的異常操作另凌,軟硬件缺陷引起的故障進(jìn)行分析,依此設(shè)計(jì)測(cè)試用例戒幔,驗(yàn)證系統(tǒng)的容錯(cuò)能力吠谢,以及當(dāng)系統(tǒng)出現(xiàn)異常時(shí)故障恢復(fù)的能力。測(cè)試時(shí)可以人為地構(gòu)造一些異常情況(如安裝程序時(shí)斷電诗茎,數(shù)據(jù)損壞等情況)工坊,來(lái)驗(yàn)證系統(tǒng)的處理情況。

十一敢订,錯(cuò)誤猜測(cè)法

錯(cuò)誤猜測(cè)法是根據(jù)以往的測(cè)試經(jīng)驗(yàn)和對(duì)系統(tǒng)內(nèi)部知識(shí)的了解王污,列出系統(tǒng)中各種可能存在的錯(cuò)誤和容易發(fā)生錯(cuò)誤的特殊情況,并設(shè)計(jì)出測(cè)試用例楚午。隨著對(duì)產(chǎn)品了解程度的加深和測(cè)試經(jīng)驗(yàn)的豐富昭齐,使用錯(cuò)誤猜測(cè)法設(shè)計(jì)測(cè)試用例往往非常有效,但是錯(cuò)誤猜測(cè)法只能作為測(cè)試設(shè)計(jì)的補(bǔ)充而不能單獨(dú)用來(lái)設(shè)計(jì)測(cè)試用例矾柜,否則可能導(dǎo)致測(cè)試的不充分阱驾。

錯(cuò)誤猜測(cè)不是瞎猜就谜,不是沒(méi)有根據(jù)和目的地猜測(cè),它需要了解系統(tǒng)薄弱的地方和開(kāi)發(fā)人員的盲點(diǎn)里覆,也可以根據(jù)以往缺陷分析的報(bào)告來(lái)分析系統(tǒng)最容易出現(xiàn)錯(cuò)誤的地方丧荐,作為錯(cuò)誤猜測(cè)法的依據(jù)。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末喧枷,一起剝皮案震驚了整個(gè)濱河市虹统,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌割去,老刑警劉巖窟却,帶你破解...
    沈念sama閱讀 222,104評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異呻逆,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)菩帝,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,816評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門咖城,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人呼奢,你說(shuō)我怎么就攤上這事宜雀。” “怎么了握础?”我有些...
    開(kāi)封第一講書人閱讀 168,697評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵辐董,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我禀综,道長(zhǎng)简烘,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書人閱讀 59,836評(píng)論 1 298
  • 正文 為了忘掉前任定枷,我火速辦了婚禮孤澎,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘欠窒。我一直安慰自己覆旭,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,851評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布岖妄。 她就那樣靜靜地躺著型将,像睡著了一般。 火紅的嫁衣襯著肌膚如雪荐虐。 梳的紋絲不亂的頭發(fā)上七兜,一...
    開(kāi)封第一講書人閱讀 52,441評(píng)論 1 310
  • 那天,我揣著相機(jī)與錄音缚俏,去河邊找鬼惊搏。 笑死贮乳,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的恬惯。 我是一名探鬼主播向拆,決...
    沈念sama閱讀 40,992評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼酪耳!你這毒婦竟也來(lái)了浓恳?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書人閱讀 39,899評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤碗暗,失蹤者是張志新(化名)和其女友劉穎颈将,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體言疗,經(jīng)...
    沈念sama閱讀 46,457評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡额各,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,529評(píng)論 3 341
  • 正文 我和宋清朗相戀三年切省,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,664評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡呻引,死狀恐怖社证,靈堂內(nèi)的尸體忽然破棺而出绿满,到底是詐尸還是另有隱情内地,我是刑警寧澤,帶...
    沈念sama閱讀 36,346評(píng)論 5 350
  • 正文 年R本政府宣布碰缔,位于F島的核電站账劲,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏金抡。R本人自食惡果不足惜瀑焦,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,025評(píng)論 3 334
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望竟终。 院中可真熱鬧蝠猬,春花似錦、人聲如沸统捶。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 32,511評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)喘鸟。三九已至匆绣,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間什黑,已是汗流浹背崎淳。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 33,611評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留愕把,地道東北人拣凹。 一個(gè)月前我還...
    沈念sama閱讀 49,081評(píng)論 3 377
  • 正文 我出身青樓森爽,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親嚣镜。 傳聞我的和親對(duì)象是個(gè)殘疾皇子爬迟,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,675評(píng)論 2 359