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

下載本文檔

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

文檔簡介

第3章軟件測試方法(三)黑盒測試3.4黑盒測試方法等價(jià)類劃分法不用考慮程序的內(nèi)部結(jié)構(gòu)仔細(xì)分析和推敲需求規(guī)格說明書的各項(xiàng)內(nèi)容,特別是功能需求,把說明中對輸入的要求和輸出的要求區(qū)別開來并加以分解把程序的輸入域劃分為若干部分,然后從每個部分中選取少數(shù)代表性數(shù)據(jù)當(dāng)作測試用例。每一類的代表性數(shù)據(jù)在測試中的作用等價(jià)于這一類中的其他值。3.4黑盒測試方法等價(jià)類劃分法有效等價(jià)類指對程序的規(guī)格說明是有意義的、合理的輸入數(shù)據(jù)所構(gòu)成的集合。無效等價(jià)類指對程序的規(guī)格說明是無意義的、不合理的輸入數(shù)據(jù)構(gòu)成的集合。3.4黑盒測試方法等價(jià)類劃分法劃分等價(jià)類時應(yīng)該遵循的規(guī)則如果輸入條件規(guī)定了取值范圍或個數(shù),則可確定一個有效等價(jià)類和兩個無效等價(jià)類。例如:輸入值是選課人數(shù),在0到100之間,那么有效等價(jià)類是:①0≤學(xué)生人數(shù)≤100;無效等價(jià)類是:②學(xué)生人數(shù)<0;③學(xué)生人數(shù)>100。如果輸入條件規(guī)定了輸入值的集合或是規(guī)定了“必須如何”的條件,則可確定一個有效等價(jià)類和一個無效等價(jià)類。例如:輸入值是日期類型的數(shù)據(jù)。那么有效等價(jià)類是日期類型的數(shù)據(jù);無效等價(jià)類是非日期類型的數(shù)據(jù)。如果輸入是布爾表達(dá)式,可以分為一個有效等價(jià)類和一個無效等價(jià)類,比如要求密碼非空,則有效等價(jià)類為非空密碼,無效等價(jià)類為空密碼。如果輸入條件是一組值,且程序?qū)Σ煌闹涤胁煌奶幚矸绞?,則每個允許的輸入值對應(yīng)一個有效等價(jià)類,所有不允許的輸入值的集合為一個無效等價(jià)類。例如:輸入條件“職稱”的值是初級、中級或高級,那么有效等價(jià)類應(yīng)該有3個:①初級;②中級;③高級;無效等價(jià)類有一個:④其他任何職稱。如果規(guī)定了輸入數(shù)據(jù)必須遵循的規(guī)則,可以劃分出一個有效的等價(jià)類(符合規(guī)則)和若干個無效的等價(jià)類(從不同的角度違反規(guī)則)。3.4黑盒測試方法等價(jià)類劃分法劃分好等價(jià)類后,就可以設(shè)計(jì)測試用例;設(shè)計(jì)測試用例的步驟對每個輸入和外部條件進(jìn)行等價(jià)類劃分,畫出等價(jià)類表,并為每個等價(jià)類進(jìn)行編號。設(shè)計(jì)一個測試用例,使其盡可能多地覆蓋有效等價(jià)類,重復(fù)這一步,直到所有的有效等價(jià)類被覆蓋。為每一個無效等價(jià)類設(shè)計(jì)一個測試用例。3.4黑盒測試方法等價(jià)類劃分法舉例:有NextDate函數(shù),輸入三個變量(年、月、日),函數(shù)返回輸入日期后面一天的日期:1≤月份≤12,1≤日期≤31,1812≤年≤2012。3.4黑盒測試方法等價(jià)類劃分法輸入及外部條件有效等價(jià)類等價(jià)類編號無效等價(jià)類等價(jià)類編號日期的類型數(shù)字字符1非數(shù)字字符8年在1812與2012之間2小于18129大于201210月在1與12之間3小于111大于1212非閏年的2月日在1與28之間4日小于113日大于2814閏年的2月日在1與29之間5日小于115日大于2916月份為1月、3月、5月、7月、

8月、10月、12月日在1與31之間6日小于117日大于3118月份為4月、6月、9月、11月日在1與30之間7日小于119日大于3020等價(jià)類劃分表3.4黑盒測試方法等價(jià)類劃分法有效等價(jià)類的測試用例序號輸入數(shù)據(jù)預(yù)期輸出覆蓋范圍

(等價(jià)類編號)年月日年月日1200331520033161,2,3,62200421320042141,2,3,531999231999241,2,3,44197092919709301,2,3,73.4黑盒測試方法等價(jià)類劃分法無效等價(jià)類的測試用例序號輸入數(shù)據(jù)預(yù)期結(jié)果覆蓋范圍

(等價(jià)類編號)年月日1xy59輸入無效82170048輸入無效932300111輸入無效1042005011輸入無效11520091425輸入無效12619892-1輸入無效1371977230輸入無效14820002-2輸入無效1592008234輸入無效16101956100輸入無入無效181220079-3輸入無效191318661235輸入無效203.4黑盒測試方法通過案例可以了解,等價(jià)類劃分法可以作為一種有效的黑盒測試方法,設(shè)計(jì)測試用例能夠覆蓋程序功能,而又不存在冗余的測試用例。但是需要對程序規(guī)格說明書進(jìn)行深入了解并合理的劃分等價(jià)類。有些時候,規(guī)格說明書中可能沒有定義對無效輸入的預(yù)期輸出應(yīng)該是什么樣子,因此測試人員需要花費(fèi)大量時間來定義這些測試用例的預(yù)期輸出。這也是等價(jià)類劃分法存在的一個缺陷。3.4黑盒測試方法邊界值分析法大量的錯誤往往發(fā)生在輸入和輸出范圍的邊界上是一種補(bǔ)充等價(jià)類劃分法的黑盒測試方法不是選擇等價(jià)類中的任意元素,而是選擇等價(jià)類邊界的測試用例不僅重視輸入范圍邊界,也從輸出范圍中導(dǎo)出測試用例3.4黑盒測試方法邊界值分析法軟件測試所包含的邊界條件類型與各類型對應(yīng)的邊界值數(shù)字——最大/最小字符——首位/末位位置——上/下質(zhì)量——最大/最小大小——最大/最小速度——最快/最慢方位——最高/最低尺寸——最短/最長空間——空/滿3.4黑盒測試方法邊界值分析法設(shè)計(jì)測試用例時應(yīng)當(dāng)遵守幾條原則如果輸入條件規(guī)定了取值范圍,應(yīng)以該范圍的邊界內(nèi)及剛剛超范圍的邊界外的值作為測試用例。如以a和b作為輸入條件,測試用例應(yīng)當(dāng)包括a和b,以及略大于a和略小于b的值;若規(guī)定了值的個數(shù),應(yīng)分別以最大、最小個數(shù)和稍小于最小和稍大于最大個數(shù)作為測試用例;針對每個輸出條件,也使用上面的兩條原則;如果程序規(guī)格說明書中提到的輸入或輸出范圍是有序的集合,如順序文件、表格等,應(yīng)注意選取有序集的第一個和最后一個元素作為測試用例;分析規(guī)格說明,找出其他的可能邊界條件。3.4黑盒測試方法邊界值分析法邊界值分析測試用例示意圖最小值略大于最小值輸入范圍內(nèi)任意值略小于最大值最大值對于n個變量,使除1個以外的所有變量都取正常值,使剩余的那個變量取上述5個值,對每個變量都重復(fù)進(jìn)行。1個n變量函數(shù)的邊界值有4n+1個測試用例。3.4黑盒測試方法邊界值分析法健壯性測試是邊界值分析的一種簡單擴(kuò)展,除了使用5個邊界值分析取值,還要通過采用1個略小于最小值和1個略大于最大值的取值。

1個n變量函數(shù)的健壯性邊界值有6n+1個測試用例。健壯性邊界值測試用例示意圖3.4黑盒測試方法邊界值分析法普通邊界條件是很容易找到的,它們在規(guī)格說明書中有定義,或者在使用軟件過程中確定。有些邊界在軟件內(nèi)部,最終用戶幾乎看不到,但是軟件測試仍有必要檢查,這樣的邊界條件成為次邊界條件。尋找這樣的邊界條件就需要測試人員了解軟件大概的工作方式。邊界條件的確定有時也需要一定的領(lǐng)域知識。3.4黑盒測試方法邊界值分析法仍以NextDate函數(shù)為例,除了之前已經(jīng)用等價(jià)類劃分法設(shè)計(jì)出的測試用例外,還應(yīng)該用邊界值分析法再補(bǔ)充如下測試用例。序號邊界值輸入數(shù)據(jù)預(yù)期輸出年月日年月日1使年剛好等于最小值181231518123162使年剛好等于最大值201231520123163使年剛剛小于最小值1811315輸入無效4使年剛剛大于最大值2013315輸入無效5使月剛好等于最小值200011520001166使月剛好等于最大值20001215200012167使月剛剛小于最小值2000015輸入無效8使月剛剛大于最大值20001315輸入無效9使閏年的2月的日剛好等于最小值20002120002210使閏年的2月的日剛好等于最大值20002292000313.4黑盒測試方法邊界值分析法11使閏年的2月的日剛剛小于最小值200020輸入無效12使閏年的2月的日剛剛大于最大值2000230輸入無效13使非閏年的2月的日剛好等于最小值20012120012214使非閏年的2月的日剛好等于最大值200122820013115使非閏年的2月的日剛剛小于最小值200120輸入無效16使非閏年的2月的日剛剛大于最大值2001229輸入無效17使1月、3月、5月、7月、8月、10月、12月的日剛好等于最小值2001101200110218使1月、3月、5月、7月、8月、10月、12月的日剛好等于最大值20011031200111119使1月、3月、5月、7月、8月、10月、12月的日剛剛小于最小值2001100輸入無效20使1月、3月、5月、7月、8月、10月、12月的日剛剛大于最大值20011032輸入無效21使4月、6月、9月、11月

的日剛好等于最小值20016120016222使4月、6月、9月、11月

的日剛好等于最大值200163020017123使4月、6月、9月、11月

的日剛剛小于最小值200160輸入無效24使4月、6月、9月、11月

的日剛剛大于最大值2001631輸入無效3.4黑盒測試方法因果圖法等價(jià)類劃分法和邊界值分析法都主要考慮的是輸入條件,而沒有考慮輸入條件的各種組合以及各個輸入條件之間的相互制約關(guān)系。如果在測試時考慮到輸入條件的所有組合方式,可能其本身非常大甚至是個天文數(shù)字。必須考慮描述多種條件的組合,相應(yīng)的產(chǎn)生多個動作的形式來考慮設(shè)計(jì)測試用例。這就需要利用因果圖法。因果圖法是一種黑盒測試方法,它從自然語言書寫的程序規(guī)格說明書中尋找因果關(guān)系,即輸入條件與輸出和程序狀態(tài)的改變,通過因果圖產(chǎn)生判定表。黑盒測試方法因果圖法在因果圖中,用C表示原因,E表示結(jié)果,各節(jié)點(diǎn)表示狀態(tài),取值0表示某狀態(tài)不出現(xiàn),取值1表示某狀態(tài)出現(xiàn)。因果圖有四種關(guān)系符號黑盒測試方法因果圖法恒等:若原因出現(xiàn)則結(jié)果出現(xiàn),若原因不出現(xiàn)則結(jié)果不出現(xiàn);非(~):若原因出現(xiàn)則結(jié)果不出現(xiàn),若原因不出現(xiàn)則結(jié)果反而出現(xiàn);或(∨):若幾個原因中有一個出現(xiàn)則結(jié)果出現(xiàn),若幾個原因都不出現(xiàn)則結(jié)果不出現(xiàn);與(∧):若幾個原因都出現(xiàn)結(jié)果才出現(xiàn),若其中一個原因不出現(xiàn)則結(jié)果不出現(xiàn)。黑盒測試方法因果圖法為了表示原因與原因之間,結(jié)果與結(jié)果之間可能存在的約束關(guān)系,在因果圖中可以附加一些表示約束條件的符號。3.4黑盒測試方法因果圖法從輸入考慮,有4種約束E約束(互斥):表示a和b兩個原因不會同時成立,最多有一個可以成立;I約束(包含):表示a和b兩個原因至少有一個必須成立;O約束(唯一):表示a和b兩個條件必須有且僅有一個成立;R約束(要求):表示a出現(xiàn)時,b也必須出現(xiàn)。從輸出考慮,有1種約束:M約束(強(qiáng)制):表示a是1時,b必須為0。黑盒測試方法因果圖法因果圖法設(shè)計(jì)測試用例的步驟分析程序規(guī)格說明書的描述中,哪些是原因,哪些是結(jié)果,原因常常是輸入條件或輸入條件的等價(jià)類,而結(jié)果常常是輸出條件;分析程序規(guī)格說明書中描述的語義內(nèi)容,并將其表示成連接各個原因與各個結(jié)果的因果圖;由于語法或環(huán)境的限制,有些原因和結(jié)果的組合情況是不可能出現(xiàn)的,為表明這些特定的情況,在因果圖上使用若干特殊的符號標(biāo)明約束條件;把因果圖轉(zhuǎn)化為決策表;為決策表中每一列表示的情況設(shè)計(jì)測試用例。黑盒測試方法因果圖法舉例:有一個處理單價(jià)為1元5角的盒裝飲料的自動售貨機(jī)軟件。若投入l元5角硬幣,按下“可樂”、“雪碧”或“紅茶”按鈕,相應(yīng)的飲料就送出來。若投入的是2元硬幣,在送出飲料的同時退還5角硬幣。黑盒測試方法因果圖法首先從軟件規(guī)格說明中分析原因、結(jié)果以及中間狀態(tài)原因C1:投入1元5角硬幣;C2:投入2元硬幣;C3:按“可樂”按鈕;C4:按“雪碧”按鈕;C5:按“紅茶”按鈕。中間狀態(tài)11:已投幣;12:已按鈕。結(jié)果E1:退還5角硬幣;E2:送出“可樂”按鈕;E3:送出“雪碧”按鈕;E4:送出“紅茶”按鈕。黑盒測試方法因果圖法根據(jù)上面分析出的原因與結(jié)果,結(jié)合軟件規(guī)格說明,連接成自動飲料售貨機(jī)軟件因果圖黑盒測試方法決策表法決策表是分析和表達(dá)多邏輯條件下執(zhí)行不同操作的情況的工具,可以把復(fù)雜邏輯關(guān)系和多種條件組合的情況表達(dá)的比較明確。決策表通常由四部分組成條件樁:列出問題的所有條件條件項(xiàng):列出所列條件下的取值,在所有可能情況下的真假值動作樁:列出問題規(guī)定可能采取的動作動作項(xiàng):列出在條件項(xiàng)的各種取值情況下應(yīng)采取的動作黑盒測試方法決策表法在決策表中貫穿條件項(xiàng)和動作項(xiàng)的一列是一條規(guī)則。規(guī)則規(guī)定了任何一個條件組合的特定取值極其相應(yīng)要執(zhí)行的操作。有兩條或多條規(guī)則具有相同的動作,并且其條件項(xiàng)之間存在著極為相似的關(guān)系的規(guī)則可以進(jìn)行規(guī)則合并黑盒測試方法決策表法決策表的建立應(yīng)當(dāng)根據(jù)軟件規(guī)格說明書,分為以下幾個步驟確定規(guī)則個數(shù);列出所有條件樁和動作樁;填入條件項(xiàng);填入動作項(xiàng),制定初始決策表;簡化,合并相似規(guī)則或者相同動作。黑盒測試方法決策表法在簡化并得到最終決策表后,只要選擇適當(dāng)?shù)妮斎?,使決策表每一列的輸入條件得到滿足即可生成測試用例。前面的自動飲料售貨機(jī)軟件因果圖轉(zhuǎn)換為決策表如下1234567891011條件C1:投入1元5角硬幣11110000000C2:投入2元硬幣00001111000C3:按“可樂”按鈕10001000100C4:按“雪碧”按鈕01000100010C5:按“紅茶”按鈕00100010001中間狀態(tài)11:已投幣1111111100012:已按鈕11101110111動作E1:退還5角硬幣00001110000E2:送出“可樂”按鈕10001000000E3:送出“雪碧”按鈕01000100000E4:送出“紅茶”按鈕001000100003.4黑盒測試方法正交試驗(yàn)法對于有n個原因?qū)е乱粋€結(jié)果的因果圖,如果每個原因的取值有兩種:存在或不存在,則進(jìn)行全面測試需要為此設(shè)計(jì)2n種測試用例再考慮到其它因果圖,最后得出的測試用例數(shù)量無法想象這給軟件測試帶來了沉重的負(fù)擔(dān)。為了有效地、合理地減少測試的工時與費(fèi)用,可利用正交試驗(yàn)法進(jìn)行測試用例的設(shè)計(jì)正交試驗(yàn)法是從大量的實(shí)驗(yàn)數(shù)據(jù)中挑選適量的、有代表性的點(diǎn),合理安排測試的設(shè)計(jì)方法黑盒測試方法正交試驗(yàn)法日本著名的統(tǒng)計(jì)學(xué)家田口玄一將正交試驗(yàn)選擇的水平組合列成表格,稱為正交表。正交表的形式為L行數(shù)(水平數(shù)因素?cái)?shù))。其中行數(shù)表示正交表中的行的個數(shù),即試驗(yàn)的次數(shù),也是我們通過正交實(shí)驗(yàn)法設(shè)計(jì)的測試用例的個數(shù)。因素?cái)?shù)是正交表中列的個數(shù),即我們要測試的功能點(diǎn)。水平數(shù)是任何單個因素能夠取得的值的最大個數(shù)。正交表中的包含的值為從0到“水平數(shù)-1”或從1到“水平數(shù)”。即要測試功能點(diǎn)的輸入條件。黑盒測試方法正交試驗(yàn)法正交表具有以下兩項(xiàng)性質(zhì)每一列中,不同的數(shù)字出現(xiàn)的次數(shù)相等。例如在兩水平正交表中,任何一列都有數(shù)碼“1”與“2”,且任何一列中它們出現(xiàn)的次數(shù)是相等的;如在三水平正交表中,任何一列都有“1”、“2”、“3”,且在任一列的出現(xiàn)數(shù)均相等。任意兩列中數(shù)字的排列方式齊全而且均衡。例如在兩水平正交表中,任何兩列(同一橫行內(nèi))有序?qū)ψ庸灿?種:(1,1)、(1,2)、(2,1)、(2,2)。每種對數(shù)出現(xiàn)次數(shù)相等。在三水平情況下,任何兩列(同一橫行內(nèi))有序?qū)灿?種,(1,1)、(1,2)、(1,3)、(2,1)、(2,2)、(2,3)、(3,1)、(3,2)、(3,3),且每對出現(xiàn)數(shù)也均相等。以上兩點(diǎn)充分的體現(xiàn)了正交表的兩大優(yōu)越性,即“均勻分散性,整齊可比性”。通俗的說,每個因素的每個水平與另一個因素的每個水平各碰一次,這就是正交性。黑盒測試方法正交試驗(yàn)法舉例:有一個用戶注冊功能。該用戶注冊頁面有7個輸入框,分別是用戶名、密碼、確認(rèn)密碼、真實(shí)姓名、地址、手機(jī)號、電子郵箱。假設(shè)每個輸入框只有填與不填兩種狀態(tài)。黑盒測試方法正交試驗(yàn)法設(shè)計(jì)如下L8(27)的正交表。其中因素C1到C7分別表示上述7個輸入框。表中“1”表示該輸入框填,“0”表示不填。

因素行號C1C2C3C4C5C6C71111111121110000310011004100001150101010601001017001100180010110黑盒測試方法場景法用例場景是通過描述流經(jīng)用例的路徑來確定的過程,這個流經(jīng)過程要從用例開始到結(jié)束遍歷其中所有的基本流和備選流?;玖鳎翰捎煤谥本€表示,是經(jīng)過用例的最簡單路徑,表示無任何差錯,程序從開始執(zhí)行到結(jié)束;備選流:采用不同顏色表示,一個備選流可以從基本流開始,在某個特定條件下執(zhí)行,然后重新加入基本流中,也可以起源于另一個備選流,或終止用例,不再加入到基本流中。黑盒測試方法場景法應(yīng)用場景法進(jìn)行黑盒測試的步驟如下根據(jù)規(guī)格說明,描述出程序的基本流和各個備選流根據(jù)基本流和各個備選流生成不同的場景對每一個場景生成相應(yīng)的測試用例對生成的所有測試用例進(jìn)行復(fù)審,去掉多余的測試用例,對每一個測試用例確定測試數(shù)據(jù)黑盒測試方法場景法以一個經(jīng)典的ATM機(jī)為例,介紹使用場景法設(shè)計(jì)測試用例的過程:ATM機(jī)的取款流程的場景分析如右圖所示,其中灰色框構(gòu)成的流程為基本流。黑盒測試方法場景法該程序用例場景如下場景1成功提款基本流場景2無效卡基本流備選流1場景3密碼錯誤3次以內(nèi)基本流備選流2場景4密碼錯誤超過3次基本流備選流3場景5ATM無現(xiàn)金基本流備選流4場景6ATM現(xiàn)金不足基本流備選流5場景7賬戶余額不足基本流備選流6場景8超出提款上限基本流備選流7黑盒測試方法場景法接下來設(shè)計(jì)用例覆蓋每個用例場景用例號場景賬戶密碼操作預(yù)期結(jié)果1場景1621226XXXXXXXXX3481123456插卡,取500元成功取款500元2場景2--插入一張無效卡系統(tǒng)退卡,顯示該卡無效3場景3621226XXXXXXXXX3481123456插卡,輸入密碼111111系統(tǒng)提示密碼錯誤,請求重新輸入4場景4621226XXXXXXXXX348112

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論