軟件測試技術(shù) 課件 項目三 黑盒測試_第1頁
軟件測試技術(shù) 課件 項目三 黑盒測試_第2頁
軟件測試技術(shù) 課件 項目三 黑盒測試_第3頁
軟件測試技術(shù) 課件 項目三 黑盒測試_第4頁
軟件測試技術(shù) 課件 項目三 黑盒測試_第5頁
已閱讀5頁,還剩61頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

項目三

黑盒測試了解等價類劃分的概念掌握等價類劃分法的種類和劃分原則了解邊界值分析法的概念和原則掌握邊界值分析法設(shè)計測試用例的步驟了解因果圖設(shè)計法的概念掌握因果圖設(shè)計法設(shè)計測試用例的步驟了解決策表設(shè)計法的概念和組成部分了解正交實驗設(shè)計法的概念掌握正交實驗法設(shè)計測試用例的步驟了解狀態(tài)遷移法的概念及其設(shè)計測試用例步驟了解場景設(shè)計法的概念和設(shè)計流程了解錯誤推測法的概念任務(wù)一

使用等價類劃分法設(shè)計測試用例任務(wù)二

使用邊界值分析法設(shè)計測試用例任務(wù)三

使用因果圖設(shè)計法設(shè)計測試用例任務(wù)四

使用決策表設(shè)計法設(shè)計測試用例任務(wù)五

使用正交實驗設(shè)計法設(shè)計測試用例任務(wù)六

使用狀態(tài)遷移設(shè)計法設(shè)計測試用例任務(wù)七使用場景設(shè)計法設(shè)計測試用例任務(wù)八使用錯誤推測法設(shè)計測試用例任務(wù)一使用等價類劃分法設(shè)計測試用例等價類指的是某類事物具有相同的屬性或特性,在這個集合中個體之間,由于外部輸入引起的響應(yīng)基本一致。一個程序可以有多個輸入,等價類劃分是將這些多個輸入按照輸入要求進行劃分,將它們劃分為多個子集,這些子集被稱之為等價類,在每個等價類中選取具有代表性的數(shù)據(jù)來設(shè)計測試用例。任務(wù)一使用等價類劃分法設(shè)計測試用例一、等價類劃分概念有效等價類是有效值的集合,對程序要求來說是合理且有意義的輸入數(shù)據(jù)。有效等價類無效等價類是無效值的集合,對程序要求來說是不合理且無意義的輸入數(shù)據(jù)。無效等價類任務(wù)一使用等價類劃分法設(shè)計測試用例二、等價類的種類三、等價類劃分的時候需要遵守以下幾個原則如果需求規(guī)格說明書中確定了取值范圍或者取值個數(shù)時,可以將輸入數(shù)據(jù)劃分為一個有效等價類和兩個無效等價類。如果需求規(guī)格說明書中限定了輸入值的集合或者限定了必須按照某個規(guī)則輸入時,那么可以劃分一個有效等價類和一個無效等價類。如果輸入條件是一個布爾值(也就是只能取真假值),那么可以劃分一個有效等價類和一個無效等價類。如果需求規(guī)格說明書中要求輸入數(shù)據(jù)是一組值,且程序要對每個輸入值單獨處理,那么可以劃分若干有效等價類和一個無效等價類。如果需求規(guī)格說明書中要求輸入數(shù)據(jù)必須遵守某些規(guī)則,那么可劃分一個符合規(guī)則的有效等價類和若干個不合理的無效等價類。任務(wù)一使用等價類劃分法設(shè)計測試用例第一步:給每個有效等價類或無效等價類編號,且編號唯一,有效等價類和無效等價類分別統(tǒng)一編號。第二步:設(shè)計一個新的測試用例,并讓它最大范圍地覆蓋所有未被覆蓋的有效等價類,直到所有有效等價類被完全覆蓋,互斥條件的有效等價類需要單獨覆蓋。第三步:設(shè)計一個新的測試用例,并讓它只覆蓋一個無效等價類,直到所有無效等價類被完全覆蓋。任務(wù)一使用等價類劃分法設(shè)計測試用例四、等價類劃分設(shè)計測試用例的步驟某教學(xué)診斷與改進平臺注冊賬號如下圖所示,要求用戶名由6~18個字符構(gòu)成,包括字母、數(shù)字、下畫線,且用戶名以字母開頭,以字母或數(shù)字結(jié)尾,不區(qū)分大小寫。密碼及確認密碼帶星號標識則為必填項,這里假設(shè)要求密碼不能為空,確認密碼需與密碼一致。任務(wù)一使用等價類劃分法設(shè)計測試用例五、任務(wù)實施上述示例如何使用等價類劃分法設(shè)計測試用例呢?首先,根據(jù)需求進行等價類劃分,可從被測字段的長度要求、組成要求、格式要求等幾個方面考慮有效等價類及無效等價類的劃分,經(jīng)過詳細劃分后的等價類測試用例設(shè)計表如下。測試項測試點需求規(guī)格有效等價類編號無效等價類編號用戶名長度需求6~18位[6,18]a01空b01[1,6)b02>18b03組成需求字母、數(shù)字、下劃線字母a02特殊符號b04字母+數(shù)字+下畫線a03漢字b05格式需求以字母開頭以字母開頭a04數(shù)字開頭b06以下畫線開頭b07以字母或數(shù)字結(jié)尾以字母結(jié)尾a05以下畫線結(jié)尾b08以數(shù)字結(jié)尾a06密碼非空要求不能為空非空a07空b09確認密碼一致性要求與密碼一致一致a08不一致b10任務(wù)一使用等價類劃分法設(shè)計測試用例采用等價類劃分法的三條原則,可抽取有效測試用例如下:a01a02a04a05a07a08a01a03a04a05a07a08a01a03a04a06a07a08無效測試用例如下:

b01、b02、b03、b04、b05任務(wù)一使用等價類劃分法設(shè)計測試用例從等價類用例設(shè)計表提取測試用例時,需要注意條件之間的互斥關(guān)系。例如,以字母結(jié)尾和數(shù)字結(jié)尾不可能同時出現(xiàn),也就是a05a06的組合情況不可能出現(xiàn)??紤]每一個條件時,僅僅考慮自身條件,而不能將若干條件一起考慮,否則就會出現(xiàn)錯亂。例如,上述案例中的組成需求和格式需求,分別考慮各自的有效等價類和無效等價類即可。詳細劃分后的等價類有效測試用例樣例如下:用例編號XXXXXX-XT-用戶注冊-001測試項用戶注冊賬號功能測試測試標題驗證用戶注冊信息功能實現(xiàn)情況用例屬性功能測試重要級別高預(yù)置條件無測試輸入用戶名:wangwu,密碼:wangwu123456,確認密碼:wangwu123456操作步驟在注冊頁面輸入測試數(shù)據(jù);單擊“提交注冊”按鈕預(yù)期結(jié)果系統(tǒng)頁面顯示wangwu注冊成功,3s后成功跳轉(zhuǎn)入wangwu個人信息配置頁面實際結(jié)果任務(wù)一使用等價類劃分法設(shè)計測試用例任務(wù)二使用邊界值分析法設(shè)計測試用例邊界值分析法是對軟件的輸入或輸出范圍的邊界進行檢測的方法,這種方法一般會作為等價類劃分法的一種補充測試。長期的測試工作經(jīng)驗告訴我們,很多的錯誤往往發(fā)生在輸入或輸出范圍的邊界上,而不是發(fā)生在輸入輸出范圍的內(nèi)部。因此針對各種邊界情況設(shè)計測試用例,可以檢測出更多的錯誤。一、邊界值分析法概述任務(wù)二使用邊界值分析法設(shè)計測試用例邊界點分為上點、內(nèi)點、離點。上點:指的是輸入域邊界上的點。如果輸入域的邊界是封閉的,那么上點在域范圍內(nèi);如果輸入域的邊界是開放的,那么上點在域范圍外。離點:指的是距離上點最近的一個點。如果輸入域的邊界是封閉的,那么離點在域范圍外,如果輸入域的邊界是開放的,那么離點在域范圍內(nèi)。內(nèi)點:指的是在輸入域范圍內(nèi)的任意一個點。經(jīng)驗表明,程序?qū)τ谶吔缰档奶幚硗鶗嬖诤芏鄦栴},對于不同區(qū)間邊界值一般選擇2個上點、選擇2個離點、選擇1個內(nèi)點,如下圖所示。二、邊界點定義任務(wù)二使用邊界值分析法設(shè)計測試用例三、邊界值分析法有如下幾個原則如果輸入(輸出)條件確定了取值范圍,或者確定了取值的個數(shù),那么應(yīng)該以該范圍的邊界內(nèi)和邊界附近的值作為測試用例。如果輸入(輸出)條件確定了取值的個數(shù),則可以分別取最大個數(shù)、最小個數(shù)、比最小個數(shù)少一個數(shù)、比最大個數(shù)多一個數(shù)作為測試數(shù)據(jù)。如果程序規(guī)格需求說明書中規(guī)定輸入和輸出是一個有序的集合,可以選取有序集合的第一個元素和最后一個元素作為測試用例。如果程序中使用了一個內(nèi)部數(shù)據(jù)結(jié)構(gòu),則應(yīng)當選擇這個內(nèi)部數(shù)據(jù)結(jié)構(gòu)邊界上的元素作為測試用例。任務(wù)二使用邊界值分析法設(shè)計測試用例四、邊界值分析法用例的設(shè)計有如下幾個步驟分析輸入?yún)?shù)的類型:從需求規(guī)格說明書中分析得到輸入?yún)?shù)類型。等價類劃分(可選):對于輸入要求根據(jù)等價類劃分方法進行等價類的劃分。確定邊界:運用輸入域測試分析方法確定輸入域范圍的邊界(上點、離點和內(nèi)點)。相關(guān)性分析(可選):如果存在多個輸入域,則需要運用因果圖、判定表方法對這些輸入域邊界值的組合情況進一步分析。形成測試項:選擇輸入域中的上點、離點和內(nèi)點或者這些點的組合構(gòu)建測試項。任務(wù)二使用邊界值分析法設(shè)計測試用例注意在等價類劃分法中選擇邊界值時,如果輸入條件要求了取值范圍或者值的個數(shù),則在選取邊界值時可選取5個測試值或者7個測試值。選取方式如下:選取5個值:最小值、稍大于最小值、正常值、稍小于最大值、最大值。選取7個值:稍小于最小值、最小值、稍大于最小值、正常值、稍小于最大值、最大值、稍大于最大值。任務(wù)二使用邊界值分析法設(shè)計測試用例某教學(xué)診斷與改進平臺注冊賬號如下圖所示,要求用戶名由6~18個字符構(gòu)成,包括字母、數(shù)字、下畫線,且用戶名以字母開頭,以字母或數(shù)字結(jié)尾,不區(qū)分大小寫。密碼及確認密碼帶星號標識則為必填項,這里假設(shè)要求密碼不能為空,確認密碼需與密碼一致。五、任務(wù)實施任務(wù)二使用邊界值分析法設(shè)計測試用例該示例對于用戶名長度限制的6~18位,選擇了兩個上點為6和18,在之前的等價類劃分法中,在構(gòu)造測試用例時僅考慮了內(nèi)點選擇。在無效等價類[1,6)以及>18中,選擇更具針對性的測試數(shù)據(jù)離點5和離點19。其他的用例設(shè)計提取與等價類方法類似,使用邊界值劃分法設(shè)計測試數(shù)據(jù)如下表所示:測試項測試點需求規(guī)格有效等價類測試數(shù)據(jù)編號無效等價類測試數(shù)據(jù)編號用戶名長度需求6~18位[6,18]6a01空

b0118a02[1,6)5b0210a03>1819b03組成需求字母、數(shù)字、下畫線字母

a04特殊符號

b04字母+數(shù)字+下畫線

a05漢字

b05格式需求以字母開頭以字母開頭

a06數(shù)字開頭

b06

以下畫線開頭

b07以字母或數(shù)字結(jié)尾以字母結(jié)尾

a07以下畫線結(jié)尾

b08以數(shù)字結(jié)尾

a08密碼非空要求不能為空非空

a09空

b09確認密碼一致性要求與密碼一致一致

a10不一致

b10任務(wù)二使用邊界值分析法設(shè)計測試用例任務(wù)三使用因果圖設(shè)計法設(shè)計測試用例因果圖又稱魚骨圖,在軟件測試用例設(shè)計過程中,用來描述被測對象輸入與輸入、輸入與輸出之間的約束關(guān)系。因果圖的繪制過程可以理解為用例設(shè)計人員,針對因果關(guān)系業(yè)務(wù)的建模過程。根據(jù)軟件需求規(guī)格說明書要求來繪制因果圖,然后得到判定表進行用例設(shè)計,通常理解因果圖為判定表的前置過程,當被測對象因果關(guān)系較為簡單時,可直接使用判定表設(shè)計測試用例,否則可以使用因果圖與判定表相結(jié)合的方法設(shè)計測試用例。一、因果圖設(shè)計法概念任務(wù)三使用因果圖設(shè)計法設(shè)計測試用例因果圖除了需要處理輸入與輸入之間的作用關(guān)系,還需要考慮輸出情況,因此它包含了復(fù)雜的邏輯關(guān)系,通常采用圖示來表示這些復(fù)雜的邏輯關(guān)系,這些圖示稱為因果圖。因果圖中采用一些簡單的邏輯符號和直線將程序的因(輸入)與果(輸出)連接起來,一般原因用ci表示,結(jié)果用ei表示,ci與ei取值可以是“0”或“1”(狀態(tài)不出現(xiàn)用“0”來表示,狀態(tài)出現(xiàn)用“1”來表示)。ci與ei之間有恒等、非(~)、或(∨)、與(∧)四種關(guān)系。二、因果圖邏輯關(guān)系任務(wù)三使用因果圖設(shè)計法設(shè)計測試用例因果圖的四種關(guān)系,每種關(guān)系的具體含義如下:恒等:在恒等關(guān)系中,要求程序分別有一個輸入和輸出,并且輸出與輸入保持一致。也就是如果c1是1,那么e1也是1,如果c1是0,那么e1也是0。非:非采用“~”符號來表示,在這種關(guān)系中,要求程序分別有一個輸入和輸出,輸出是輸入的取反。也就是如果c1是1,那么e1是0,如果c1是0,那么e1是1?;颍夯虿捎谩啊拧狈杹肀硎?,或關(guān)系可以有任意個輸入,只要這些輸入中有一個是1,則輸出是1,否則輸出是0。與:與采用“∧”符號來表示,與關(guān)系也可以有任意個輸入,但只有這些輸入全部是1時,輸出才能是1,否則輸出是0。任務(wù)三使用因果圖設(shè)計法設(shè)計測試用例在軟件測試中,如果程序有多個輸入,那么除了輸入與輸出之間的作用關(guān)系之外,這些輸入之間一般也會存在一些依賴關(guān)系,有些輸入條件本身不能同時存在,某一種輸入可能會影響其他輸入。比如,某個學(xué)生信息管理系統(tǒng)軟件,在輸入個人信息時,性別只能輸入男或女,這兩種輸入不可能同時存在,而且如果輸入性別為女,那么有些項目就會受到限制。這些依賴關(guān)系在軟件測試中稱為“約束”,約束的類別可分為四種:E(Exclusive,異)、I(atleastone,或)、O(oneandonlyone,唯一)、R(Requires,要求),在因果圖中,用特定的符號表明這些約束關(guān)系。任務(wù)三使用因果圖設(shè)計法設(shè)計測試用例不同的符號展現(xiàn)了多個輸入之間的約束關(guān)系,這些約束關(guān)系的含義具體如下:E(異):a和b中最多只能有一個是1,即a和b不能同時是1。I(或):a、b和c中至少有一個必須是1,即a、b、c不能同時是0。O(唯一):a和b有且僅有一個是1。R(要求):a和b必須保持一致,即a是1時,b也必須是1,a是0時,b也必須是0。除了輸入條件,輸出條件也會存在相互約束,輸出條件的約束只有一種M(Mask,強制),也就是強制約束關(guān)系。任務(wù)三使用因果圖設(shè)計法設(shè)計測試用例因果圖設(shè)計測試用例有如下幾個步驟通過分析程序需求規(guī)格說明書內(nèi)容,確定程序的輸入和輸出,即確定“原因”和“結(jié)果”。通過分析得出輸入與輸入之間,以及輸入與輸出之間的對應(yīng)關(guān)系,將這些對應(yīng)關(guān)系采用因果圖表示出來。由于語法或者環(huán)境的限制,有些輸入與輸入之間的組合情況、輸入與輸出之間的組合情況是不可能存在的,對于這種情況,采用符號標記它們之間的限制或約束關(guān)系。將因果圖轉(zhuǎn)換為決策表。根據(jù)決策表設(shè)計測試用例。任務(wù)三使用因果圖設(shè)計法設(shè)計測試用例某教學(xué)診斷與改進平臺規(guī)格說明書中學(xué)生信息填寫要求:學(xué)生性別必須是男或女,學(xué)生年齡必須是數(shù)字,在此情況下進行下一步,但如果學(xué)生性別填寫不正確,則給出提示信息L;如果學(xué)生年齡不是數(shù)字,則給出提示信息M。該示例如何使用因果圖設(shè)計法設(shè)計測試用例呢?四、任務(wù)實施任務(wù)三使用因果圖設(shè)計法設(shè)計測試用例①根據(jù)題目分析,確定“原因”、“結(jié)果”、中間狀態(tài)和約束條件,并進行編號處理,如下所示。原因結(jié)果中間狀態(tài)約束條件1—性別是男21—進行下一步11—性別輸入正確1、2互斥2—性別是女22—給出信息L

3—年齡是數(shù)字23—給出信息M

②通過分析輸入與輸入之間、輸入與輸出之間的對應(yīng)關(guān)系,得出因果圖。任務(wù)三使用因果圖設(shè)計法設(shè)計測試用例任務(wù)四使用決策表設(shè)計法設(shè)計測試用例決策表也被稱為判定表,實際上就是一種邏輯表。它是最嚴格的功能性測試,用于表示和分析復(fù)雜的邏輯關(guān)系。適用于描述不同條件集合下采取行動的若干組合的情況。在程序設(shè)計發(fā)展初期,判定表就已經(jīng)被當作程序開發(fā)的輔助工具了,幫助開發(fā)人員整理開發(fā)模式和流程,因為它可以把復(fù)雜的邏輯關(guān)系和多種條件組合的情況表達得既具體又明確,利用決策表可以設(shè)計出完整的測試用例集合。任務(wù)四使用決策表設(shè)計法設(shè)計測試用例一、決策表設(shè)計法概念決策表一般由四個部分組成,詳細如下:條件樁:列出問題的所有條件,除了部分問題對條件有先后順序的要求之外,一般情況下決策表中所列條件沒有先后順序之分。條件項:條件樁的所有可能取值。動作樁:問題可能采取的操作,這些操作一般沒有先后順序之分。動作項:指出在條件項的各種取值情況下應(yīng)采取的動作。在決策表中,任何一個條件組合的特定取值及其要執(zhí)行的相應(yīng)操作稱為一條規(guī)則,即決策表中的每一列就是一條規(guī)則,每一列都可以設(shè)計一個測試用例,根據(jù)決策表設(shè)計測試用例就不會有所遺漏。任務(wù)四使用決策表設(shè)計法設(shè)計測試用例二、決策表的組成部分為了讓大家明白什么是決策表,下面通過一個“圖片上傳”來制作一個決策表,圖片上傳要求明確了上傳過程中可能出現(xiàn)的情況,以及針對各種情況給出的結(jié)果。圖片上傳要求有如下3個條件:只能上傳“.jpg”格式的圖片。文件大小小于32kb。像素為137×177px。如果上述任何條件失敗,系統(tǒng)將拋出相應(yīng)的錯誤消息,說明問題,如果滿足所有條件,照片將成功上傳。該示例如何使用決策表設(shè)計法設(shè)計測試用例呢?任務(wù)四使用決策表設(shè)計法設(shè)計測試用例三、任務(wù)實施原因結(jié)果格式是否為.jpgA1格式不匹配的錯誤消息B1格式和分辨率不匹配的錯誤消息B2格式和大小不匹配的錯誤消息B3文件大小是否小于32kbA2大小不匹配的錯誤消息B4大小和分辨率不匹配的錯誤消息B5分辨率不匹配的錯誤消息B6分辨率是否為137*177像素A3格式,大小和分辨率不匹配的錯誤消息B7照片上傳成功B8①根據(jù)任務(wù)要求得到如下圖片上傳原因與結(jié)果表。規(guī)則12345678原因A1YYYYNNNNA2YYNNYYNNA3YNYNYNYN結(jié)果B1

B2

B3

B4

B5

B6

B7

√B8√

②分析原因與結(jié)果表中共有3個原因,每個原因均可能取值“Y”和“N”,因此共有23=8條結(jié)果,得到如下圖片上傳決策表。圖片上傳決策表圖片上傳的原因與結(jié)果任務(wù)四使用決策表設(shè)計法設(shè)計測試用例③根據(jù)圖片上傳決策表設(shè)計測試用例如下。測試用例圖片格式文件大小分辨率test1.jpg30kb137*177像素test2.jpg30kb100*100像素test3.jpg35kb137*177像素test4.jpg35kb100*100像素test5.png30kb137*177像素test6.png30kb100*100像素test7.png35kb137*177像素test8.png35kb100*100像素任務(wù)四使用決策表設(shè)計法設(shè)計測試用例任務(wù)五使用正交實驗設(shè)計法設(shè)計測試用例正交實驗法,是由數(shù)理統(tǒng)計學(xué)科中正交實驗方法進化得出的一種測試多條件多輸入的測試用例設(shè)計方法。正交實驗方法是從大量的(實驗)數(shù)據(jù)(測試例)中挑選適量的、有代表性的點(例),從而合理地安排實驗(測試)的一種科學(xué)實驗設(shè)計方法,是研究多因子(因素)多水平(狀態(tài))的一種試驗設(shè)計方法。它是根據(jù)試驗數(shù)據(jù)的正交性,從全面試驗數(shù)據(jù)中挑選出部分有代表性的點進行試驗,這些點具備了“均勻分散、齊整可比”的特點,正交試驗設(shè)計是一種基于正交表的、高效率、快速、經(jīng)濟的試驗設(shè)計方法。因子也可稱為因素,狀態(tài)稱為水平,這里我們以因子和水平為準。一、正交實驗設(shè)計法的概念任務(wù)五使用正交實驗設(shè)計法設(shè)計測試用例①整齊可比:在同一張正交表中,每個因子的每個水平出現(xiàn)的次數(shù)完全一致。在實驗中,每個因素的每個水平與其他因子的每個水平參與實驗的概率完全一致,這就保證了在各個水平中最大限度地排除其他因素水平的干擾。因此,能最有效地進行比較和做出推測,容易找到最佳的試驗條件。②均勻分散:在同一張正交表中,任意兩列(兩個因子)的水平搭配(橫向形成的數(shù)字對)是完全相同的,這就保證了實驗條件均衡地分散在因素水平的完全組合之中,因而具有很強的代表性,容易得到較好的實驗條件。任務(wù)五使用正交實驗設(shè)計法設(shè)計測試用例一、正交實驗設(shè)計法的概念正交實驗設(shè)計法包含如下三個關(guān)鍵因素:指標:判斷實驗結(jié)果優(yōu)劣的標準。因子:因子也稱為因素,是指所有影響實驗指標的條件。因子的狀態(tài):因子的狀態(tài)也叫因子的水平,是指因子變量的取值。一、正交實驗設(shè)計法的概念任務(wù)五使用正交實驗設(shè)計法設(shè)計測試用例提取因子,構(gòu)造因子狀態(tài)表:通過分析軟件的規(guī)格需求說明書得到影響軟件功能的因子,確定因子有哪些可能的取值,即確定因子的狀態(tài)。加權(quán)篩選,簡化因子狀態(tài)表:加權(quán)篩選是指根據(jù)因子或狀態(tài)的重要程度、出現(xiàn)頻率等因素計算因子和狀態(tài)的權(quán)值,權(quán)值越大,表明因子或狀態(tài)重要性越大,而權(quán)值越小,表明因子或狀態(tài)的重要性越小。加權(quán)篩選之后,可以去掉一部分權(quán)值較小的因子或狀態(tài),使得最后生成的測試用例集縮減到允許的范圍。二、正交實驗法設(shè)計測試用例步驟任務(wù)五使用正交實驗設(shè)計法設(shè)計測試用例③構(gòu)建正交表,設(shè)計測試用例:正交表的推導(dǎo)依據(jù)Galois理論,正交表的表示形式為Ln(tc)來表示,其中:L表示正交表。n表示正交表的行數(shù),正交表的每一行可以設(shè)計一個測試用例,因此行數(shù)也表示可以設(shè)計的測試用例的數(shù)量。c表示正交實驗的因子數(shù)目,即正交表的列數(shù),因此正交表是一個n行c列的表。t表示水平數(shù),也就是每個因子能夠取得的最大值,即因子有多少個狀態(tài)。二、正交實驗法設(shè)計測試用例步驟任務(wù)五使用正交實驗設(shè)計法設(shè)計測試用例某教學(xué)診斷與改進平臺需要測試,該平臺有多個不同的操作系統(tǒng)和服務(wù)器配置,并且支持用戶使用不同的瀏覽器及插件訪問該網(wǎng)站視頻,請設(shè)計測試用例進行該網(wǎng)站的兼容性測試。(1)Web瀏覽器:Netscape、IE、Opera。(2)插件:無、RealPlayer、MediaPlayer。(3)應(yīng)用服務(wù)器:IIS、Apache、NetscapeEnterprise。(4)操作系統(tǒng):Windows2007、Windows10、Linux。該示例如何使用正交實驗設(shè)計法設(shè)計測試用例呢?任務(wù)五使用正交實驗設(shè)計法設(shè)計測試用例三、任務(wù)實施①

通過上述需求分析,要求共有4個測試參數(shù),分別是Web瀏覽器、插件、應(yīng)用服務(wù)器、操作系統(tǒng),并且每個因子可能的取值都是3,因此可以使用4因子3水平的正交表。實驗編號列12341111121222313334212352231623127313283213933214因子3水平正交表任務(wù)五使用正交實驗設(shè)計法設(shè)計測試用例②

通過分析得到的測試輸入及取值,替換4因子3水平正交表,得到如下正交表。實驗編號列Web瀏覽器插件應(yīng)用服務(wù)器操作系統(tǒng)1Netscape無IISWindows20072NetscapeRealPlayerApacheWindows103NetscapeMediaPlayerNetscapeEnterpriseLinux4IE無ApacheLinux5IERealPlayerNetscapeEnterpriseWindows20076IEMediaPlayerIISWindows107Opera無NetscapeEnterpriseWindows108OperaRealPlayerIISLinux9OperaMediaPlayerApacheWindows2007任務(wù)五使用正交實驗設(shè)計法設(shè)計測試用例③

根據(jù)經(jīng)驗補充4個因子中都取2和3的實驗數(shù)據(jù),更新后的正交表如下。實驗編號列Web瀏覽器插件應(yīng)用服務(wù)器操作系統(tǒng)1Netscape無IISWindows20072NetscapeRealPlayerApacheWindows103NetscapeMediaPlayerNetscapeEnterpriseLinux4IE無ApacheLinux5IERealPlayerNetscapeEnterpriseWindows20076IEMediaPlayerIISWindows107Opera無NetscapeEnterpriseWindows108OperaRealPlayerIISLinux9OperaMediaPlayerApacheWindows200710IERealPlayerApacheWindows1011OperaMediaPlayerNetscapeEnterpriseLinux任務(wù)五使用正交實驗設(shè)計法設(shè)計測試用例任務(wù)六使用狀態(tài)遷移設(shè)計法設(shè)計測試用例一、狀態(tài)遷移設(shè)計法的概念狀態(tài)遷移設(shè)計法注重被測對象的狀態(tài)變化,如在軟件需求規(guī)格說明書中是否有不可能發(fā)生的狀態(tài)和不合法的狀態(tài),是否可能產(chǎn)生不合法的狀態(tài)遷移等。狀態(tài)就是被測對象在特定輸入條件下所保持的響應(yīng)形式。對于被測對象來說,如果根據(jù)軟件需求規(guī)格說明書抽象出它的若干狀態(tài),以及這些狀態(tài)之間的遷移條件和遷移路徑,那么可以從其狀態(tài)遷移路徑覆蓋的角度來設(shè)計測試用例。狀態(tài)遷移設(shè)計法的目標是設(shè)計足夠多的測試用例,以覆蓋被測對象狀態(tài)。任務(wù)六使用狀態(tài)遷移設(shè)計法設(shè)計測試用例采用狀態(tài)遷移設(shè)計法時,首先需要分析出被測對象在軟件需求規(guī)格說明書中定義的狀態(tài),通過有向箭頭標識在某些輸入條件下狀態(tài)間的遷移關(guān)系,利用廣度優(yōu)先或者深度優(yōu)先法則確定測試用例規(guī)則,最后細化測試用例。具體操作步驟如下:①

明確狀態(tài)節(jié)點通過分析被測對象的測試特性及對應(yīng)的軟件需求規(guī)格說明,明確被測對象的狀態(tài)節(jié)點數(shù)量及相互遷移關(guān)系。二、狀態(tài)遷移法設(shè)計測試用例步驟任務(wù)六使用狀態(tài)遷移設(shè)計法設(shè)計測試用例②

繪制狀態(tài)遷移圖狀態(tài)節(jié)點采用圓圈表示,狀態(tài)間的遷移關(guān)系采用有向箭頭表示,根據(jù)需要在箭頭旁標識遷移條件。利用繪圖軟件繪制狀態(tài)遷移圖。③

繪制狀態(tài)遷移樹根據(jù)狀態(tài)遷移圖,利用廣度優(yōu)先及深度優(yōu)先法則繪制狀態(tài)遷移樹。首先確定起始節(jié)點及終止節(jié)點,在繪制時,當路徑遇到終止節(jié)點時,不再擴展,遇到已經(jīng)出現(xiàn)的節(jié)點也將停止擴展。④

抽取測試路徑設(shè)計測試用例根據(jù)遷移樹得出測試路徑,從左到右,橫向抽取,每條路徑構(gòu)成一條測試規(guī)則,再利用等價類及邊界值劃分法細化測試用例。二、狀態(tài)遷移法設(shè)計測試用例步驟任務(wù)六使用狀態(tài)遷移設(shè)計法設(shè)計測試用例某航空公司的飛機售票系統(tǒng),旅客購買機票可能的流程如下:(1)旅客向航空公司打電話預(yù)定機票,此時機票信息處于“預(yù)訂”狀態(tài)。(2)旅客支付過機票費用后,機票信息變?yōu)椤耙阎Ц丁睜顟B(tài)。(3)旅行當天到達機場,旅客拿到機票后,機票信息變?yōu)椤耙殉銎薄睜顟B(tài)。(4)旅客登機檢票后,機票信息變?yōu)椤耙咽褂谩睜顟B(tài)。(5)旅客在登機之前任何時間都可以取消自己的訂票信息,如果已經(jīng)支付過機票的費用,那么還可以退款,取消后,訂票信息處于“已取消”狀態(tài)。該示例如何使用狀態(tài)遷移法設(shè)計測試用例呢?三、任務(wù)實施任務(wù)六使用狀態(tài)遷移設(shè)計法設(shè)計測試用例①根據(jù)上述需求分析,可以得到該被測對象一共有預(yù)訂、已支付、已出票、已使用、已取消這5種狀態(tài)。繪制狀態(tài)遷移圖如右圖所示。②對每個節(jié)點采用有向箭頭標識該節(jié)點的輸出,僅需關(guān)注每個節(jié)點本身的輸出即可。例如,“預(yù)訂”節(jié)點作為起始節(jié)點,它的輸出節(jié)點即下一個處理節(jié)點為“已支付”,“已支付”節(jié)點的下一步輸出,即下一步可到“已出票”或“已取消”兩個節(jié)點。每個節(jié)點能夠達到的下個節(jié)點規(guī)則都是根據(jù)被測對象的需求確定的。根據(jù)狀態(tài)遷移圖繪制狀態(tài)遷移樹如右圖所示。任務(wù)六使用狀態(tài)遷移設(shè)計法設(shè)計測試用例③根據(jù)狀態(tài)遷移樹,確定測試路徑,每個葉子節(jié)點構(gòu)成一條路徑,可以得到4條路徑。路徑1:預(yù)訂—已取消;路徑2:預(yù)訂—已支付—已取消;路徑3:預(yù)訂—已支付—已出票—已取消;路徑4:預(yù)訂—已支付—已出票—已使用。4條路徑分別構(gòu)成4條測試規(guī)則,針對每個節(jié)點的功能仍需通過等價類及邊界值法進行功能驗證,狀態(tài)遷移設(shè)計法不保證單個功能點的正確性,僅確保狀態(tài)間的轉(zhuǎn)換是否與需求描述一致。任務(wù)六使用狀態(tài)遷移設(shè)計法設(shè)計測試用例任務(wù)七使用場景設(shè)計法設(shè)計測試用例現(xiàn)在幾乎所有的軟件都是用事件觸發(fā)來控制業(yè)務(wù)流程的,事件觸發(fā)時的情景形成場景,而同一事件不同的觸發(fā)順序和處理結(jié)果形成事件流。將這種在軟件設(shè)計方面的思想引入到軟件測試中,從而比較生動地繪制出事件觸發(fā)時的情景,有利于測試設(shè)計者設(shè)計測試用例,同時使測試用例更容易理解和執(zhí)行。一、場景設(shè)計法的概念任務(wù)七使用場景設(shè)計法設(shè)計測試用例針對場景業(yè)務(wù)流,通??煞譃榛玖?、備選流和異常流三種業(yè)務(wù)流向?;玖鞅硎据斎虢?jīng)過每一個正確的流程運轉(zhuǎn)最終達到預(yù)期結(jié)果,備選流表示輸入經(jīng)過每一個流程運轉(zhuǎn)時可能產(chǎn)生異常情況,但經(jīng)過糾正后仍能達到預(yù)期結(jié)果,而異常流表示輸入經(jīng)過每一個流程運轉(zhuǎn)時,產(chǎn)生異常終止的現(xiàn)象?;玖骱蛡溥x流,通常作為業(yè)務(wù)流程測試過程中優(yōu)先級較高的測試分支,應(yīng)詳細設(shè)計劃分。異常流作為可靠性健壯性用例也需要同步考慮。二、場景設(shè)計法的流程任務(wù)七使用場景設(shè)計法設(shè)計測試用例場景分析設(shè)計法的基本流程如右圖所示。從圖中可以看出,基本流從流程開始直至流程結(jié)束,中間無任何異常分支,往往表述一個正向的業(yè)務(wù)流程,也是優(yōu)先級較高的流程。備選流盡管在流程流轉(zhuǎn)過程中出現(xiàn)了異常,但仍能回到基本流主線,如備選流程1和備選流程2,最終仍能回歸基本流,直至流程結(jié)束。而異常流,如異常流程1和異常流程2,在基本流或備選流基礎(chǔ)上出現(xiàn)了異常,并最終異常結(jié)束業(yè)務(wù)流程。任務(wù)七使用場景設(shè)計法設(shè)計測試用例在現(xiàn)實的軟件測試過程中,有些公司僅劃分基本流和備選流,但流程較為復(fù)雜,如存在多級審批會簽時,最好加入異常流的分析步驟。從場景法基本流程圖中可以看出,共有8個業(yè)務(wù)場景,如下:場景1:基本流。場景2:基本流—備選流程1—基本流。場景3:基本流—備選流程2—基本流。場景4:基本流—異常流程1。場景5:基本流—備選流程2—異常流程2。場景6:基本流—備選流程1—備選流程2—異常流程2。場景7:基本流—備選流程1—備選流程2—基本流。場景8:基本流—備選流程1—異常流程1。任務(wù)七使用場景設(shè)計法設(shè)計測試用例確定場景時需關(guān)注流程的入口,每個場景應(yīng)包含從未包含的節(jié)點,即重復(fù)的節(jié)點不能作為新的場景。如果“基本流—備選流程2—備選流程1—基本流程”與“基本流—備選流程1—備選流程2—基本流程”實際上是同一個流程,則不能算作新的場景流程。由上述案例可見,從場景分析角度來看,共有8個場景,構(gòu)成了至少8條測試規(guī)則,但在實際使用過程中,針對每個節(jié)點在設(shè)計測試用例時需考慮其成立的條件,利用等價類及邊界值進一步細化測試規(guī)則及路徑,從而提取有效測試用例。與狀態(tài)遷移法類似,場景分析法不驗證單個功能的正確性,在實際使用時需注意。運用場景設(shè)計法設(shè)計測試用例時,首先需清楚被測對象的需求規(guī)格說明,根據(jù)需求流程

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論