軟件測(cè)試(第2版) 課件 第2章 黑盒測(cè)試方法_第1頁(yè)
軟件測(cè)試(第2版) 課件 第2章 黑盒測(cè)試方法_第2頁(yè)
軟件測(cè)試(第2版) 課件 第2章 黑盒測(cè)試方法_第3頁(yè)
軟件測(cè)試(第2版) 課件 第2章 黑盒測(cè)試方法_第4頁(yè)
軟件測(cè)試(第2版) 課件 第2章 黑盒測(cè)試方法_第5頁(yè)
已閱讀5頁(yè),還剩132頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第2章黑盒測(cè)試方法《軟件測(cè)試(第2版)》學(xué)習(xí)目標(biāo)/Target

掌握等價(jià)類(lèi)劃分法,能夠靈活應(yīng)用等價(jià)類(lèi)劃分法設(shè)計(jì)測(cè)試用例

掌握邊界值分析法,能夠靈活應(yīng)用邊界值分析法設(shè)計(jì)測(cè)試用例

掌握因果圖法與決策表法,能夠靈活應(yīng)用因果圖法與決策表法設(shè)計(jì)測(cè)試用例

了解正交實(shí)驗(yàn)設(shè)計(jì)法,能夠描述正交實(shí)驗(yàn)設(shè)計(jì)法的使用場(chǎng)景學(xué)習(xí)目標(biāo)/Target

掌握?qǐng)鼍胺ǎ軌蜢`活應(yīng)用場(chǎng)景法設(shè)計(jì)測(cè)試用例

了解狀態(tài)遷移圖法,能夠描述狀態(tài)遷移圖法的使用場(chǎng)景章節(jié)概述/Summary黑盒測(cè)試是軟件測(cè)試中經(jīng)常使用的一種測(cè)試方法,常用的黑盒測(cè)試方法包括等價(jià)類(lèi)劃分法、邊界值分析法、因果圖法與決策表法、正交實(shí)驗(yàn)設(shè)計(jì)法、場(chǎng)景法、狀態(tài)遷移圖法等,這些方法非常實(shí)用,本章將對(duì)黑盒測(cè)試的常用方法進(jìn)行詳細(xì)講解。目錄/Contents01020304等價(jià)類(lèi)劃分法邊界值分析法因果圖法與決策表法正交實(shí)驗(yàn)設(shè)計(jì)法目錄/Contents0506場(chǎng)景法狀態(tài)遷移圖法等價(jià)類(lèi)劃分法2.1

先定一個(gè)小目標(biāo)!掌握等價(jià)類(lèi)劃分法概述,能夠靈活應(yīng)用等價(jià)類(lèi)劃分法設(shè)計(jì)測(cè)試用例2.1.1 等價(jià)類(lèi)劃分法概述一個(gè)程序可以有多個(gè)輸入數(shù)據(jù),等價(jià)類(lèi)劃分是將這些輸入數(shù)據(jù)按照輸入需求進(jìn)行分類(lèi),將它們劃分為若干個(gè)子集,這些子集即等價(jià)類(lèi),在每個(gè)等價(jià)類(lèi)中選擇有代表性的數(shù)據(jù)設(shè)計(jì)測(cè)試用例。等價(jià)類(lèi)劃分類(lèi)似于師生站隊(duì),男生站左邊,女生站右邊,老師站中間,這樣就把師生群體劃分成了3個(gè)等價(jià)類(lèi)。2.1.1 等價(jià)類(lèi)劃分法概述2.1.1 等價(jià)類(lèi)劃分法概述使用等價(jià)類(lèi)劃分法測(cè)試程序需要經(jīng)過(guò)劃分等價(jià)類(lèi)和設(shè)計(jì)測(cè)試用例2個(gè)步驟。1.

劃分等價(jià)類(lèi)等價(jià)類(lèi)可以分為有效等價(jià)類(lèi)和無(wú)效等價(jià)類(lèi),其含義如下。有效等價(jià)類(lèi)是有效值的集合,這些有效值是符合程序要求、合理且有意義的輸入數(shù)據(jù)。是無(wú)效值的集合,這些無(wú)效值是不符合程序要求、不合理或無(wú)意義的輸入數(shù)據(jù)。無(wú)效等價(jià)類(lèi)2.1.1 等價(jià)類(lèi)劃分法概述(1)如果程序要求輸入值是一個(gè)有限區(qū)間的值,則可以將輸入數(shù)據(jù)劃分為1個(gè)有效等價(jià)類(lèi)和2個(gè)無(wú)效等價(jià)類(lèi),有效等價(jià)類(lèi)為指定區(qū)間中的值的集合,2個(gè)無(wú)效等價(jià)類(lèi)分別為有限區(qū)間兩邊的值的集合。(2)如果程序要求輸入值“必須成立”,則可以將輸入數(shù)據(jù)劃分為1個(gè)有效等價(jià)類(lèi)和1個(gè)無(wú)效等價(jià)類(lèi)。(3)如果程序要求輸入值是一組可能的值,或者要求輸入值必須符合某個(gè)條件,則可以將輸入數(shù)據(jù)劃分為1個(gè)有效等價(jià)類(lèi)和1個(gè)無(wú)效等價(jià)類(lèi)。(4)如果在某一個(gè)等價(jià)類(lèi)中,每個(gè)輸入值在程序中的處理方式都不相同,則應(yīng)將該等價(jià)類(lèi)劃分成更小的等價(jià)類(lèi),并建立等價(jià)類(lèi)表。通常在劃分等價(jià)類(lèi)時(shí),需要遵守以下4個(gè)原則。2.1.1 等價(jià)類(lèi)劃分法概述2.

設(shè)計(jì)測(cè)試用例當(dāng)確定等價(jià)類(lèi)后,需要建立等價(jià)類(lèi)表,列出所有劃分出的等價(jià)類(lèi),用以設(shè)計(jì)測(cè)試用例?;诘葍r(jià)類(lèi)劃分法的測(cè)試用例設(shè)計(jì)步驟如下。12確定測(cè)試對(duì)象,保證非測(cè)試對(duì)象的正確性。為每個(gè)等價(jià)類(lèi)規(guī)定一個(gè)唯一編號(hào)。2.1.1 等價(jià)類(lèi)劃分法概述34設(shè)計(jì)有效等價(jià)類(lèi)的測(cè)試用例,使其盡可能多地覆蓋尚未被覆蓋的有效等價(jià)類(lèi),直到測(cè)試用例覆蓋所有的有效等價(jià)類(lèi)。設(shè)計(jì)無(wú)效等價(jià)類(lèi)的測(cè)試用例,使其覆蓋所有的無(wú)效等價(jià)類(lèi)。

先定一個(gè)小目標(biāo)!掌握QQ賬號(hào)合法性的等價(jià)類(lèi)劃分,能夠建立QQ賬號(hào)的等價(jià)類(lèi)劃分表與設(shè)計(jì)QQ賬號(hào)的測(cè)試用例2.1.2 實(shí)例一:QQ賬號(hào)合法性的等價(jià)類(lèi)劃分2.1.2 實(shí)例一:QQ賬號(hào)合法性的等價(jià)類(lèi)劃分QQ是一款基于互聯(lián)網(wǎng)的即時(shí)通信軟件,假設(shè)QQ賬號(hào)的要求是6~10位自然數(shù),在登錄QQ時(shí),可以根據(jù)QQ賬號(hào)的長(zhǎng)度判斷QQ賬號(hào)的合法性。下面以QQ賬號(hào)為測(cè)試對(duì)象,在判斷QQ賬號(hào)的合法性時(shí),需要明確2個(gè)條件:第1個(gè)條件是QQ賬號(hào)的長(zhǎng)度為6~10;第2個(gè)條件是QQ賬號(hào)的數(shù)據(jù)類(lèi)型為自然數(shù)。根據(jù)這2個(gè)條件可以將QQ賬號(hào)劃分為1個(gè)有效等價(jià)類(lèi)和5個(gè)無(wú)效等價(jià)類(lèi),具體如下。有效等價(jià)類(lèi):6~10位自然數(shù)。無(wú)效等價(jià)類(lèi):少于6位自然數(shù)(包含空值)。無(wú)效等價(jià)類(lèi):多于10位自然數(shù)。無(wú)效等價(jià)類(lèi):6~10位非自然數(shù)。無(wú)效等價(jià)類(lèi):少于6位非自然數(shù)(包含空值)。無(wú)效等價(jià)類(lèi):多于10位非自然數(shù)。2.1.2 實(shí)例一:QQ賬號(hào)合法性的等價(jià)類(lèi)劃分要求有效等價(jià)類(lèi)有效等價(jià)類(lèi)編號(hào)無(wú)效等價(jià)類(lèi)無(wú)效等價(jià)類(lèi)編號(hào)QQ賬號(hào)為6~10位自然數(shù)6~10位自然數(shù)1少于6位自然數(shù)(包含空值)2多于10位自然數(shù)36~10位非自然數(shù)4少于6位非自然數(shù)(包含空值)5多于10位非自然數(shù)6通過(guò)前面的分析,下面將6個(gè)等價(jià)類(lèi)進(jìn)行編號(hào),建立等價(jià)類(lèi)劃分表。QQ賬號(hào)的等價(jià)類(lèi)劃分表如下表所示。測(cè)試用例編號(hào)測(cè)試數(shù)據(jù)覆蓋等價(jià)類(lèi)編號(hào)預(yù)期結(jié)果test11472581QQ賬號(hào)合法test2123452QQ賬號(hào)不合法test3147258369123QQ賬號(hào)不合法test41234@&4QQ賬號(hào)不合法test5空值5QQ賬號(hào)不合法test6@#&888888886QQ賬號(hào)不合法2.1.2 實(shí)例一:QQ賬號(hào)合法性的等價(jià)類(lèi)劃分基于等價(jià)類(lèi)劃分法設(shè)計(jì)QQ賬號(hào)的測(cè)試用例如下表所示。

先定一個(gè)小目標(biāo)!掌握三角形問(wèn)題的等價(jià)類(lèi)劃分,能夠建立三角形輸入等價(jià)類(lèi)表、設(shè)計(jì)覆蓋有效與無(wú)效等價(jià)類(lèi)的測(cè)試用例2.1.3 實(shí)例二:三角形問(wèn)題的等價(jià)類(lèi)劃分2.1.3 實(shí)例二:三角形問(wèn)題的等價(jià)類(lèi)劃分案例描述三角形問(wèn)題是測(cè)試中廣泛使用的一個(gè)經(jīng)典案例,它要求輸入3個(gè)正數(shù)a、b、c作為三角形的3條邊,判斷這3個(gè)數(shù)構(gòu)成的是一般三角形、等邊三角形、等腰三角形,還是無(wú)法構(gòu)成三角形。如果使用等價(jià)類(lèi)劃分法設(shè)計(jì)三角形程序的測(cè)試用例,則需要將所有輸入數(shù)據(jù)劃分為不同的等價(jià)類(lèi)。案例分析對(duì)該案例進(jìn)行分析,程序要求輸入3個(gè)數(shù),并且是正數(shù),在輸入3個(gè)正數(shù)的基礎(chǔ)上判斷這3個(gè)數(shù)能否構(gòu)成三角形;如果能構(gòu)成三角形,再判斷它構(gòu)成的三角形是一般三角形、等腰三角形還是等邊三角形。如此可以按照相關(guān)步驟將輸入情況劃分為不同的等價(jià)類(lèi)。2.1.3 實(shí)例二:三角形問(wèn)題的等價(jià)類(lèi)劃分第1步判斷是否輸入了3個(gè)數(shù),可以將輸入情況劃分成1個(gè)有效等價(jià)類(lèi),4個(gè)無(wú)效等價(jià)類(lèi),具體如下。有效等價(jià)類(lèi):輸入3個(gè)數(shù)。無(wú)效等價(jià)類(lèi):輸入0個(gè)數(shù)。無(wú)效等價(jià)類(lèi):只輸入1個(gè)數(shù)。無(wú)效等價(jià)類(lèi):只輸入2個(gè)數(shù)。無(wú)效等價(jià)類(lèi):輸入超過(guò)3個(gè)數(shù)。第2步在輸入3個(gè)數(shù)的基礎(chǔ)上,判斷3個(gè)數(shù)是否為正數(shù),可以將輸入情況劃分為1個(gè)有效等價(jià)類(lèi),3個(gè)無(wú)效等價(jià)類(lèi),具體如下。有效等價(jià)類(lèi):3個(gè)數(shù)都是正數(shù)。無(wú)效等價(jià)類(lèi):有1個(gè)數(shù)小于等于0。無(wú)效等價(jià)類(lèi):有2個(gè)數(shù)小于等于0。無(wú)效等價(jià)類(lèi):3個(gè)數(shù)都小于等于0。2.1.3 實(shí)例二:三角形問(wèn)題的等價(jià)類(lèi)劃分第3步在輸入3個(gè)正數(shù)的基礎(chǔ)上,判斷3個(gè)數(shù)是否能構(gòu)成三角形,可以將輸入情況劃分為1個(gè)有效等價(jià)類(lèi)和1個(gè)無(wú)效等價(jià)類(lèi),具體如下。有效等價(jià)類(lèi):任意2個(gè)數(shù)之和大于第3個(gè)數(shù)。無(wú)效等價(jià)類(lèi):其中2個(gè)數(shù)之和小于等于第3個(gè)數(shù)。第4步在3個(gè)數(shù)構(gòu)成三角形的基礎(chǔ)上,判斷3個(gè)數(shù)是否能構(gòu)成等腰三角形,可以將輸入情況劃分成1個(gè)有效等價(jià)類(lèi)和1個(gè)無(wú)效等價(jià)類(lèi)。有效等價(jià)類(lèi):其中有2個(gè)數(shù)相等。無(wú)效等價(jià)類(lèi):3個(gè)數(shù)均不相等。2.1.3 實(shí)例二:三角形問(wèn)題的等價(jià)類(lèi)劃分第5步在構(gòu)成等腰三角形的基礎(chǔ)上,判斷這3個(gè)數(shù)能否構(gòu)成等邊三角形,可以將輸入情況劃分為1個(gè)有效等價(jià)類(lèi)和1個(gè)無(wú)效等價(jià)類(lèi),具體如下。有效等價(jià)類(lèi):3個(gè)數(shù)相等。無(wú)效等價(jià)類(lèi):3個(gè)數(shù)不相等。要求有效等價(jià)類(lèi)有效等價(jià)類(lèi)編號(hào)無(wú)效等價(jià)類(lèi)無(wú)效等價(jià)類(lèi)編號(hào)輸入3個(gè)數(shù)輸入3個(gè)數(shù)1輸入0個(gè)數(shù)2只輸入1個(gè)數(shù)3只輸入2個(gè)數(shù)4輸入超過(guò)3個(gè)數(shù)53個(gè)數(shù)是否都是正數(shù)3個(gè)數(shù)都是正數(shù)6有1個(gè)數(shù)小于等于07有2個(gè)數(shù)小于等于083個(gè)數(shù)都小于等于093個(gè)數(shù)是否能構(gòu)成三角形任意2個(gè)數(shù)之和大于第3個(gè)數(shù)10其中2個(gè)數(shù)之和小于等于第3個(gè)數(shù)113個(gè)數(shù)是否能構(gòu)成等腰三角形其中有2個(gè)數(shù)相等,a=b|a=c|b=c123個(gè)數(shù)均不相等133個(gè)數(shù)是否能構(gòu)成等邊三角形3個(gè)數(shù)相等,a=b=c143個(gè)數(shù)不相等15在前面分析中,一共將三角形程序的輸入劃分為了15個(gè)等價(jià)類(lèi),下面分別為等價(jià)類(lèi)編號(hào),并建立等價(jià)類(lèi)表,三角形程序輸入的等價(jià)類(lèi)表如下表所示。2.1.3 實(shí)例二:三角形問(wèn)題的等價(jià)類(lèi)劃分下面根據(jù)三角形輸入等價(jià)類(lèi)表,設(shè)計(jì)測(cè)試用例覆蓋等價(jià)類(lèi)。首先設(shè)計(jì)覆蓋有效等價(jià)類(lèi)的測(cè)試用例,在設(shè)計(jì)時(shí),既要考慮測(cè)試輸入情況的全面性,又要考慮對(duì)有效等價(jià)類(lèi)的覆蓋情況,覆蓋有效等價(jià)類(lèi)的測(cè)試用例如下表所示。2.1.3 實(shí)例二:三角形問(wèn)題的等價(jià)類(lèi)劃分測(cè)試用例輸入3個(gè)數(shù)覆蓋有效等價(jià)類(lèi)的編號(hào)test13451610test2668161012test366616101214覆蓋有效等價(jià)類(lèi)的測(cè)試用例表設(shè)計(jì)了4個(gè)測(cè)試用例覆蓋了全部的有效等價(jià)類(lèi),無(wú)效等價(jià)類(lèi)測(cè)試用例的設(shè)計(jì)原則與有效等價(jià)類(lèi)測(cè)試用例的設(shè)計(jì)原則相同,覆蓋無(wú)效等價(jià)類(lèi)的測(cè)試用例如下表所示。2.1.3 實(shí)例二:三角形問(wèn)題的等價(jià)類(lèi)劃分測(cè)試用例輸入數(shù)值覆蓋無(wú)效等價(jià)類(lèi)的編號(hào)test1-1-1-19test2-1-158test3-1457test4輸入0個(gè)數(shù)據(jù)2test513test6124test713411test812345test934513test1033515

先定一個(gè)小目標(biāo)!掌握余額寶提現(xiàn)的等價(jià)類(lèi)劃分,能夠?qū)τ囝~寶的提現(xiàn)功能進(jìn)行測(cè)試2.1.4 實(shí)例三:余額寶提現(xiàn)的等價(jià)類(lèi)劃分案例描述余額寶是一個(gè)余額增值服務(wù)和活期資金管理服務(wù)產(chǎn)品,可以把一些零錢(qián)存入余額寶產(chǎn)生利息,也可以將余額寶中的錢(qián)提現(xiàn)。余額寶的提現(xiàn)方式有2種:快速到賬(2小時(shí)),每日最高提現(xiàn)額度為10000元;普通到賬,可提取金額為余額寶中的最大余額,但到賬時(shí)間會(huì)慢一些。2.1.4 實(shí)例三:余額寶提現(xiàn)的等價(jià)類(lèi)劃分1.快速到賬如果選擇快速到賬,則可將提現(xiàn)功能劃分為1個(gè)有效等價(jià)類(lèi)和2個(gè)無(wú)效等價(jià)類(lèi),具體如下。有效等價(jià)類(lèi):0元<提現(xiàn)金額≤10000元。無(wú)效等價(jià)類(lèi):提現(xiàn)金額≤0元。無(wú)效等價(jià)類(lèi):提現(xiàn)金額>10000元。2.普通到賬如果選擇普通到賬,則可將提現(xiàn)功能劃分為1個(gè)有效等價(jià)類(lèi)和2個(gè)無(wú)效等價(jià)類(lèi),具體如下。有效等價(jià)類(lèi):0元<提現(xiàn)金額≤余額。無(wú)效等價(jià)類(lèi):提現(xiàn)金額≤0元。無(wú)效等價(jià)類(lèi):提現(xiàn)金額>余額。2.1.4 實(shí)例三:余額寶提現(xiàn)的等價(jià)類(lèi)劃分對(duì)余額寶的提現(xiàn)功能進(jìn)行測(cè)試,首先對(duì)余額寶提現(xiàn)功能進(jìn)行等價(jià)類(lèi)劃分。根據(jù)前面分析,余額寶提現(xiàn)功能一共可劃分為6個(gè)等價(jià)類(lèi),余額寶提現(xiàn)功能的等價(jià)類(lèi)表如下表所示。功能有效等價(jià)類(lèi)編號(hào)無(wú)效等價(jià)類(lèi)編號(hào)快速到賬0元<提現(xiàn)金額≤10000元1提現(xiàn)金額≤0元2提現(xiàn)金額>10000元3普通到賬0<提現(xiàn)金額≤余額4提現(xiàn)金額≤0元5提現(xiàn)金額>余額62.1.4 實(shí)例三:余額寶提現(xiàn)的等價(jià)類(lèi)劃分細(xì)分后的余額寶提現(xiàn)功能等價(jià)類(lèi)表如下表所示。功能有效等價(jià)類(lèi)編號(hào)無(wú)效等價(jià)類(lèi)編號(hào)快速到賬(第1次)0元<提現(xiàn)金額<=10000元1提現(xiàn)金額≤0元2提現(xiàn)金額>10000元3快速到賬(第n次)0元<提現(xiàn)金額<=10000-已提現(xiàn)金額7提現(xiàn)金額≤0元8提現(xiàn)金額>10000-已提現(xiàn)金額9普通到賬0元<提現(xiàn)金額≤余額4提現(xiàn)金額≤0元56提現(xiàn)金額>余額2.1.4 實(shí)例三:余額寶提現(xiàn)的等價(jià)類(lèi)劃分下面根據(jù)建立的等價(jià)類(lèi)表來(lái)設(shè)計(jì)測(cè)試用例進(jìn)行測(cè)試,假如現(xiàn)在余額寶中有50000元余額,則覆蓋有效等價(jià)類(lèi)的測(cè)試用例和覆蓋無(wú)效等價(jià)類(lèi)的測(cè)試用例分別如下所示。測(cè)試用例功能金額/元覆蓋有效等價(jià)類(lèi)編號(hào)test1快速到賬(第1次)10001test2快速到賬(第n次,已提現(xiàn)2000元)70007test3普通到賬4000042.1.4 實(shí)例三:余額寶提現(xiàn)的等價(jià)類(lèi)劃分覆蓋有效等價(jià)類(lèi)的測(cè)試用例測(cè)試用例功能金額/元覆蓋無(wú)效等價(jià)類(lèi)編號(hào)test4快速到賬(第1次)-100002test5200003test6快速到賬(第n次,已提現(xiàn)2000)-20008test790009test8普通到賬-30005test96000062.1.4 實(shí)例三:余額寶提現(xiàn)的等價(jià)類(lèi)劃分覆蓋無(wú)效等價(jià)類(lèi)的測(cè)試用例邊界值分析法2.2

先定一個(gè)小目標(biāo)!熟悉邊界值分析法的概述,能夠歸納什么是邊界值分析法2.2.1 邊界值分析法概述邊界值分析法是對(duì)軟件的輸入或輸出邊界進(jìn)行測(cè)試的一種方法,它通常作為等價(jià)類(lèi)劃分法的一種補(bǔ)充測(cè)試。對(duì)于軟件來(lái)說(shuō),錯(cuò)誤經(jīng)常發(fā)生在輸入或輸出值的關(guān)鍵點(diǎn),即從符合需求到不符合需求的關(guān)鍵點(diǎn),因此邊界值分析法在等價(jià)類(lèi)的邊界上執(zhí)行軟件測(cè)試工作,它的所有測(cè)試用例都是在等價(jià)類(lèi)的邊界處設(shè)計(jì)的。2.2.1 邊界值分析法概述在等價(jià)類(lèi)劃分法中,無(wú)論是輸入值還是輸出值,都會(huì)有多個(gè)邊界,而邊界值分析法是在這些邊界附近尋找某些點(diǎn)作為測(cè)試值,而不是在等價(jià)類(lèi)內(nèi)部選擇測(cè)試值。在使用邊界值分析法時(shí),可以通過(guò)確定邊界的3個(gè)點(diǎn)來(lái)設(shè)計(jì)測(cè)試用例,這3個(gè)點(diǎn)分別是上點(diǎn)、離點(diǎn)和內(nèi)點(diǎn)。上點(diǎn)是指邊界上的點(diǎn),離點(diǎn)是指距離邊界最近的點(diǎn),內(nèi)點(diǎn)是指需求給定范圍內(nèi)的點(diǎn)。在等價(jià)類(lèi)中選擇邊界值時(shí),如果輸入條件規(guī)定了取值范圍或取值個(gè)數(shù),則在選取邊界值時(shí)可選取5個(gè)測(cè)試值或7個(gè)測(cè)試值。如果選取5個(gè)測(cè)試值,即在2個(gè)邊界值內(nèi)選取5個(gè)測(cè)試值:最小值、略大于最小值、正常值、略小于最大值、最大值。2.2.1 邊界值分析法概述例如,輸入條件規(guī)定取值范圍為1~100,則可以選取0、1、50、100和101作為測(cè)試值。如果選取7個(gè)測(cè)試值,則在取值范圍兩側(cè)再各選取一個(gè)測(cè)試值,這7個(gè)值分別是略小于最小值、最小值、略大于最小值、正常值、略小于最大值、最大值、略大于最大值,對(duì)于上述輸入條件,可選取0、1、2、50、99、100和101作為測(cè)試值,1~100邊界值選取如下表所示。選取方案選取數(shù)據(jù)選取5個(gè)值0150100101選取7個(gè)值01250991001012.2.1 邊界值分析法概述

先定一個(gè)小目標(biāo)!掌握QQ賬號(hào)合法性的邊界值分析,能夠設(shè)計(jì)QQ賬號(hào)邊界值分析測(cè)試用例2.2.2 實(shí)例一:QQ賬號(hào)合法性的邊界值分析在2.1.2節(jié)中,使用等價(jià)類(lèi)劃分法設(shè)計(jì)了QQ賬號(hào)的測(cè)試用例。在實(shí)際的測(cè)試工作中,通常有大量的缺陷出現(xiàn)在輸入或輸出范圍的邊界上,而不是出現(xiàn)在輸入或輸出范圍的內(nèi)部,下面針對(duì)QQ賬號(hào)的邊界情況來(lái)設(shè)計(jì)測(cè)試用例。通過(guò)分析2.1.2節(jié)中的需求可以知道,QQ賬號(hào)要求是6~10位自然數(shù),根據(jù)上點(diǎn)、離點(diǎn)和內(nèi)點(diǎn)即可確定邊界范圍,具體如下。上點(diǎn):6、10。離點(diǎn):5、7、9、11。內(nèi)點(diǎn):8。2.2.2 實(shí)例一:QQ賬號(hào)合法性的邊界值分析根據(jù)上述邊界范圍即可設(shè)計(jì)測(cè)試用例,QQ賬號(hào)邊界值分析測(cè)試用例如下表所示。測(cè)試用例編號(hào)測(cè)試數(shù)據(jù)被測(cè)邊界值預(yù)期結(jié)果test1147255QQ賬號(hào)不合法test21234566QQ賬號(hào)合法test313456787QQ賬號(hào)合法test4236166668QQ賬號(hào)合法test55647891009QQ賬號(hào)合法test6331655666610QQ賬號(hào)合法test73316556689711QQ賬號(hào)不合法2.2.2 實(shí)例一:QQ賬號(hào)合法性的邊界值分析

先定一個(gè)小目標(biāo)!掌握三角形問(wèn)題的邊界值分析,能夠設(shè)計(jì)三角形邊界值分析測(cè)試用例2.2.3 實(shí)例二:三角形問(wèn)題的邊界值分析在2.1.3節(jié)中,講解了三角形問(wèn)題的等價(jià)類(lèi)劃分,在等價(jià)類(lèi)劃分中,除了要求輸入數(shù)據(jù)為3個(gè)正數(shù)外,沒(méi)有給出其他限制條件。如果要求三角形邊長(zhǎng)取值范圍為1~100,則可以使用邊界值分析法對(duì)三角形邊界邊長(zhǎng)的邊界進(jìn)行測(cè)試。在設(shè)計(jì)測(cè)試用例時(shí),分別選取0、1、2、50、99、100、101這7個(gè)值作為測(cè)試值,由于三角形的邊長(zhǎng)不能取0,所以數(shù)值0可以忽略。三角形邊長(zhǎng)的邊界值分析測(cè)試用例如下表所示。測(cè)試用例輸入3個(gè)數(shù)被測(cè)邊界值預(yù)期結(jié)果test1505011等腰三角形test250502等腰三角形test3505050無(wú)等邊三角形test4505099100等腰三角形test55050100不構(gòu)成三角形test65050101不構(gòu)成三角形2.2.3 實(shí)例二:三角形問(wèn)題的邊界值分析

先定一個(gè)小目標(biāo)!掌握余額寶提現(xiàn)的邊界值分析,能夠設(shè)計(jì)余額寶提現(xiàn)邊界值分析測(cè)試用例2.2.4 實(shí)例三:余額寶提現(xiàn)的邊界值分析在2.1.4小節(jié)中,講解了余額寶提現(xiàn)功能的等價(jià)類(lèi)劃分,余額寶快速到賬的日提現(xiàn)額度最高為10000元,如果余額寶中的余額小于1000元,則普通到賬的提現(xiàn)額度最高為余額。假設(shè)余額寶中余額為50000元,則在進(jìn)行邊界值分析時(shí),如果是第1次快速到賬提現(xiàn),則分別對(duì)0和10000這2個(gè)邊界值進(jìn)行測(cè)試,分別取-1、0、1、5000、9999、10000、10001這7個(gè)值作為測(cè)試值;如果是第n次快速到賬提現(xiàn)(假設(shè)已提現(xiàn)2000元),則分別對(duì)0和8000這2個(gè)邊界值進(jìn)行測(cè)試,分別取-1、0、1、5000、7999、8000、8001這7個(gè)值作為測(cè)試值;如果是普通到賬提現(xiàn),則對(duì)0和50000這2個(gè)邊界值進(jìn)行測(cè)試,分別取-1、0、1、20000、49999、50000、50001這7個(gè)值作為測(cè)試值。2.2.4 實(shí)例三:余額寶提現(xiàn)的邊界值分析根據(jù)前面分析即可設(shè)計(jì)測(cè)試用例,余額寶提現(xiàn)邊界值分析的測(cè)試用例如下表所示。測(cè)試用例功能金額被測(cè)邊界預(yù)期輸出test1快速到賬(第1次)-10無(wú)法提現(xiàn)test20無(wú)法提現(xiàn)test311test45000無(wú)5000test59999100009999test61000010000test710001無(wú)法提現(xiàn)2.2.4 實(shí)例三:余額寶提現(xiàn)的邊界值分析測(cè)試用例功能金額被測(cè)邊界預(yù)期輸出test8快速到賬(第n次)-10無(wú)法提現(xiàn)test90無(wú)法提現(xiàn)test1011test115000無(wú)5000test12799980007999test1380008000test148001無(wú)法提現(xiàn)2.2.4 實(shí)例三:余額寶提現(xiàn)的邊界值分析測(cè)試用例功能金額被測(cè)邊界預(yù)期輸出test15普通到賬-10無(wú)法提現(xiàn)test160無(wú)法提現(xiàn)test1711test1820000無(wú)20000test19499995000049999test205000050000test2150001無(wú)法提現(xiàn)2.2.4 實(shí)例三:余額寶提現(xiàn)的邊界值分析因果圖法與決策表法2.3

先定一個(gè)小目標(biāo)!掌握因果圖法的概述,能夠通過(guò)因果圖法設(shè)計(jì)測(cè)試用例2.3.1 因果圖法概述因果圖法是一種利用圖解法分析輸入的各種組合情況的測(cè)試方法,它考慮了輸入條件的各種組合及輸入條件之間的相互制約關(guān)系,并考慮了輸出情況。例如,某一軟件要求輸入的地址具體到市區(qū),例如“北京→昌平區(qū)”“天津→南開(kāi)區(qū)”,其中第二個(gè)輸入受到第一個(gè)輸入的約束,輸入的城區(qū)只能在輸入的城市中選擇,否則輸入的地址無(wú)效。像這樣多個(gè)輸入之間有相互制約關(guān)系的情況,就無(wú)法使用等價(jià)類(lèi)劃分法和邊界值分析法設(shè)計(jì)測(cè)試用例。因果圖法就是為了解決多個(gè)輸入之間的作用關(guān)系而產(chǎn)生的測(cè)試用例設(shè)計(jì)方法。2.3.1 因果圖法概述下面介紹如何使用因果圖展示多個(gè)輸入、輸出之間的關(guān)系,并且學(xué)習(xí)如何通過(guò)因果圖法設(shè)計(jì)測(cè)試用例。1.

使用因果圖展示多個(gè)輸入、輸出之間的關(guān)系因果圖需要處理輸入之間的作用關(guān)系,還要考慮輸出情況,因此它包含了復(fù)雜的邏輯關(guān)系。這些復(fù)雜的邏輯關(guān)系通常用圖來(lái)展現(xiàn),這些圖就是因果圖。因果圖使用一些簡(jiǎn)單的邏輯符號(hào)和直線(xiàn)將程序的原因(輸入)與結(jié)果(輸出)連接起來(lái),一般原因用ci表示,結(jié)果用ei表示,ci與ei可以取值“0”或“1”,其中“0”表示狀態(tài)不出現(xiàn),“1”表示狀態(tài)出現(xiàn)。ci與ei之間有恒等、非(~)、或(∨)、與(∧)這4種關(guān)系,如下圖所示。2.3.1 因果圖法概述上一頁(yè)中展示了輸入、輸出之間的4種關(guān)系,每種關(guān)系的具體含義如下。恒等:在恒等關(guān)系中,要求程序有一個(gè)輸入和一個(gè)輸出,輸出與輸入保持一致。若c1為1,則e1也為1,若c1為0,則e1也為0。非:非使用符號(hào)“~”表示,在非關(guān)系中,要求程序有一個(gè)輸入和一個(gè)輸出,輸出是輸入的取反。若c1為1,則e1為0,若c1為0,則e1為1?;颍夯蚴褂梅?hào)“∨”表示,或關(guān)系可以有多個(gè)輸入,只要這些輸入中有一個(gè)為1,則輸出為1,否則輸出為0。與:與使用符號(hào)“∧”表示,與關(guān)系也可以有多個(gè)輸入,但只有這些輸入全部為1,輸出才能為1,否則輸出為0。2.3.1 因果圖法概述在軟件測(cè)試中,如果程序有多個(gè)輸入,那么除了輸入與輸出之間的作用關(guān)系之外,這些輸入之間往往也會(huì)存在某些依賴(lài)關(guān)系,即某些輸入條件本身不能同時(shí)出現(xiàn)或某一種輸入可能會(huì)影響其他輸入。例如,某一軟件用于統(tǒng)計(jì)體檢信息,在輸入個(gè)人信息時(shí),性別只能輸入男或女,這2種輸入不能同時(shí)存在,而且如果輸入性別為女,那么體檢項(xiàng)就會(huì)受到限制。這些依賴(lài)關(guān)系在軟件測(cè)試中稱(chēng)為“約束”,約束的類(lèi)別可分為4種:E(Exclusive,異)、I(atleastone,或)、O(oneandonlyone,唯一)、R(Requires,要求)。在因果圖中,用特定的符號(hào)表明這些約束關(guān)系,多個(gè)輸入之間的約束符號(hào)如下圖所示。2.3.1 因果圖法概述上一頁(yè)中的圖展示了多個(gè)輸入之間的約束符號(hào),這些約束關(guān)系的含義具體如下所示。E(異):a和b中最多只能有一個(gè)為1,即a和b不能同時(shí)為1。I(或):a、b和c中至少有一個(gè)必須是1,即a、b、c不能同時(shí)為0。O(唯一):a和b有且僅有一個(gè)為1。R(要求):a和b必須保持一致,即a為1時(shí),b也必須為1,a為0時(shí),b也必須為0。上面這4種都是關(guān)于輸入條件的約束。除了輸入條件,輸出條件也會(huì)相互約束。輸出條件的約束只有一種,即M(Mask,強(qiáng)制)。在因果圖中,使用特定的符號(hào)表示輸出條件之間的強(qiáng)制約束關(guān)系,如下圖所示。2.3.1 因果圖法概述在輸出條件的強(qiáng)制約束關(guān)系中,如果a為1,則b強(qiáng)制為0,如果a為0,則b強(qiáng)制為1。2.

使用因果圖法設(shè)計(jì)測(cè)試用例的步驟2.3.1 因果圖法概述因果圖法設(shè)計(jì)測(cè)試用例的5個(gè)步驟(1)分析程序規(guī)格說(shuō)明書(shū)描述內(nèi)容,確定程序的輸入與輸出,即確定“原因”和“結(jié)果”。(2)分析輸入與輸入之間、輸入與輸出之間的對(duì)應(yīng)關(guān)系,將這些輸入與輸出之間的關(guān)系使用因果圖表示出來(lái)。(3)由于語(yǔ)法與環(huán)境的限制,有些輸入與輸入之間、輸入與輸出之間的組合情況是不可能出現(xiàn)的,對(duì)于這種情況,使用符號(hào)標(biāo)記它們之間的限制或約束關(guān)系。(4)將因果圖轉(zhuǎn)換為決策表。(決策表將在下一小節(jié)學(xué)習(xí))(5)根據(jù)決策表設(shè)計(jì)測(cè)試用例。

先定一個(gè)小目標(biāo)!掌握決策表法的概述,能夠通過(guò)決策表設(shè)計(jì)出完整的測(cè)試用例集合2.3.2 決策表法概述在實(shí)際測(cè)試中,如果輸入條件較多,再加上各種輸入與輸出之間相互作用關(guān)系,畫(huà)出的因果圖就會(huì)比較復(fù)雜,讓人不易理解。為了避免這種情況出現(xiàn),測(cè)試人員往往使用決策表法代替因果圖法。決策表也稱(chēng)為判定表,其實(shí)質(zhì)就是一種邏輯表。在程序設(shè)計(jì)發(fā)展初期,判定表就已經(jīng)被當(dāng)作程序開(kāi)發(fā)的輔助工具了,用于幫助開(kāi)發(fā)人員設(shè)計(jì)開(kāi)發(fā)模式和整理開(kāi)發(fā)流程,因?yàn)樗梢园褟?fù)雜的邏輯關(guān)系和多種條件組合的情況表達(dá)得既具體又明確,利用決策表可以設(shè)計(jì)出完整的測(cè)試用例集合。2.3.2 決策表法概述為了讓讀者明白什么是決策表,下面以一個(gè)“圖書(shū)閱讀指南”為例來(lái)制作一個(gè)決策表,“圖書(shū)閱讀指南”指明了圖書(shū)閱讀過(guò)程中可能出現(xiàn)的情況,以及針對(duì)各種情況給讀者的建議。在圖書(shū)閱讀過(guò)程中可能會(huì)出現(xiàn)3種情況:是否疲倦、是否對(duì)內(nèi)容感興趣、對(duì)書(shū)中內(nèi)容是否感到不理解,如果回答是“是”,則使用“Y”標(biāo)記,如果回答是“否”,則使用“N”標(biāo)記。這3種情況可以有23=8種組合,針對(duì)這8種組合,閱讀指南給讀者提供了4條建議:回到本章開(kāi)頭重讀、繼續(xù)讀下去、跳到下一章去讀、停止閱讀并休息,據(jù)此制作的“圖書(shū)閱讀指南”決策表如下表所示。2.3.2 決策表法概述“圖書(shū)閱讀指南”決策表情況與建議12345678情況是否疲倦YYYYNNNN是否對(duì)內(nèi)容感興趣YYNNNYYN對(duì)書(shū)中內(nèi)容是否感到不理解YNNYYYNN建議回到本章開(kāi)頭重讀√繼續(xù)讀下去√跳到下一章去讀√√停止閱讀并休息√√√√2.3.2 決策表法概述簡(jiǎn)化后的“圖書(shū)閱讀指南”決策表情況與建議1234情況是否疲倦YNNN是否對(duì)內(nèi)容感興趣-NYY對(duì)書(shū)中內(nèi)容是否感到不理解--YN建議回到本章開(kāi)頭重讀√繼續(xù)讀下去√跳到下一章去讀√停止閱讀并休息√2.3.2 決策表法概述決策表通常由4個(gè)部分組成,具體如下。條件樁:用于列出問(wèn)題的所有條件,除了某些問(wèn)題對(duì)條件的先后次序有要求外,通常決策表中所列條件的先后次序都無(wú)關(guān)緊要。條件項(xiàng):條件樁的所有可能取值。動(dòng)作樁:對(duì)問(wèn)題可能采取的動(dòng)作,這些動(dòng)作一般沒(méi)有先后次序之分。動(dòng)作項(xiàng):指出在條件項(xiàng)的各組取值情況下應(yīng)采取的動(dòng)作。這4個(gè)組成部分對(duì)應(yīng)到“圖書(shū)閱讀指南”決策表中,條件樁包括是否疲倦、是否對(duì)內(nèi)容感興趣、對(duì)書(shū)中內(nèi)容是否感到不理解;條件項(xiàng)包括“Y”與“N”;動(dòng)作樁包括回到本章開(kāi)頭重讀、繼續(xù)讀下去、跳到下一章去讀、停止閱讀并休息;動(dòng)作項(xiàng)是指在綜合情況下所采取的具體動(dòng)作,例如“√”表示確認(rèn)執(zhí)行綜合情況下采取的具體動(dòng)作,動(dòng)作項(xiàng)與條件項(xiàng)緊密相關(guān),它的取值取決于條件項(xiàng)的各組取值情況。在決策表中,任何一個(gè)條件組合的特定取值及其相應(yīng)要執(zhí)行的操作稱(chēng)為一條規(guī)則,即決策表中的每一列就是一條規(guī)則,每一列都可以用于設(shè)計(jì)一個(gè)測(cè)試用例。根據(jù)決策表設(shè)計(jì)測(cè)試用例可以避免遺漏。2.3.2 決策表法概述在實(shí)際測(cè)試中,條件樁通常有多個(gè),而且每個(gè)條件樁都有真、假2個(gè)條件項(xiàng),有n個(gè)條件樁的決策表就會(huì)有2n條規(guī)則。如果為每條規(guī)則都設(shè)計(jì)一個(gè)測(cè)試用例,不僅工作量大,而且有些工作量可能是重復(fù)的、無(wú)意義的。例如,在“圖書(shū)閱讀指南”決策表中,以第1、2條規(guī)則為例,第1條規(guī)則取值為:Y、Y、Y,執(zhí)行結(jié)果為“停止閱讀并休息”;第2條規(guī)則取值為:Y、Y、N,執(zhí)行結(jié)果也為“停止閱讀并休息”。對(duì)于這2條規(guī)則來(lái)說(shuō),前2個(gè)問(wèn)題的取值相同,執(zhí)行結(jié)果一樣,因此第3個(gè)問(wèn)題的取值對(duì)結(jié)果并無(wú)影響,這個(gè)問(wèn)題就稱(chēng)為無(wú)關(guān)條件項(xiàng),使用“-”表示。忽略無(wú)關(guān)條件項(xiàng),可以將這2條規(guī)則進(jìn)行合并。2.3.2 決策表法概述合并規(guī)則1與規(guī)則2如下圖所示。2.3.2 決策表法概述規(guī)則1與規(guī)則2合并成了一條規(guī)則。由于合并之后的無(wú)關(guān)條件項(xiàng)包含其他條件項(xiàng)取值,因此具有相同動(dòng)作的規(guī)則還可進(jìn)一步合并,如下圖所示。上圖中只是演示合并后的規(guī)則,其還可以與其他規(guī)則進(jìn)一步合并,但規(guī)則1與規(guī)則2合并之后就不再存在于決策表中。

先定一個(gè)小目標(biāo)!掌握零食自動(dòng)售貨機(jī)售貨情況的因果圖與決策表的繪制,能夠通過(guò)因果圖與決策表設(shè)計(jì)零食自動(dòng)售貨機(jī)的測(cè)試用例2.3.3 實(shí)例一:零食自動(dòng)售貨機(jī)售貨情況的因果圖與決策表繪制為了演示因果圖與決策表的應(yīng)用,下面以零食自動(dòng)售貨機(jī)為例,講解使用5角的硬幣和1元的硬幣在零食自動(dòng)售貨機(jī)上購(gòu)買(mǎi)零食的過(guò)程,并繪制因果圖與決策表。假設(shè)零食自動(dòng)售貨機(jī)主要售賣(mài)糖果和餅干,其中糖果和餅干的單價(jià)均為5角,每次只能投入一枚5角的硬幣或一枚1元的硬幣,并按“糖果”按鈕或“餅干“按鈕”進(jìn)行購(gòu)買(mǎi),不能同時(shí)按“糖果”按鈕和餅干“按鈕”。零食自動(dòng)售貨機(jī)的具體使用說(shuō)明如下。如果售貨機(jī)中沒(méi)有5角的硬幣供找回,則亮紅燈,提示顧客此種情況下不要投入1元的硬幣;如果有5角的硬幣供找回,則紅燈不亮。如果顧客投入5角的硬幣并按“糖果”按鈕或“餅干”按鈕,則送出糖果或餅干。如果顧客投入1元的硬幣并按“糖果”按鈕或“餅干”按鈕,且售貨機(jī)有5角的零錢(qián)找回,則退出一枚5角的硬幣并送出糖果或餅干。如果顧客投入1元的硬幣并按下“糖果”按鈕或“餅干”按鈕,若售貨機(jī)沒(méi)有5角的零錢(qián)找回,則亮紅燈,然后退出1元的硬幣,無(wú)法送出糖果或餅干。2.3.3 實(shí)例一:零食自動(dòng)售貨機(jī)售貨情況的因果圖與決策表繪制通過(guò)分析前面4條使用說(shuō)明,列出原因與結(jié)果,零食自動(dòng)售貨機(jī)的原因與結(jié)果如下表所示。原因結(jié)果投入5角的硬幣c1送出糖果e1投入1元的硬幣c2送出餅干e2按“糖果”按鈕c3退出5角的硬幣e3按“餅干”按鈕c4退出1元的硬幣e4售貨機(jī)有沒(méi)有5角的零錢(qián)可找回c5售貨機(jī)沒(méi)有5角的零錢(qián)找回,亮紅燈e52.3.3 實(shí)例一:零食自動(dòng)售貨機(jī)售貨情況的因果圖與決策表繪制零食自動(dòng)售貨機(jī)的決策表原因與結(jié)果12345678原因c1YYYYc2YYYYc3YYYYc4YYYYc5NYNYYYNN結(jié)果e1√√√e2√√√e3√√e4√√e5√√2.3.3 實(shí)例一:零食自動(dòng)售貨機(jī)售貨情況的因果圖與決策表繪制簡(jiǎn)化后的零食自動(dòng)售貨機(jī)的決策表原因與結(jié)果12345原因c1YYc2YYYc3YY-c4YY-c5--YYN結(jié)果e1√√e2√√e3√√e4√e5√2.3.3 實(shí)例一:零食自動(dòng)售貨機(jī)售貨情況的因果圖與決策表繪制根據(jù)合并后的決策表設(shè)計(jì)5個(gè)零食自動(dòng)售貨機(jī)的測(cè)試用例,如下表所示。測(cè)試用例投入硬幣選擇零食是否有零錢(qián)預(yù)期結(jié)果test15角錢(qián)選擇糖果無(wú)關(guān)條件項(xiàng)送出糖果test25角錢(qián)選擇餅干無(wú)關(guān)條件項(xiàng)送出餅干test31元錢(qián)選擇糖果有送出糖果并退出5角錢(qián)硬幣test41元錢(qián)選擇餅干有送出餅干并退出5角錢(qián)硬幣test51元錢(qián)無(wú)關(guān)條件項(xiàng)沒(méi)有亮紅燈并退出1元錢(qián)硬幣2.3.3 實(shí)例一:零食自動(dòng)售貨機(jī)售貨情況的因果圖與決策表繪制

先定一個(gè)小目標(biāo)!掌握三角形問(wèn)題的因果圖與決策表的繪制,能夠通過(guò)因果圖與決策表設(shè)計(jì)三角形的測(cè)試用例2.3.4 實(shí)例二:三角形問(wèn)題的因果圖與決策表繪制三角形問(wèn)題是一個(gè)非常經(jīng)典的案例,下面將使用三角形講解決策表的繪制與測(cè)試用例的設(shè)計(jì)。三角形的三邊是否能構(gòu)成三角形,如果能構(gòu)成三角形,那么是構(gòu)成一般三角形、等腰三角形還是等邊三角形,據(jù)此分析,假設(shè)三角形的三邊分別為a、b、c,則三角形問(wèn)題有4個(gè)原因:是否構(gòu)成三角形、a=b?、b=c?、c=a?;有5個(gè)結(jié)果:不構(gòu)成三角形、一般三角形、等腰三角形、等邊三角形、不符合邏輯,三角形問(wèn)題的原因與結(jié)果如下表所示。2.3.4 實(shí)例二:三角形問(wèn)題的因果圖與決策表繪制原因結(jié)果是否構(gòu)成三角形c1不構(gòu)成三角形e1a=b?c2一般三角形e2b=c?c3等腰三角形e3a=c?c4等邊三角形e4不符合邏輯e5原因與結(jié)果12345678910111213141516原因c1YYYYYYYYNNNNNNNNc2YNYNNYYNYNYYNYNNc3YNNYNYNYYYNYNNYNc4YNNNYNYYYYYNYNNN結(jié)果e1

√√√√√√√√e2

e3

√√√

e4√

e5

√√√

三角形決策表2.3.4 實(shí)例二:三角形問(wèn)題的因果圖與決策表繪制原因與結(jié)果123456789原因c1YYYYYYYYNc2YNYNNYYN-c3YNNYNYNY-c4YNNNYNYY-結(jié)果e1

√e2

e3

√√√

e4√

e5

√√√

簡(jiǎn)化后的三角形決策表2.3.4 實(shí)例二:三角形問(wèn)題的因果圖與決策表繪制三角形測(cè)試用例2.3.4 實(shí)例二:三角形問(wèn)題的因果圖與決策表繪制測(cè)試用例abc預(yù)期結(jié)果test1333等邊三角形test2345一般三角形test3334等腰三角形test4433等腰三角形test5343等腰三角形test6???不符合邏輯test7???不符合邏輯test8???不符合邏輯test9123不構(gòu)成三角形

先定一個(gè)小目標(biāo)!掌握工資發(fā)放情況的因果圖與決策表的繪制,能夠通過(guò)因果圖與決策表設(shè)計(jì)員工工資的測(cè)試用例2.3.5 實(shí)例三:工資發(fā)放情況的因果圖與決策表繪制某公司的薪資管理制度如下:?jiǎn)T工工資分為年薪制與月薪制2種,員工的犯錯(cuò)類(lèi)型包括普通錯(cuò)誤與嚴(yán)重錯(cuò)誤2種,如果是年薪制的員工,犯普通錯(cuò)誤扣款2%,犯嚴(yán)重錯(cuò)誤扣款4%;如果是月薪制的員工,犯普通錯(cuò)誤扣款4%,犯嚴(yán)重錯(cuò)誤扣款8%。該公司編寫(xiě)了一款軟件用于對(duì)員工工資的計(jì)算發(fā)放,現(xiàn)在要對(duì)該軟件進(jìn)行測(cè)試。2.3.5 實(shí)例三:工資發(fā)放情況的因果圖與決策表繪制對(duì)公司員工工資管理進(jìn)行分析,可得出員工工資由4個(gè)因素決定,即年薪、月薪、普通錯(cuò)誤、嚴(yán)重錯(cuò)誤,其中年薪與月薪不可能并存,但普通錯(cuò)誤與嚴(yán)重錯(cuò)誤可以并存;而員工最終扣款結(jié)果有7種,即未扣款、扣款2%、扣款4%、扣款6%(2%+4%)、扣款4%、扣款8%、扣款12%(4%+8%)。由此總結(jié)出員工工資發(fā)放情況的原因與結(jié)果,如下表所示。原因結(jié)果年薪c1未扣款e1月薪c2扣款2%e2扣款4%e3普通錯(cuò)誤c3扣款6%e4扣款4%e5嚴(yán)重錯(cuò)誤c4扣款8%e6扣款12%e72.3.5 實(shí)例三:工資發(fā)放情況的因果圖與決策表繪制原因與結(jié)果12345678原因c1YYYY

c2

YYYYc3NYNYNYNYc4NNYYNNYY結(jié)果e1√

e2

e3

e4

e5

e6

e7

√員工工資原因與結(jié)果表中有4個(gè)原因,每個(gè)原因有“Y”和“N”2個(gè)取值,理論上可以組成24=16條規(guī)則,由于c1與c2不能并存,所以只有23=8條規(guī)則,如下表所示。2.3.5 實(shí)例三:工資發(fā)放情況的因果圖與決策表繪制員工工資測(cè)試用例測(cè)試用例薪資制度薪資錯(cuò)誤程度扣款test1年薪制200000無(wú)0test2250000普通5000test3300000嚴(yán)重12000test4350000普通+嚴(yán)重21000test5月薪制8000無(wú)0test610000普通400test715000嚴(yán)重1200test88000普通+嚴(yán)重9602.3.5 實(shí)例三:工資發(fā)放情況的因果圖與決策表繪制正交實(shí)驗(yàn)設(shè)計(jì)法2.4

先定一個(gè)小目標(biāo)!掌握正交實(shí)驗(yàn)設(shè)計(jì)法的概述,能夠通過(guò)正交實(shí)驗(yàn)設(shè)計(jì)法設(shè)計(jì)測(cè)試用例2.4.1 正交實(shí)驗(yàn)設(shè)計(jì)法概述正交實(shí)驗(yàn)設(shè)計(jì)法(Orthogonalexperimentaldesign)是指從大量的實(shí)驗(yàn)點(diǎn)中挑選出適量的、有代表性的點(diǎn),依據(jù)Galois理論導(dǎo)出“正交表”,從而合理地安排實(shí)驗(yàn)的一種實(shí)驗(yàn)設(shè)計(jì)方法。正交實(shí)驗(yàn)設(shè)計(jì)法是研究多因素、多水平問(wèn)題的一種實(shí)驗(yàn)方法,在上生物課時(shí),經(jīng)常會(huì)用這種方法研究植物的生長(zhǎng)狀況。一株植物的生長(zhǎng)狀況會(huì)受到多種因素的影響,包括種子質(zhì)量等內(nèi)部因素的影響,還包括陽(yáng)光、空氣、水分、土壤等外部因素的影響。在軟件測(cè)試中,如果軟件比較復(fù)雜,也可以利用正交實(shí)驗(yàn)法設(shè)計(jì)測(cè)試用例對(duì)軟件進(jìn)行測(cè)試。2.4.1 正交實(shí)驗(yàn)設(shè)計(jì)法概述正交實(shí)驗(yàn)設(shè)計(jì)法包含3個(gè)關(guān)鍵因素,具體如下。2.4.1 正交實(shí)驗(yàn)設(shè)計(jì)法概述指標(biāo)判斷實(shí)驗(yàn)結(jié)果優(yōu)劣的標(biāo)準(zhǔn)。因子也稱(chēng)為因素,它是指所有影響實(shí)驗(yàn)指標(biāo)的條件。因子的狀態(tài)也叫因子的水平,它是指因子變量的取值。3個(gè)關(guān)鍵因素利用正交實(shí)驗(yàn)設(shè)計(jì)法設(shè)計(jì)測(cè)試用例時(shí),可以按照以下3個(gè)步驟進(jìn)行。1.

提取因子,構(gòu)造因子-狀態(tài)表分析軟件的需求規(guī)格說(shuō)明書(shū)得到影響軟件功能的因子,確定因子可以有哪些取值,即確定因子的狀態(tài)。例如,某一軟件的運(yùn)行受到操作系統(tǒng)和數(shù)據(jù)庫(kù)的影響,因此影響其運(yùn)行的因子有操作系統(tǒng)和數(shù)據(jù)庫(kù),而操作系統(tǒng)有Windows、Linux、macOS這3個(gè)取值,數(shù)據(jù)庫(kù)有MySQL、MongoDB、Oracle這3個(gè)取值,所以操作系統(tǒng)的因子狀態(tài)數(shù)為3,數(shù)據(jù)庫(kù)的因子狀態(tài)數(shù)為3。據(jù)此構(gòu)造該軟件運(yùn)行功能的因子-狀態(tài)表,如下表所示。2.4.1 正交實(shí)驗(yàn)設(shè)計(jì)法概述因子因子的狀態(tài)操作系統(tǒng)WindowsLinuxmacOS數(shù)據(jù)庫(kù)MySQLMongoDBOracle2.

加權(quán)篩選,簡(jiǎn)化因子-狀態(tài)表在實(shí)際軟件測(cè)試中,軟件的因子及因子的狀態(tài)會(huì)有很多,每個(gè)因子及其狀態(tài)對(duì)軟件的影響也大不相同,如果把這些因子及其狀態(tài)都劃分到因子-狀態(tài)表中,最后生成的測(cè)試用例會(huì)相當(dāng)龐大,從而會(huì)影響軟件測(cè)試的效率。因此需要根據(jù)因子及其狀態(tài)的重要程度進(jìn)行加權(quán)篩選,選出重要的因子及其狀態(tài),簡(jiǎn)化因子-狀態(tài)表。加權(quán)篩選是指根據(jù)因子或因子的狀態(tài)的重要程度、出現(xiàn)頻率等因素計(jì)算因子和因子的狀態(tài)的權(quán)值,權(quán)值越大,表明因子或因子的狀態(tài)越重要,而權(quán)值越小,表明因子或因子的狀態(tài)的重要性越小。加權(quán)篩選之后,可以去掉一部分權(quán)值較小的因子或因子的狀態(tài),使得最后生成的測(cè)試用例集縮減到允許的范圍。2.4.1 正交實(shí)驗(yàn)設(shè)計(jì)法概述3.

構(gòu)建正交表,設(shè)計(jì)測(cè)試用例正交表的表示形式為L(zhǎng)n(tc),具體說(shuō)明如下。L表示正交表。n為正交表的行數(shù),正交表的每一行可以用于設(shè)計(jì)一個(gè)測(cè)試用例,因此行數(shù)n也表示可以設(shè)計(jì)的測(cè)試用例的數(shù)目。c表示正交實(shí)驗(yàn)的因子數(shù)目,即正交表的列數(shù),因此正交表是一個(gè)n行c列的表。t稱(chēng)為水平數(shù),表示每個(gè)因子能夠取得的最大值,即因子有多少個(gè)狀態(tài)。2.4.1 正交實(shí)驗(yàn)設(shè)計(jì)法概述例如L4(23)是較為簡(jiǎn)單的正交表,它表示該實(shí)驗(yàn)有3個(gè)因子,每個(gè)因子有2個(gè)狀態(tài),可以做4次實(shí)驗(yàn)。如果用0和1表示每個(gè)因子的2種狀態(tài),則該正交表就是一個(gè)4行3列的表。L4(23)正交表如下表所示。2.4.1 正交實(shí)驗(yàn)設(shè)計(jì)法概述列1231111210030104001行混合正交表往往難以確定測(cè)試用例的數(shù)目,此時(shí)用n表示測(cè)試用例的數(shù)目,這種情況下,讀者可以登錄正交表的權(quán)威網(wǎng)站,查詢(xún)n值。正交表查詢(xún)網(wǎng)站主頁(yè)如下圖所示。2.4.1 正交實(shí)驗(yàn)設(shè)計(jì)法概述上一頁(yè)的圖中,讀者可以查詢(xún)到不同因子數(shù)、不同水平數(shù)的正交表的n值。在正交表查詢(xún)網(wǎng)站查找到24×41的正交表n值為8。L8(24×41)的正交表設(shè)計(jì)如下表所示。2.4.1 正交實(shí)驗(yàn)設(shè)計(jì)法概述行列12345100000200112301011401103510013610101711002811110對(duì)于受多因子、多水平影響的軟件,正交實(shí)驗(yàn)法可以高效、適量地生成測(cè)試用例,減少測(cè)試工作量,并且利用正交實(shí)驗(yàn)法得到的測(cè)試用例具有一定的覆蓋率,檢錯(cuò)率可在50%以上。正交實(shí)驗(yàn)法雖然好用,但在選擇正交表時(shí)要注意先確定實(shí)驗(yàn)因子、因子的狀態(tài)及它們之間的交互作用,同時(shí)還要考慮實(shí)驗(yàn)的精度要求、費(fèi)用、時(shí)長(zhǎng)等因素。2.4.1 正交實(shí)驗(yàn)設(shè)計(jì)法概述

先定一個(gè)小目標(biāo)!掌握微信Web頁(yè)面運(yùn)行環(huán)境正交實(shí)驗(yàn)設(shè)計(jì),能夠根據(jù)正交表生成微信Web頁(yè)面運(yùn)行環(huán)境的測(cè)試用例2.4.2 實(shí)例一:微信Web頁(yè)面運(yùn)行環(huán)境正交實(shí)驗(yàn)設(shè)計(jì)微信是一款手機(jī)App軟件,但也有Web版微信可以登錄。如果要測(cè)試微信Web頁(yè)面運(yùn)行環(huán)境,需要考慮多種因素,在眾多的因素中,可以選出幾個(gè)影響比較大的因素,例如服務(wù)器、操作系統(tǒng)、插件和瀏覽器。對(duì)于選取出的4個(gè)影響因素,每個(gè)因素又有不同的取值。同樣,在每個(gè)因素的多個(gè)值中,可以選出幾個(gè)比較重要的值,具體如下。服務(wù)器:IIS、Apache、Jetty。操作系統(tǒng):Windows7、Windows10、Linux。插件:無(wú)、小程序、微信插件。瀏覽器:IE11、Chrome、FireFox。2.4.2 實(shí)例一:微信Web頁(yè)面運(yùn)行環(huán)境正交實(shí)驗(yàn)設(shè)計(jì)微信Web頁(yè)面運(yùn)行環(huán)境正交實(shí)驗(yàn)中有4個(gè)因子,即服務(wù)器、操作系統(tǒng)、插件、瀏覽器,每個(gè)因子又有3個(gè)水平,因此該正交表是一個(gè)4因子3水平正交表。通過(guò)查詢(xún)正交表查詢(xún)網(wǎng)站可得其n值為9,即L9(34)。如果按照上述水平的所列順序,從左至右為每個(gè)水平編號(hào)0、1、2,則生成一個(gè)9行4列的正交表。L9(34)正交表如下表所示。2.4.2 實(shí)例一:微信Web頁(yè)面運(yùn)行環(huán)境正交實(shí)驗(yàn)設(shè)計(jì)行列1234100002012130212410225111061201720118210292220L9(34)正交表中的水平編號(hào)分別代表因子的不同取值,將因子、狀態(tài)映射到正交表,可生成具體的測(cè)試用例,微信Web頁(yè)面運(yùn)行環(huán)境測(cè)試用例如下表所示。2.4.2 實(shí)例一:微信Web頁(yè)面運(yùn)行環(huán)境正交實(shí)驗(yàn)設(shè)計(jì)行列服務(wù)器操作系統(tǒng)插件瀏覽器1IISWindows7無(wú)IE112IISWindows10微信插件Chrome3IISLinux小程序FireFox4ApacheWindows7微信插件FireFox5ApacheWindows10小程序IE116ApacheLinux無(wú)Chrome7JettyWindows7小程序Chrome8JettyWindows10無(wú)FireFox9JettyLinux微信插件IE11

先定一個(gè)小目標(biāo)!掌握用戶(hù)篩選功能正交實(shí)驗(yàn)設(shè)計(jì),能夠根據(jù)正交表生成用戶(hù)篩選功能的測(cè)試用例2.4.3 實(shí)例二:用戶(hù)篩選功能正交實(shí)驗(yàn)設(shè)計(jì)假設(shè)有一個(gè)招聘求職軟件,招聘人員可以根據(jù)多個(gè)因素來(lái)篩選求職者。下面選擇城市、招聘崗位、學(xué)歷、計(jì)算機(jī)等級(jí)和工作經(jīng)驗(yàn)作為關(guān)鍵因素,每個(gè)因素都有不同的取值,具體如下。城市:北京、上海、深圳、廣州。招聘崗位:產(chǎn)品運(yùn)營(yíng)、產(chǎn)品經(jīng)理、軟件測(cè)試、軟件工程師。學(xué)歷:高中、專(zhuān)科、本科、研究生。計(jì)算機(jī)等級(jí):計(jì)算機(jī)一級(jí)、計(jì)算機(jī)二級(jí)、計(jì)算機(jī)三級(jí)、計(jì)算機(jī)四級(jí)。工作經(jīng)驗(yàn):1年、2年、3年、4年。2.4.3 實(shí)例二:用戶(hù)篩選功能正交實(shí)驗(yàn)設(shè)計(jì)在官網(wǎng)下載Allpairs工具。2.4.3 實(shí)例二:用戶(hù)篩選功能正交實(shí)驗(yàn)設(shè)計(jì)123使用Allpairs工具自動(dòng)生成一個(gè)5因子4水平的正交表。2.4.3 實(shí)例二:用戶(hù)篩選功能正交實(shí)驗(yàn)設(shè)計(jì)446test.txt文件cmd命令窗口pairs.zip文件解壓后的目錄2.4.3 實(shí)例二:用戶(hù)篩選功能正交實(shí)驗(yàn)設(shè)計(jì)7test01.excel正交表場(chǎng)景法2.5

先定一個(gè)小目標(biāo)!掌握?qǐng)鼍胺ǖ母攀?,能夠通過(guò)場(chǎng)景法設(shè)計(jì)測(cè)試用例2.5.1 場(chǎng)景法概述場(chǎng)景法也叫流程圖法,是指通過(guò)模擬用戶(hù)操作軟件時(shí)的場(chǎng)景來(lái)對(duì)系統(tǒng)的功能或業(yè)務(wù)流程進(jìn)行測(cè)試。場(chǎng)景法通常用于測(cè)試多個(gè)功能之間的組合使用情況,以及用于集成測(cè)試、系統(tǒng)測(cè)試和驗(yàn)收測(cè)試階段。2.5.1 場(chǎng)景法概述根據(jù)用戶(hù)操作流程的正確性來(lái)劃分時(shí),場(chǎng)景法將用戶(hù)的操作流程分為基本流和備選流。基本流也稱(chēng)為有效流,用來(lái)模擬用戶(hù)正確的操作流程;備選流也稱(chēng)為無(wú)效流、錯(cuò)誤流,用來(lái)模擬用戶(hù)錯(cuò)誤的操作流程?;玖骱蛡溥x流如下圖所示。2.5.1 場(chǎng)景法概述在場(chǎng)景法中每一個(gè)場(chǎng)景是一條流程路徑,根據(jù)流程路徑的數(shù)量即可設(shè)計(jì)測(cè)試用例。使用場(chǎng)景法設(shè)計(jì)測(cè)試用例可以按照以下4個(gè)步驟進(jìn)行。步驟1:分析需求規(guī)格說(shuō)明書(shū)。步驟2:根據(jù)需求規(guī)格說(shuō)明書(shū)繪制流程圖。步驟3:根據(jù)流程圖確定測(cè)試場(chǎng)景。步驟4:根據(jù)測(cè)試場(chǎng)景設(shè)計(jì)測(cè)試用例。流程圖常用的符號(hào)名稱(chēng)與說(shuō)明如下表所示。2.5.1 場(chǎng)景法概述符號(hào)名稱(chēng)說(shuō)明橢圓表示流程的開(kāi)始或結(jié)束平行四邊形表示流程的輸入或輸出長(zhǎng)方形表示處理或執(zhí)行菱形表示對(duì)某個(gè)條件的判斷箭頭表示流程進(jìn)行的方向由上一頁(yè)中的基本流和備選流圖可知,基本流有1條,備選流有4條。備選流可以從基本流開(kāi)始,例如備選流1、備選流2和備選流3;備選流也可以從備選流開(kāi)始,例如備選流4。通過(guò)分析上一頁(yè)中的基本流和備選流圖,可以確定的測(cè)試場(chǎng)景如下。場(chǎng)景1:基本流。場(chǎng)景2:基本流→備選流1。場(chǎng)景3:基本流→備選流1→備選流2。場(chǎng)景4:基本流→備選流1→備選流3。場(chǎng)景5:基本流→備選流1→備選流3→備選流4。場(chǎng)景6:基本流→備選流2。場(chǎng)景7:基本流→備選流3。場(chǎng)景8:基本流→備選流3→備選流4。2.5.1 場(chǎng)景法概述

先定一個(gè)小目標(biāo)!掌握電商網(wǎng)站購(gòu)物場(chǎng)景分析,能夠通過(guò)場(chǎng)景法測(cè)試用戶(hù)在電商網(wǎng)站購(gòu)物的過(guò)程2.5.2 實(shí)例一:電商網(wǎng)站購(gòu)物場(chǎng)景分析如今電商行業(yè)的發(fā)展非常迅速,許多公司開(kāi)始研發(fā)電商網(wǎng)站,為用戶(hù)提供更多的購(gòu)物渠道。假設(shè)某公司研發(fā)了一個(gè)電商網(wǎng)站,現(xiàn)需要測(cè)試人員按照“注冊(cè)→登錄→挑選商品→將商品加入購(gòu)物車(chē)→支付→查看訂單”的流程進(jìn)行測(cè)試。在使用電商網(wǎng)站進(jìn)行購(gòu)物時(shí),首先進(jìn)行注冊(cè),如果注冊(cè)失敗,則需要重新注冊(cè),直到注冊(cè)成功后才可以登錄電商網(wǎng)站。如果登錄失敗,則需要重新登錄。該電商網(wǎng)站的支付方式有3種,分別是微信、銀行卡和支付寶,如果這3種方式都支付失敗,則需要返回支付環(huán)節(jié)重新支付,直到支付成功后才能查看訂單。2.5.2 實(shí)例一:電商網(wǎng)站購(gòu)物場(chǎng)景分析下面通過(guò)場(chǎng)景法測(cè)試用戶(hù)在電商網(wǎng)站購(gòu)物的過(guò)程。首先通過(guò)分析前面的需求描述,然后畫(huà)出用戶(hù)在電商網(wǎng)站購(gòu)物的流程圖。購(gòu)物流程圖如右圖所示。2.5.2 實(shí)例一:電商網(wǎng)站購(gòu)物場(chǎng)景分析在使用場(chǎng)景法設(shè)計(jì)測(cè)試用例時(shí),每一個(gè)場(chǎng)景對(duì)應(yīng)一個(gè)測(cè)試用例。下面根據(jù)這4個(gè)測(cè)試場(chǎng)景來(lái)設(shè)計(jì)測(cè)試用例,電商網(wǎng)站購(gòu)物的測(cè)試用例如下表所示。2.5.2 實(shí)例一:電商網(wǎng)站購(gòu)物場(chǎng)景分析測(cè)試用例測(cè)試場(chǎng)景測(cè)試數(shù)據(jù)預(yù)期結(jié)果test1場(chǎng)景1有效的賬號(hào)密碼,微信、銀行卡、支付寶均支付成功成功購(gòu)物test2場(chǎng)景2無(wú)效的注冊(cè)賬號(hào)注冊(cè)失敗test3場(chǎng)景3賬號(hào)或密碼錯(cuò)誤登錄失敗test4場(chǎng)景4有效的賬號(hào)和密碼,用微信、銀行卡、支付寶均支付失敗支付失敗分析上一頁(yè)中的購(gòu)物流程圖可知,基本流有1條,備選流有3條,具體如下?;玖鳎鹤?cè)→登錄→挑選商品→將商品加入購(gòu)物車(chē)→支付→查看訂單。備選流1:注冊(cè)失敗。備選流2:注冊(cè)成功→登錄失敗。備選流3:注冊(cè)成功→登錄成功→挑選商品→將商品加入購(gòu)物車(chē)→支付失敗。通過(guò)對(duì)基本流和備選流的分析,可以得出4個(gè)測(cè)試場(chǎng)景,具體如下。場(chǎng)景1:基本流。場(chǎng)景2:基本流+備選流1。場(chǎng)景3:基本流+備選流2。場(chǎng)景4:基本流+備選流3。2.5.2 實(shí)例一:電商網(wǎng)站購(gòu)物場(chǎng)景分析

先定一個(gè)小目標(biāo)!掌握ATM取款場(chǎng)景分析,能夠通過(guò)場(chǎng)景法測(cè)試某銀行ATM取款業(yè)務(wù)流程2.5.3 實(shí)例二:ATM取款場(chǎng)景分析ATM(AutomatedTellerMachine,自動(dòng)柜員機(jī))可用于提取現(xiàn)金、查詢(xún)存款余額、轉(zhuǎn)賬等。假設(shè)需要使用場(chǎng)景法測(cè)試某銀行ATM的取款業(yè)務(wù)流程,銀行給出的需求規(guī)格說(shuō)明是:用戶(hù)在ATM中插入有效的銀行卡,輸入正確的密碼后選擇取款業(yè)務(wù),然后輸入取款金額,待出鈔后選擇退卡即可完成取款。在取款的過(guò)程中,如果出現(xiàn)以下4種情況將取款失敗,結(jié)束流程。密碼輸入錯(cuò)誤的次數(shù)超過(guò)3次。輸入的取款金額不是100的倍數(shù)。輸入的取款金額大于賬戶(hù)余額。輸入的取款金額大于ATM取款額度。2.5.3 實(shí)例二:ATM取款場(chǎng)景分析下面通過(guò)前面需求規(guī)格說(shuō)明,畫(huà)出取款的流程圖。ATM取款流程圖如下圖所示。2.5.3 實(shí)例二:ATM取款場(chǎng)景分析下面根據(jù)前面列出的6個(gè)測(cè)試場(chǎng)景來(lái)設(shè)計(jì)測(cè)試用例,假設(shè)測(cè)試的銀行卡有效,密碼為123456,賬戶(hù)余額為5000元,ATM取款額度為3000元。ATM取款的測(cè)試用例如下表所示。2.5.3 實(shí)例二:ATM取款場(chǎng)景分析測(cè)試用例測(cè)試場(chǎng)景測(cè)試數(shù)據(jù)預(yù)期結(jié)果test1場(chǎng)景11.插入有效的銀行卡;2.輸入密碼123456;3.輸入取款金額為1000取出1000元鈔票并退卡test2場(chǎng)景21.插入有效的銀行卡;2.輸入密碼123455(第1次輸入);3.輸入密碼123450(第2次輸入);4.輸入密碼123456(第3次輸入);5.輸入取款金額為1000取出1000元鈔票并退卡test3場(chǎng)景31.插入有效的銀行卡;2.輸入密碼123455(第1次輸入);3.輸入密碼123450(第2次輸入);4.輸入密碼123456(第3次輸入);5.輸入取款金額為1551取款失敗并退卡2.5.3 實(shí)例二:ATM取款場(chǎng)景分析測(cè)試用例測(cè)試場(chǎng)景測(cè)試數(shù)據(jù)預(yù)期結(jié)果test4場(chǎng)景41.插入有效的銀行卡;2.輸入密碼123455(第1次輸入);3.輸入密碼123450(第2次輸入);4.輸入密碼123456(第3次輸入);5.輸入取款金額為6000取款失敗并退卡test5場(chǎng)景51.插入有效的銀行卡;2.輸入密碼123455(第1次輸入);3.輸入密碼123450(第2次輸入);4.輸入密碼123456(第3次輸入);5.輸入取款金額為4000取款失敗并退卡test6場(chǎng)景61.插入有效的銀行卡;2.輸入密碼123455(第1次輸入);3.輸入密碼123450(第2次輸入);4.輸入密碼123451(第3次輸入)取款失敗并退卡錯(cuò)誤推測(cè)法多學(xué)一招錯(cuò)誤推測(cè)法是指測(cè)試人員在測(cè)試程序的過(guò)程中,根據(jù)測(cè)試經(jīng)驗(yàn)或直覺(jué)推測(cè)程序中可能存在的錯(cuò)誤,從而有針對(duì)性地設(shè)計(jì)測(cè)試用例的方法,該方法通常作為設(shè)計(jì)測(cè)試用例的補(bǔ)充方法。錯(cuò)誤推測(cè)法不是一個(gè)有章可循的方法,其通常做法是測(cè)試人員在閱讀需求規(guī)格說(shuō)明書(shū)時(shí),根據(jù)平時(shí)測(cè)試工作過(guò)程中發(fā)現(xiàn)的缺陷相關(guān)數(shù)據(jù)和總結(jié)猜測(cè)可能被忽略的內(nèi)容。錯(cuò)誤推測(cè)法能夠充分體現(xiàn)測(cè)試人員的經(jīng)驗(yàn),但是對(duì)于經(jīng)驗(yàn)或測(cè)試技能不足的測(cè)試人員,不建議使用該方法,可以先使用其他方法(例如等價(jià)類(lèi)劃分法、邊界值分析法等)設(shè)計(jì)測(cè)試用例。如果其他方法不行,再使用錯(cuò)誤推測(cè)法。2.5.3 實(shí)例二:ATM取款場(chǎng)景分析分析ATM取款流程圖可知,基本流有1條,備選流有5條,具體如下?;玖鳎翰蹇ā斎朊艽a→選擇取款→輸入取款金額→出鈔→退卡。備選流1:插卡→輸入密碼錯(cuò)誤(3次以?xún)?nèi))→選擇取款→輸入取款金額→出鈔→退卡。備選流2:插卡→輸入密碼錯(cuò)誤(超過(guò)3次)→退卡。備選流3:插卡→輸入密碼→選擇取款→輸入的取款金額不是100的倍數(shù)→退卡。備選流4:插卡→輸入密碼→選擇取款→輸入的取款金額大于賬戶(hù)余額→退卡。備選流5:插卡→輸入密碼→選擇取款→輸入的取款金額大于ATM取款額度→退卡。通過(guò)對(duì)基本流和備選流的分析,可以得出6個(gè)測(cè)試場(chǎng)景,具體如下。場(chǎng)景1:基本流。場(chǎng)景2:基本流+備選流1。場(chǎng)景3:基本流+備選流1+備選流3。場(chǎng)景4:基本流+備選流1+備選流4。場(chǎng)景5:基本流+備選流1+備選流5。場(chǎng)景6:基本流+備選流2。2.5.3 實(shí)例二:ATM取款場(chǎng)景分析狀態(tài)遷移圖法2.6

先定一個(gè)小目標(biāo)!掌握狀態(tài)遷移圖法的概述,能夠通過(guò)狀態(tài)遷移圖法設(shè)計(jì)測(cè)試用例2.6.1 狀態(tài)遷移圖法概述狀態(tài)遷移圖法(StateTransitionDiagram,STD)是黑盒測(cè)試的一種方法,狀態(tài)遷移圖用來(lái)描述系統(tǒng)或?qū)ο蟮臓顟B(tài),以及導(dǎo)致系統(tǒng)或?qū)ο鬆顟B(tài)發(fā)生改變的事件。狀態(tài)遷移圖法是通過(guò)分析被測(cè)系統(tǒng)的狀態(tài),以及這些狀態(tài)之間的轉(zhuǎn)換條件和路徑來(lái)設(shè)計(jì)測(cè)試用例的一種方法,它主要用于驗(yàn)證在給定的條件內(nèi),系統(tǒng)對(duì)象是否能夠發(fā)生狀態(tài)的改變,以及是否存在不可能達(dá)到的狀態(tài)或非法的狀態(tài)等。在狀態(tài)遷移圖中,由一個(gè)狀態(tài)、事件所確定的下一個(gè)狀態(tài)可能會(huì)有多個(gè),實(shí)際遷移到哪一個(gè)狀態(tài),由觸發(fā)條件決定。2.6.1 狀態(tài)遷移圖法概述狀態(tài)遷移圖法主要關(guān)注測(cè)試狀態(tài)轉(zhuǎn)移的正確性,將被測(cè)系統(tǒng)中業(yè)務(wù)流程的每個(gè)節(jié)點(diǎn)用狀態(tài)來(lái)描述,通過(guò)觸發(fā)的事件來(lái)完成各個(gè)狀態(tài)之間的遷移。使用狀態(tài)遷移圖法設(shè)計(jì)測(cè)試用例的具體步驟如下。2.6.1 狀態(tài)遷移圖法概述1.繪制狀態(tài)遷移圖2.列出狀態(tài)-事件表3.繪制狀態(tài)轉(zhuǎn)換樹(shù)并推導(dǎo)測(cè)試路徑4.設(shè)計(jì)測(cè)試用例根據(jù)需求規(guī)格說(shuō)明書(shū)分析被測(cè)系統(tǒng)中有哪些狀態(tài)以及每個(gè)狀態(tài)之間的遷移關(guān)系。確定一個(gè)根節(jié)點(diǎn),向后延伸,直到所有的狀態(tài)都包含在狀態(tài)轉(zhuǎn)換樹(shù)中。分析各個(gè)狀態(tài)之間不同的輸入導(dǎo)致的狀態(tài)遷移,列出狀態(tài)-事件表。選取達(dá)到規(guī)定的測(cè)試覆蓋率的測(cè)試路徑,并對(duì)每條路徑設(shè)計(jì)一個(gè)或多個(gè)測(cè)試用例。

先定一個(gè)小目標(biāo)!掌握小兔鮮商城訂單狀態(tài)遷移圖的內(nèi)容,能夠通過(guò)狀態(tài)遷移圖法設(shè)計(jì)小兔鮮商城訂單狀態(tài)遷移的測(cè)試用例2.6.2 實(shí)例一:小兔鮮商城訂單狀態(tài)遷移圖以小兔鮮商城項(xiàng)目為例,使用狀態(tài)遷移圖法講解小兔鮮商城訂單狀態(tài)的遷移。假設(shè)小兔鮮商城的需求是:用戶(hù)在搜索商品后,將商品加入購(gòu)物車(chē)進(jìn)行購(gòu)買(mǎi),用戶(hù)提交訂單后生成訂單,訂單狀態(tài)轉(zhuǎn)變?yōu)榇Ц叮糁Ц妒?,則訂單狀態(tài)轉(zhuǎn)變?yōu)橛唵稳∠糁Ц冻晒?,則訂單狀態(tài)轉(zhuǎn)變?yōu)榇l(fā)貨;商家發(fā)貨后,訂單狀態(tài)轉(zhuǎn)變?yōu)榇肇?;買(mǎi)家確認(rèn)收貨后,訂單狀態(tài)轉(zhuǎn)變?yōu)橛唵瓮瓿?;用?hù)可在待發(fā)貨狀態(tài)和待收貨狀態(tài)下申請(qǐng)退貨或取消申請(qǐng),若用戶(hù)申請(qǐng)退貨,則訂單狀態(tài)均轉(zhuǎn)變?yōu)槭酆?;商家同意退貨后,訂單狀態(tài)轉(zhuǎn)變?yōu)橐淹素?;退貨成功時(shí),訂單狀態(tài)轉(zhuǎn)變?yōu)橛唵瓮瓿桑蝗绻脩?hù)在申請(qǐng)退貨后,又取消申請(qǐng),則訂單狀態(tài)轉(zhuǎn)變?yōu)榇l(fā)貨或待收貨;商家發(fā)貨并且買(mǎi)家確認(rèn)收貨后訂單狀態(tài)才轉(zhuǎn)變?yōu)橛唵瓮瓿伞?.6.2 實(shí)例一:小兔鮮商城訂單狀態(tài)遷移圖根據(jù)上述需求描述,可以畫(huà)出小兔鮮商城訂單狀態(tài)遷移圖,如下圖所示。2.6.2 實(shí)例一:小兔鮮商城訂單狀態(tài)遷移圖小兔鮮商城訂單狀態(tài)-事件表如下表所示。2.6.2 實(shí)例一:小兔鮮商城訂單狀態(tài)遷移圖前一狀態(tài)事件后一狀態(tài)提交訂單生成訂單待支付待支付支付失敗訂單取消待支付支付成功待發(fā)貨待發(fā)貨申請(qǐng)退貨售后售后取消申請(qǐng)待發(fā)貨待發(fā)貨商家發(fā)貨待收貨待收貨申請(qǐng)退貨售后2.6.2 實(shí)例一:小兔鮮商城訂單狀態(tài)遷移圖前一狀態(tài)事件后一狀態(tài)售后取消申請(qǐng)待收貨待收貨買(mǎi)家確認(rèn)收貨訂單完成售后商家同意退貨已退貨已退貨退貨成功訂單完成2.6.2 實(shí)例一:小兔鮮商城訂單狀

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論