軟件測(cè)試測(cè)試用例的設(shè)計(jì)方法PPT課件_第1頁(yè)
軟件測(cè)試測(cè)試用例的設(shè)計(jì)方法PPT課件_第2頁(yè)
軟件測(cè)試測(cè)試用例的設(shè)計(jì)方法PPT課件_第3頁(yè)
軟件測(cè)試測(cè)試用例的設(shè)計(jì)方法PPT課件_第4頁(yè)
軟件測(cè)試測(cè)試用例的設(shè)計(jì)方法PPT課件_第5頁(yè)
已閱讀5頁(yè),還剩198頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、3.1 軟件測(cè)試用例的概述3.2 黑合測(cè)試用例的設(shè)計(jì)3.3 白合測(cè)試用例的設(shè)計(jì)第三章第三章 軟件測(cè)試用例的設(shè)計(jì)軟件測(cè)試用例的設(shè)計(jì)第1頁(yè)/共203頁(yè)3.1.1 測(cè)試用例的基本概念3.1.2 測(cè)試用例的設(shè)計(jì)原則與特性3.1.3 測(cè)試用例的編制3.1 測(cè)試用例的基本概念第2頁(yè)/共203頁(yè) 1 1、什么是測(cè)試用例、什么是測(cè)試用例u測(cè)試用例(Test Case)是為達(dá)到最佳的測(cè)試效果或高效的揭露隱藏的錯(cuò)誤而精選的少量有代表性或特殊性測(cè)試數(shù)據(jù)。 軟件測(cè)試的靈魂-測(cè)試用例 例:測(cè)試Yahoo郵箱的登錄程序,假設(shè)存在一用戶為user,密碼為12345 。3.1.1 3.1.1 測(cè)試用例的概念測(cè)試用例的概念第3

2、頁(yè)/共203頁(yè)用例編號(hào)測(cè)試步驟輸入數(shù)據(jù)期望結(jié)果測(cè)試結(jié)果1輸入用戶名和密碼,點(diǎn)擊“登錄雅虎服務(wù)”按鈕用戶名:user密碼:12345成功登錄user的個(gè)人郵箱2輸入用戶名和密碼,點(diǎn)擊“登錄雅虎服務(wù)”按鈕用戶名:user密碼:123456提示“密碼錯(cuò)誤,請(qǐng)重新輸入!”3不輸入用戶名和密碼,直接點(diǎn)擊“登錄雅虎服務(wù)”按鈕提示“請(qǐng)輸入用戶名和密碼!”.3.1.1 3.1.1 測(cè)試用例的概念測(cè)試用例的概念第4頁(yè)/共203頁(yè)工程碩士5u 測(cè)試用例包括測(cè)試環(huán)境、測(cè)試步驟、測(cè)試數(shù)據(jù)和預(yù)期結(jié)果。即測(cè)試用例=輸入+輸出+測(cè)試環(huán)境+測(cè)試步驟 輸入:測(cè)試數(shù)據(jù)和操作步驟 輸出:期望結(jié)果 測(cè)試環(huán)境:軟硬件環(huán)境配置3.1.1

3、 3.1.1 測(cè)試用例的概念測(cè)試用例的概念第5頁(yè)/共203頁(yè) 2 2、編制測(cè)試用例的重要性、編制測(cè)試用例的重要性u(píng)為什么要做測(cè)試用例,主要原因有如下幾點(diǎn):完全測(cè)試是不可能的;輸入量太大;輸出結(jié)果太多;軟件實(shí)現(xiàn)路徑太多;軟件說(shuō)明書(shū)沒(méi)有客觀標(biāo)準(zhǔn),軟件缺陷的標(biāo)準(zhǔn)也不同。3.1.1 3.1.1 測(cè)試用例的概念測(cè)試用例的概念第6頁(yè)/共203頁(yè)u使用測(cè)試用例的好處: 可以避免盲目測(cè)試并提高測(cè)試效率。 使軟件測(cè)試的實(shí)施重點(diǎn)突出、目的明確。 在軟件版本更新后只需修正少部分的測(cè)試用例便可展開(kāi)測(cè)試工作,降低工作強(qiáng)度、縮短項(xiàng)目周期。 測(cè)試用例的通用化和復(fù)用化則使軟件測(cè)試易于開(kāi)展。3.1.1 3.1.1 測(cè)試用例的概

4、念測(cè)試用例的概念第7頁(yè)/共203頁(yè)u 測(cè)試用例的作用 指導(dǎo)測(cè)試的實(shí)施 規(guī)劃測(cè)試數(shù)據(jù)的準(zhǔn)備 評(píng)估測(cè)試結(jié)果的度量基準(zhǔn) 分析缺陷的標(biāo)準(zhǔn) 編寫(xiě)測(cè)試腳本的設(shè)計(jì)規(guī)格說(shuō)明書(shū) 3.1.1 3.1.1 測(cè)試用例的概念測(cè)試用例的概念第8頁(yè)/共203頁(yè) 1 1、測(cè)試用例的設(shè)計(jì)原則、測(cè)試用例的設(shè)計(jì)原則 保證測(cè)試用例的明確性。測(cè)試人員要盡量避免測(cè)試用例存在含糊的因素,否則會(huì)影響測(cè)試工作進(jìn)行與測(cè)試結(jié)果的準(zhǔn)確性(模棱兩可)。在測(cè)試過(guò)程中,測(cè)試用例的測(cè)試結(jié)果是唯一的,即通過(guò)、沒(méi)通過(guò)或未進(jìn)行測(cè)試。如果測(cè)試沒(méi)有通過(guò),一般會(huì)生成相應(yīng)的測(cè)試錯(cuò)誤報(bào)告;如果測(cè)試沒(méi)有進(jìn)行,也會(huì)生成相應(yīng)的原因說(shuō)明報(bào)告,如測(cè)試用例本身具有錯(cuò)誤性、測(cè)試用例的不

5、適用性等等。3.1.2 3.1.2 測(cè)試用例的設(shè)計(jì)原則與特性測(cè)試用例的設(shè)計(jì)原則與特性第9頁(yè)/共203頁(yè)保證測(cè)試用例的代表性。盡量將具有相似功能的測(cè)試用例抽象合并,使一個(gè)測(cè)試用例具有測(cè)試一類(lèi)或一系列的系統(tǒng)需求。保證測(cè)試用例的簡(jiǎn)潔性。冗長(zhǎng)與復(fù)雜的測(cè)試用例是不應(yīng)該出現(xiàn)的,否則可讀性差、不利于測(cè)試人員理解和操作。簡(jiǎn)潔的測(cè)試用例可以讓測(cè)試過(guò)程目的明確,讓測(cè)試結(jié)果具有唯一性。3.1.2 3.1.2 測(cè)試用例的設(shè)計(jì)原則與特性測(cè)試用例的設(shè)計(jì)原則與特性第10頁(yè)/共203頁(yè) 2 2、測(cè)試用例的特性、測(cè)試用例的特性 有效性:測(cè)試用例是測(cè)試人員測(cè)試過(guò)程中的重要參考依據(jù),不同的測(cè)試人員根據(jù)相同的測(cè)試用例所得到的輸出應(yīng)該

6、是一致的。 可復(fù)用性:良好的測(cè)試用例具有重復(fù)使用的功能,這樣就可以大大地節(jié)約測(cè)試的時(shí)間,提高測(cè)試的效率。3.1.2 3.1.2 測(cè)試用例的設(shè)計(jì)原則與特性測(cè)試用例的設(shè)計(jì)原則與特性第11頁(yè)/共203頁(yè) 易組織性:測(cè)試用例可能有成千上萬(wàn)個(gè),有效地組織這些測(cè)試用例,分門(mén)別類(lèi)地提供給測(cè)試人員參考和使用,才是一個(gè)好的測(cè)試計(jì)劃。 可評(píng)估性:從測(cè)試管理的角度,測(cè)試用例的通過(guò)率和軟件缺陷的數(shù)目是軟件產(chǎn)品質(zhì)量好壞的測(cè)試標(biāo)準(zhǔn)。 可管理性:測(cè)試用例可以作為檢驗(yàn)測(cè)試人員進(jìn)度、工作量以及跟蹤/管理測(cè)試人員工作效率的因素。3.1.2 3.1.2 測(cè)試用例的設(shè)計(jì)原則與特性測(cè)試用例的設(shè)計(jì)原則與特性第12頁(yè)/共203頁(yè)13Goo

7、d Test case 有效性仿效性經(jīng)濟(jì)性修改性測(cè)試用例是否能夠發(fā)現(xiàn)缺陷或者至少可能發(fā)現(xiàn)缺陷。測(cè)試用例的代表程度,可測(cè)試多項(xiàng)內(nèi)容,因而減少測(cè)試用例數(shù)量。實(shí)現(xiàn)、調(diào)試和運(yùn)行測(cè)試用例的成本修改和維護(hù)測(cè)試用例的難易程度3 3、測(cè)試用例的度量標(biāo)準(zhǔn)、測(cè)試用例的度量標(biāo)準(zhǔn)3.1.2 3.1.2 測(cè)試用例的設(shè)計(jì)原則與特性測(cè)試用例的設(shè)計(jì)原則與特性第13頁(yè)/共203頁(yè) 1 1、測(cè)試用例編制的依據(jù)、測(cè)試用例編制的依據(jù)u 需求說(shuō)明以及相關(guān)文檔;u 設(shè)計(jì)說(shuō)明及相關(guān)文檔(概要設(shè)計(jì),詳細(xì)設(shè)計(jì)等);u 與開(kāi)發(fā)組交流的記錄(可以是開(kāi)發(fā)人員的一個(gè)解釋?zhuān)?;u 基本成型的UI;u 編寫(xiě)測(cè)試用例的文檔模板和符合內(nèi)部的規(guī)范要求。測(cè)試用例有

8、相關(guān)的編制標(biāo)準(zhǔn),如ANSI/IEEE829-1983標(biāo)準(zhǔn)中列出的關(guān)于軟件測(cè)試用例的相關(guān)編制規(guī)范和模板。3.1.3 3.1.3 測(cè)試用例的編制測(cè)試用例的編制第14頁(yè)/共203頁(yè) 2 2、測(cè)試用例的編制過(guò)程、測(cè)試用例的編制過(guò)程u 分析軟件程序的工作流程。 目的是了解用戶與系統(tǒng)交互時(shí)的操作和步驟,以確定與描述測(cè)試軟件所需的測(cè)試用例。3.1.3 3.1.3 測(cè)試用例的編制測(cè)試用例的編制第15頁(yè)/共203頁(yè)u 確定并制定測(cè)試用例 目的是為每項(xiàng)測(cè)試需求編寫(xiě)適當(dāng)?shù)臏y(cè)試用例。 軟件測(cè)試用例主要根據(jù)測(cè)試用例編寫(xiě)要素,結(jié)合相應(yīng)的軟件需求文檔,在掌握一定測(cè)試用例設(shè)計(jì)方法的基礎(chǔ)上,設(shè)計(jì)出比較全面、合理的測(cè)試用例,并生

9、成規(guī)范的測(cè)試用例表。 如果測(cè)試過(guò)以前的版本,則測(cè)試用例已經(jīng)存在,應(yīng)復(fù)審這些測(cè)試用例。3.1.3 3.1.3 測(cè)試用例的編制測(cè)試用例的編制第16頁(yè)/共203頁(yè)u確定測(cè)試用例數(shù)據(jù) 根據(jù)測(cè)試用例表的內(nèi)容,確定支持這些測(cè)試用例的實(shí)際值。測(cè)試用例數(shù)據(jù)一般包括: 用作輸入的數(shù)據(jù)值 用作預(yù)期結(jié)果的數(shù)據(jù)值 用作支持測(cè)試用例所需的數(shù)據(jù) u測(cè)試用例的修改更新 測(cè)試用例在形成文檔后還需要不斷完善,緣故在于: 在測(cè)試過(guò)程中發(fā)現(xiàn)設(shè)計(jì)測(cè)試用例時(shí)考慮不周; 在軟件交付使用后反饋的軟件缺陷,而缺陷又是因測(cè)試用例存在漏洞造成; 軟件自身的新增功能以及軟件版本的更新,測(cè)試用例也必須配套修改更新。 3.1.3 3.1.3 測(cè)試用例

10、的編制測(cè)試用例的編制第17頁(yè)/共203頁(yè) 3 3、測(cè)試用例的管理、測(cè)試用例的管理 測(cè)試管理軟件的主要功能有三個(gè):記錄測(cè)試用例文檔的關(guān)鍵內(nèi)容、 可供測(cè)試實(shí)施時(shí)及時(shí)輸入測(cè)試情況、實(shí)現(xiàn)自動(dòng)生成測(cè)試結(jié)果文檔。 3.1.3 3.1.3 測(cè)試用例的編制測(cè)試用例的編制第18頁(yè)/共203頁(yè) 4 4、測(cè)試用例的文檔、測(cè)試用例的文檔u 測(cè)試用例文檔由簡(jiǎn)介和測(cè)試用例兩部分組成。u 測(cè)試用例的文檔模板。用于描述輸入、動(dòng)作、時(shí)間和一個(gè)期望結(jié)果。u 測(cè)試用例的基本要素。包括測(cè)試用例編號(hào)、測(cè)試標(biāo)題、測(cè)試模塊、用例級(jí)別、測(cè)試環(huán)境、測(cè)試輸入、執(zhí)行操作、預(yù)期結(jié)果。不同的公司會(huì)有不同的測(cè)試用例模板。3.1.3 3.1.3 測(cè)試用例

11、的編制測(cè)試用例的編制第19頁(yè)/共203頁(yè) 用例編號(hào):每個(gè)測(cè)試用例都有唯一的標(biāo)識(shí)號(hào),用以區(qū)別其他測(cè)試用例。測(cè)試用例的編號(hào)有一定的規(guī)則:項(xiàng)目名稱(chēng)測(cè)試階段類(lèi)型(系統(tǒng)測(cè)試階段)編號(hào),如PROJECT1-ST-001,定義測(cè)試用例編號(hào),是為了便于查找與跟蹤測(cè)試用例。 測(cè)試標(biāo)題:測(cè)試用例標(biāo)題應(yīng)清楚表達(dá)測(cè)試用例的用途,如“測(cè)試用戶登錄時(shí)輸入錯(cuò)誤密碼時(shí),軟件的響應(yīng)情況 ” 。 測(cè)試模塊:指明并簡(jiǎn)單描述測(cè)試用例是用來(lái)測(cè)試哪些項(xiàng)目、子項(xiàng)目或軟件特性的。3.1.3 3.1.3 測(cè)試用例的編制測(cè)試用例的編制第20頁(yè)/共203頁(yè) 用例級(jí)別:測(cè)試用例的優(yōu)先級(jí)別,可以粗略地分為 “高”和“低”兩個(gè)級(jí)別,也可以分為“高”、“

12、中”、“低”三個(gè)級(jí)別。一般來(lái)說(shuō),軟件需求的優(yōu)先級(jí)和測(cè)試用例的優(yōu)先級(jí)一致,即如果軟件需求的優(yōu)先級(jí)為“高”,該需求的測(cè)試用例的優(yōu)先級(jí)也為“高”;反之亦然。 測(cè)試環(huán)境:執(zhí)行測(cè)試用例所需的硬軟件環(huán)境。在整個(gè)測(cè)試模塊中需要對(duì)應(yīng)說(shuō)明整個(gè)測(cè)試的特殊環(huán)境要求,在單個(gè)測(cè)試用例的測(cè)試環(huán)境需要表述該測(cè)試用例所單獨(dú)需要的特殊環(huán)境要求。3.1.3 3.1.3 測(cè)試用例的編制測(cè)試用例的編制第21頁(yè)/共203頁(yè) 測(cè)試輸入:用來(lái)執(zhí)行測(cè)試用例的輸入要求。輸入可以是數(shù)據(jù)、文件或具體操作。根據(jù)需求中的輸入條件,確定測(cè)試用例的輸入,測(cè)試用例的輸入對(duì)軟件需求當(dāng)中的輸入有很大的依賴(lài)性,如果軟件需求中沒(méi)有很好的定義需求的輸入,那么測(cè)試用例

13、設(shè)計(jì)中會(huì)遇到很大的障礙。 執(zhí)行操作:執(zhí)行測(cè)試用例所需的每一步操作。對(duì)于復(fù)雜的測(cè)試用例,測(cè)試用例的輸入需要分為幾個(gè)步驟完成,這部分內(nèi)容在操作步驟中詳細(xì)列出。3.1.3 3.1.3 測(cè)試用例的編制測(cè)試用例的編制第22頁(yè)/共203頁(yè) 預(yù)期結(jié)果:描述被測(cè)項(xiàng)目或特性所希望或要求達(dá)到的輸出或指標(biāo)。一般來(lái)說(shuō),預(yù)期結(jié)果主要根據(jù)軟件需求中的輸出得出,如果在實(shí)際測(cè)試過(guò)程中,得到的實(shí)際測(cè)試結(jié)果與預(yù)期結(jié)果不符,那么測(cè)試不通過(guò);反之則測(cè)試通過(guò)。3.1.3 3.1.3 測(cè)試用例的編制測(cè)試用例的編制第23頁(yè)/共203頁(yè)軟 件 測(cè) 試 用 例元 素含 義給出定義的測(cè)試角色用例編號(hào)被標(biāo)識(shí)過(guò)的測(cè)試需求測(cè)試標(biāo)題測(cè)試用例的描述測(cè)試模

14、塊指明測(cè)試的具體對(duì)象用例級(jí)別指明測(cè)試用例的優(yōu)先級(jí)別測(cè)試需求分析測(cè)試環(huán)境進(jìn)入測(cè)試實(shí)施步驟所需的資源及其狀態(tài)。測(cè)試輸入運(yùn)行本測(cè)試所需的代碼和數(shù)據(jù),包括測(cè)試模擬程序和測(cè)試模擬數(shù)據(jù)測(cè)試設(shè)計(jì)(描述性定義)執(zhí)行操作建立測(cè)試運(yùn)行環(huán)境、運(yùn)行被測(cè)對(duì)象、獲取測(cè)試結(jié)果的步驟序列預(yù)期結(jié)果用于比較測(cè)試結(jié)果的基準(zhǔn)測(cè)試實(shí)現(xiàn)(計(jì)算機(jī)表示)評(píng)價(jià)標(biāo)準(zhǔn)根據(jù)測(cè)試結(jié)果與預(yù)期結(jié)果的偏差,判斷被測(cè)對(duì)象質(zhì)量狀態(tài)的依據(jù)測(cè)試用例的基本要素3.1.3 3.1.3 測(cè)試用例的編制測(cè)試用例的編制第24頁(yè)/共203頁(yè)工程碩士25測(cè)試用例的內(nèi)容(示例)測(cè)試用例的內(nèi)容(示例)1 用例編號(hào)10用例類(lèi)別2 用例名稱(chēng)11用例狀態(tài)3 測(cè)試目的12用例設(shè)計(jì)人4 輸入

15、數(shù)據(jù)13創(chuàng)建時(shí)間5 測(cè)試步驟14用例評(píng)審人6 測(cè)試腳本15評(píng)審時(shí)間7 預(yù)期結(jié)果16評(píng)審結(jié)果8 響應(yīng)時(shí)間17執(zhí)行結(jié)果9 實(shí)際輸出18相關(guān)模塊3.1.3 3.1.3 測(cè)試用例的編制測(cè)試用例的編制第25頁(yè)/共203頁(yè)工程碩士26測(cè)試用例模板(示例)測(cè)試用例模板(示例)項(xiàng)目名稱(chēng)程序版本測(cè)試環(huán)境硬件環(huán)境軟件環(huán)境網(wǎng)絡(luò)環(huán)境編制人編制時(shí)間功能模塊用戶登錄功能特性測(cè)試目的預(yù)置條件用例編號(hào)測(cè)試步驟輸入數(shù)據(jù)預(yù)期結(jié)果測(cè)試結(jié)果DL0013.1.3 3.1.3 測(cè)試用例的編制測(cè)試用例的編制第26頁(yè)/共203頁(yè) 測(cè)試用例是測(cè)試工作的核心,應(yīng)該盡量設(shè)計(jì)的周密細(xì)致,這樣才能更好的保證測(cè)試工作的質(zhì)量。以一個(gè)實(shí)現(xiàn)登錄功能的小程序?yàn)?/p>

16、例,它允許用戶選擇城市和地區(qū),輸入自己的賬號(hào)和密碼。如圖1-9所示,通過(guò)Alt-F4組合鍵和“Exit”按鈕來(lái)終止程序,Tab鍵在區(qū)域中間移動(dòng)。第27頁(yè)/共203頁(yè)操操 作作 員員 登登 錄錄 選 擇 城 市 選 擇 地 區(qū) 城 市地 區(qū)操 作 員密 碼提 交退 出登錄窗口 根據(jù)組成頁(yè)面的具體元素,做了比較全面的測(cè)試用例。第28頁(yè)/共203頁(yè)(1)下拉框和輸入框測(cè)試用例測(cè)試內(nèi)容測(cè)試內(nèi)容輸入操作輸入操作預(yù)期輸出預(yù)期輸出實(shí)際結(jié)果實(shí)際結(jié)果下拉框下拉框未和后臺(tái)數(shù)據(jù)庫(kù)綁定未和后臺(tái)數(shù)據(jù)庫(kù)綁定(顯示列表元素固定)(顯示列表元素固定)不允許列表中出不允許列表中出現(xiàn)現(xiàn)NULL現(xiàn)象,現(xiàn)象,固定固定“請(qǐng)選擇請(qǐng)選擇-

17、”已和后臺(tái)數(shù)據(jù)庫(kù)綁定已和后臺(tái)數(shù)據(jù)庫(kù)綁定(顯示列表元素活動(dòng))(顯示列表元素活動(dòng))不允許列表中出不允許列表中出現(xiàn)現(xiàn)NULL現(xiàn)象,現(xiàn)象,固定固定“請(qǐng)選擇請(qǐng)選擇-”輸輸入入框框限定字符型限定字符型輸入輸入12、6無(wú)無(wú)#,*等等錯(cuò)誤提示錯(cuò)誤提示限定型數(shù)字限定型數(shù)字輸入輸入測(cè)試數(shù)據(jù)測(cè)試數(shù)據(jù)無(wú)無(wú)12月、月、7*、0錯(cuò)誤提示錯(cuò)誤提示第29頁(yè)/共203頁(yè)(2)功能測(cè)試用例用 例應(yīng)產(chǎn)生行為結(jié)果失敗原因1.基本功能測(cè)試1.1在輸入框內(nèi)輸入資料并且執(zhí)行存儲(chǔ)程序必須能夠接受使用者的輸入并且將輸入值存在登錄文件內(nèi)1.2在輸入框內(nèi)不輸入資料但執(zhí)行儲(chǔ)存程序必須能夠檢查使用者輸入是否為空白,同時(shí)必須能夠告知使用者原因1.3檢查

18、city字段儲(chǔ)存結(jié)果City字段輸入 后存入cookies1.4檢查area字段儲(chǔ)存結(jié)果Area字段輸入 后存入cookies儲(chǔ)存結(jié)果1.5檢查ID 字段儲(chǔ)存結(jié)果ID字段輸入 后存入cookies2.使用接口功能測(cè)試2.1檢查輸入字段的輸入值必須組織使用者輸入空白,同時(shí)部分字段只能輸入數(shù)字第30頁(yè)/共203頁(yè)(3)各種錯(cuò)誤數(shù)據(jù)的測(cè)試測(cè)試內(nèi)容測(cè)試內(nèi)容輸入操作輸入操作預(yù)選測(cè)試數(shù)據(jù)預(yù)選測(cè)試數(shù)據(jù)預(yù)期輸出預(yù)期輸出實(shí)際結(jié)果實(shí)際結(jié)果點(diǎn)擊登錄點(diǎn)擊登錄按鈕按鈕不完整的數(shù)據(jù)不完整的數(shù)據(jù)CityCity,areaarea,IDID,pswdpswd略略提示錯(cuò)誤對(duì)話提示錯(cuò)誤對(duì)話框框不正確的數(shù)據(jù)不正確的數(shù)據(jù)CityCi

19、ty,areaarea,IDID,pswdpswd略略提示錯(cuò)誤對(duì)話提示錯(cuò)誤對(duì)話框框回車(chē)操作回車(chē)操作不完整的數(shù)據(jù)不完整的數(shù)據(jù)CityCity,areaarea,IDID,pswdpswd略略提示錯(cuò)誤對(duì)話提示錯(cuò)誤對(duì)話框框點(diǎn)擊點(diǎn)擊“退退出出”按鈕按鈕無(wú)無(wú)無(wú)無(wú)無(wú)無(wú)關(guān)閉當(dāng)前應(yīng)用關(guān)閉當(dāng)前應(yīng)用系統(tǒng)系統(tǒng)第31頁(yè)/共203頁(yè)(4)特殊測(cè)試測(cè)試內(nèi)容測(cè)試內(nèi)容輸入操作輸入操作預(yù)選測(cè)試數(shù)預(yù)選測(cè)試數(shù)據(jù)據(jù)預(yù)期輸出預(yù)期輸出操作焦點(diǎn)逃操作焦點(diǎn)逃逸逸連續(xù)連續(xù)TabTab切換,察看異常切換,察看異常無(wú)無(wú)焦點(diǎn)可準(zhǔn)確回歸焦點(diǎn)可準(zhǔn)確回歸當(dāng)前操作窗口當(dāng)前操作窗口分配內(nèi)存不分配內(nèi)存不足足啟動(dòng)多個(gè)應(yīng)用程序或模擬啟動(dòng)多個(gè)應(yīng)用程序或模擬多個(gè)程序運(yùn)

20、行多個(gè)程序運(yùn)行無(wú)無(wú)是否可以正常運(yùn)是否可以正常運(yùn)行行網(wǎng)絡(luò)斷線網(wǎng)絡(luò)斷線切斷網(wǎng)絡(luò)連接切斷網(wǎng)絡(luò)連接無(wú)無(wú)是否可正常拋出是否可正常拋出異常異常第32頁(yè)/共203頁(yè)3.2.1 3.2.1 等價(jià)類(lèi)測(cè)試用例設(shè)計(jì)法3.2.2 3.2.2 邊界分析測(cè)試用例設(shè)計(jì)法3.2.3 3.2.3 決策表測(cè)試用例設(shè)計(jì)法3.2.4 3.2.4 因果圖測(cè)試用例設(shè)計(jì)法3.2.5 3.2.5 錯(cuò)誤猜測(cè)測(cè)試用例設(shè)計(jì)法3.2.6 3.2.6 業(yè)務(wù)流程圖測(cè)試用例設(shè)計(jì)法3.2.7 3.2.7 黑盒測(cè)試用例設(shè)計(jì)方法的應(yīng)用3.2 黑合測(cè)試用例的設(shè)計(jì)第33頁(yè)/共203頁(yè) 常用的黑盒測(cè)試用例設(shè)計(jì)方法主要有以下幾種: 邊界值分析 等價(jià)類(lèi) 決策表 因果圖法

21、 錯(cuò)誤猜測(cè)法 流程圖法 3.2 3.2 黑合測(cè)試用例的設(shè)計(jì)黑合測(cè)試用例的設(shè)計(jì)第34頁(yè)/共203頁(yè) 1 1、等價(jià)類(lèi)測(cè)試用例設(shè)計(jì)的基本思想、等價(jià)類(lèi)測(cè)試用例設(shè)計(jì)的基本思想 等價(jià)類(lèi)測(cè)試法是將不能窮舉的測(cè)試過(guò)程進(jìn)行合理分類(lèi),從而保證設(shè)計(jì)出來(lái)的測(cè)試用例具有完整性和代表性。等價(jià)類(lèi)測(cè)試法是把所有可能的輸入數(shù)據(jù)(即程序的輸入域)劃分成若干子集(等價(jià)類(lèi)),從每一個(gè)子集中選取少數(shù)具有代表性的數(shù)據(jù)作為測(cè)試用例。每個(gè)子集中的輸入具有相同揭示程序問(wèn)題的能力,進(jìn)而達(dá)到盡可能完備同時(shí)又可避免冗余的測(cè)試。 在分析需求規(guī)格說(shuō)明書(shū)的基礎(chǔ)上劃分等價(jià)類(lèi),是等價(jià)類(lèi)測(cè)試用例設(shè)計(jì)的前提。 3.2.1 3.2.1 等價(jià)類(lèi)測(cè)試用例設(shè)計(jì)法等價(jià)類(lèi)測(cè)

22、試用例設(shè)計(jì)法第35頁(yè)/共203頁(yè) 所謂等價(jià)類(lèi)是指輸入域的某個(gè)子集,所有等價(jià)類(lèi)的并集就是整個(gè)輸入域。在等價(jià)類(lèi)中,各個(gè)輸入數(shù)據(jù)對(duì)于揭露程序中的錯(cuò)誤都是等效的,具有等價(jià)特性。因此,測(cè)試等價(jià)類(lèi)中的代表值等價(jià)于對(duì)該類(lèi)中其它值的測(cè)試,即如果某等價(jià)類(lèi)中的一個(gè)用例發(fā)現(xiàn)了錯(cuò)誤,該等價(jià)類(lèi)中的其它用例也能發(fā)現(xiàn)同樣的錯(cuò)誤;反之,如果等價(jià)類(lèi)中的一個(gè)用例沒(méi)有發(fā)現(xiàn)錯(cuò)誤,該等價(jià)類(lèi)中的其它用例也不會(huì)查出錯(cuò)誤。3.2.1 3.2.1 等價(jià)類(lèi)測(cè)試用例設(shè)計(jì)法等價(jià)類(lèi)測(cè)試用例設(shè)計(jì)法第36頁(yè)/共203頁(yè) 2 2、有效等價(jià)類(lèi)與無(wú)效等價(jià)類(lèi)、有效等價(jià)類(lèi)與無(wú)效等價(jià)類(lèi) 軟件不能只接收合理有效的數(shù)據(jù),還應(yīng)具有處理異常數(shù)據(jù)的功能,才能確保軟件具有更高的

23、可靠性。因此,在劃分等價(jià)類(lèi)的過(guò)程中,不但要考慮有效等價(jià)類(lèi)劃分,同時(shí)也要考慮無(wú)效等價(jià)類(lèi)劃分。 有效等價(jià)類(lèi)是指對(duì)需求規(guī)格說(shuō)明書(shū)來(lái)說(shuō),合理、有意義的輸入數(shù)據(jù)所構(gòu)成的集合。利用有效等價(jià)類(lèi)可以檢驗(yàn)程序是否滿足規(guī)格說(shuō)明所規(guī)定的功能和性能。 無(wú)效等價(jià)類(lèi)則和有效等價(jià)類(lèi)相反,對(duì)需求規(guī)格說(shuō)明書(shū)是無(wú)意義的、不合理的輸入數(shù)據(jù)所構(gòu)成的集合,即不滿足程序輸入要求或者無(wú)效的輸入數(shù)據(jù)所構(gòu)成的集合。利用無(wú)效等價(jià)類(lèi)可以檢驗(yàn)程序異常情況的處理。3.2.1 3.2.1 等價(jià)類(lèi)測(cè)試用例設(shè)計(jì)法等價(jià)類(lèi)測(cè)試用例設(shè)計(jì)法第37頁(yè)/共203頁(yè)38 3 3、等價(jià)類(lèi)劃分的原則等價(jià)類(lèi)劃分的原則 如果輸入條件規(guī)定了一個(gè)取值范圍,就應(yīng)確定一個(gè)有效如果輸入條

24、件規(guī)定了一個(gè)取值范圍,就應(yīng)確定一個(gè)有效等價(jià)類(lèi)和兩個(gè)無(wú)效等價(jià)類(lèi);等價(jià)類(lèi)和兩個(gè)無(wú)效等價(jià)類(lèi); 如果輸入條件規(guī)定了取值的個(gè)數(shù),就應(yīng)確定一個(gè)有效等如果輸入條件規(guī)定了取值的個(gè)數(shù),就應(yīng)確定一個(gè)有效等價(jià)類(lèi)和兩個(gè)無(wú)效等價(jià)類(lèi);價(jià)類(lèi)和兩個(gè)無(wú)效等價(jià)類(lèi); 如果輸入條件是一個(gè)布爾表達(dá)式的條件,可以確定一個(gè)如果輸入條件是一個(gè)布爾表達(dá)式的條件,可以確定一個(gè)有效等價(jià)類(lèi)和一個(gè)無(wú)效等價(jià)類(lèi)有效等價(jià)類(lèi)和一個(gè)無(wú)效等價(jià)類(lèi) 如果輸入條件規(guī)定了一個(gè)輸入值的集合,而且程序會(huì)對(duì)如果輸入條件規(guī)定了一個(gè)輸入值的集合,而且程序會(huì)對(duì)每個(gè)值進(jìn)行不同處理,就應(yīng)為每個(gè)輸入值確定一個(gè)有效每個(gè)值進(jìn)行不同處理,就應(yīng)為每個(gè)輸入值確定一個(gè)有效等價(jià)類(lèi)和一個(gè)無(wú)效等價(jià)類(lèi);等價(jià)

25、類(lèi)和一個(gè)無(wú)效等價(jià)類(lèi); 如果輸入條件規(guī)定了如果輸入條件規(guī)定了“必須是必須是”的情況,就應(yīng)確定一個(gè)的情況,就應(yīng)確定一個(gè)有效等價(jià)類(lèi)和若干無(wú)效等價(jià)類(lèi);有效等價(jià)類(lèi)和若干無(wú)效等價(jià)類(lèi); 如果程序未等同地處理等價(jià)類(lèi)中的元素,應(yīng)將這個(gè)等價(jià)如果程序未等同地處理等價(jià)類(lèi)中的元素,應(yīng)將這個(gè)等價(jià)類(lèi)再劃分為小一些的等價(jià)類(lèi)。類(lèi)再劃分為小一些的等價(jià)類(lèi)。3.2.1 3.2.1 等價(jià)類(lèi)測(cè)試用例設(shè)計(jì)法等價(jià)類(lèi)測(cè)試用例設(shè)計(jì)法第38頁(yè)/共203頁(yè)39 4 4、等價(jià)類(lèi)測(cè)試用例設(shè)計(jì)的步驟、等價(jià)類(lèi)測(cè)試用例設(shè)計(jì)的步驟劃分等價(jià)類(lèi);為每一個(gè)有效等價(jià)類(lèi)和無(wú)效等價(jià)類(lèi)規(guī)定一個(gè)唯一的編號(hào);設(shè)計(jì)一個(gè)測(cè)試用例,使其盡可能多地覆蓋尚未覆蓋的有效等價(jià)類(lèi),重復(fù)這一步直

26、到所有有效等價(jià)類(lèi)均被測(cè)試用例所覆蓋;設(shè)計(jì)一個(gè)測(cè)試用例,使其只覆蓋一個(gè)無(wú)效等價(jià)類(lèi),重復(fù)這一步,直到所有無(wú)效等價(jià)類(lèi)均被覆蓋。3.2.1 3.2.1 等價(jià)類(lèi)測(cè)試用例設(shè)計(jì)法等價(jià)類(lèi)測(cè)試用例設(shè)計(jì)法第39頁(yè)/共203頁(yè)輸入條件有效等價(jià)類(lèi)無(wú)效等價(jià)類(lèi)5 5、等價(jià)類(lèi)表示、等價(jià)類(lèi)表示 在確立了等價(jià)類(lèi)之后,建立等價(jià)類(lèi)表,列出所有劃分出的等價(jià)類(lèi),如表所示。 等價(jià)類(lèi)表3.2.1 3.2.1 等價(jià)類(lèi)測(cè)試用例設(shè)計(jì)法等價(jià)類(lèi)測(cè)試用例設(shè)計(jì)法第40頁(yè)/共203頁(yè)41求三角形面積求三角形面積( (僅判斷是否是三角形) )邊長(zhǎng)非數(shù)值小數(shù)(7)整數(shù)99(6)空白(11)空格(10)數(shù)值特殊字符(9)字母(8)199a+cb(4)b+ca(

27、3)a+bc(2)不能構(gòu)成三角形構(gòu)成三角形(1)某程序?qū)崿F(xiàn)如下功能:輸入三個(gè)整數(shù)a,b,c,輸出以a,b,c為三邊的三角形面積(1a,b,c100),結(jié)果保留2位小數(shù)。3.2.1 3.2.1 等價(jià)類(lèi)測(cè)試用例設(shè)計(jì)法等價(jià)類(lèi)測(cè)試用例設(shè)計(jì)法第41頁(yè)/共203頁(yè)42用例編號(hào)所屬等價(jià)類(lèi)輸入數(shù)據(jù)預(yù)期結(jié)果11(有效等價(jià)類(lèi))A=10,B=10,C=1043.6021(有效等價(jià)類(lèi))A=99,B=99,C=994364.9932(無(wú)效等價(jià)類(lèi))A=1,B=2,C=4提示“不能構(gòu)成三角形”43(無(wú)效等價(jià)類(lèi))A=4,B=1,C=2提示“不能構(gòu)成三角形”54(無(wú)效等價(jià)類(lèi))A=1,B=4,C=2提示“不能構(gòu)成三角形”65(無(wú)

28、效等價(jià)類(lèi))A=0,B=0,C=0提示“請(qǐng)輸入199之間的整數(shù)”76(無(wú)效等價(jià)類(lèi))A=100,B=100,C=100 提示“請(qǐng)輸入199之間的整數(shù)”87(無(wú)效等價(jià)類(lèi))A=ABCD,B=ABCD,C=ABCD 提示“請(qǐng)輸入199之間的整數(shù)”3.2.1 3.2.1 等價(jià)類(lèi)測(cè)試用例設(shè)計(jì)法等價(jià)類(lèi)測(cè)試用例設(shè)計(jì)法第42頁(yè)/共203頁(yè) 6 6、常見(jiàn)等價(jià)類(lèi)劃分形式、常見(jiàn)等價(jià)類(lèi)劃分形式 針對(duì)是否對(duì)無(wú)效數(shù)據(jù)進(jìn)行測(cè)試,可以將等價(jià)類(lèi)分為標(biāo)準(zhǔn)等價(jià)類(lèi)、健壯等價(jià)類(lèi)和對(duì)等區(qū)間等價(jià)類(lèi)。 (1) (1) 標(biāo)準(zhǔn)(簡(jiǎn)單)等價(jià)類(lèi) 標(biāo)準(zhǔn)等價(jià)類(lèi)不考慮無(wú)效數(shù)據(jù),測(cè)試用例使用每個(gè)等價(jià)類(lèi)中的一個(gè)值。通常,標(biāo)準(zhǔn)等價(jià)類(lèi)測(cè)試用例的數(shù)量和最大等價(jià)類(lèi)中元素

29、的數(shù)目相等。3.2.1 3.2.1 等價(jià)類(lèi)測(cè)試用例設(shè)計(jì)法等價(jià)類(lèi)測(cè)試用例設(shè)計(jì)法第43頁(yè)/共203頁(yè) NextDate NextDate 函數(shù)包含三個(gè)變量:monthmonth(月份)、dayday(日期)和 yearyear(年),函數(shù)的輸出為輸入日期后一天的日期。 例如,輸入為20072007年9 9月9 9日,則函數(shù)的輸出為20072007年9 9月1010日 。要求輸入變量 monthmonth、dayday和yearyear均為整數(shù)值,并且滿足下列條件: (1 1)1month121month12 (2 2)1day311day31 (3 3)1912year20501912year20

30、50 3.2.1 3.2.1 等價(jià)類(lèi)測(cè)試用例設(shè)計(jì)法等價(jià)類(lèi)測(cè)試用例設(shè)計(jì)法第44頁(yè)/共203頁(yè) NextDateNextDate函數(shù)的標(biāo)準(zhǔn)等價(jià)類(lèi)有三個(gè)有效等價(jià)類(lèi): M1 M1monthmonth:1month121month12 D1 D1dayday:1day311day31 Y1 Y1yearyear:1912year20501912year20503.2.1 3.2.1 等價(jià)類(lèi)測(cè)試用例設(shè)計(jì)法等價(jià)類(lèi)測(cè)試用例設(shè)計(jì)法測(cè)試用例輸入期望輸出monthdayyearTest Case 19920072007年9月10日第45頁(yè)/共203頁(yè) (2 2)健壯等價(jià)類(lèi))健壯等價(jià)類(lèi) NextDateNextDat

31、e函數(shù)的主要特點(diǎn)是輸入變量之間的邏輯關(guān)系比較復(fù)雜,原因有兩個(gè):函數(shù)的主要特點(diǎn)是輸入變量之間的邏輯關(guān)系比較復(fù)雜,原因有兩個(gè):一個(gè)是輸入域的復(fù)雜性,另一個(gè)是閏年的規(guī)則。例如變量一個(gè)是輸入域的復(fù)雜性,另一個(gè)是閏年的規(guī)則。例如變量yearyear和變量和變量monthmonth取不同取不同的值,對(duì)應(yīng)的變量的值,對(duì)應(yīng)的變量dayday會(huì)有不同的取值范圍,會(huì)有不同的取值范圍,dayday值的范圍可能是值的范圍可能是1 13030或或1 13131,也可能是也可能是1 12828或或1 12929。3.2.1 3.2.1 等價(jià)類(lèi)測(cè)試用例設(shè)計(jì)法等價(jià)類(lèi)測(cè)試用例設(shè)計(jì)法第46頁(yè)/共203頁(yè) (2 2)健壯等價(jià)類(lèi))健

32、壯等價(jià)類(lèi) 健壯等價(jià)類(lèi)應(yīng)考慮健壯等價(jià)類(lèi)應(yīng)考慮無(wú)效等價(jià)類(lèi),若三個(gè)輸入中有一個(gè)條件無(wú)效等價(jià)類(lèi),若三個(gè)輸入中有一個(gè)條件無(wú)效,那么無(wú)效,那么NextDate NextDate 函數(shù)都應(yīng)產(chǎn)生一個(gè)輸出,來(lái)指明相函數(shù)都應(yīng)產(chǎn)生一個(gè)輸出,來(lái)指明相應(yīng)的變量超出取值范圍,例如應(yīng)的變量超出取值范圍,例如monthmonth的值不在的值不在 1 112 12 范范圍當(dāng)中。顯然還存在著大量的圍當(dāng)中。顯然還存在著大量的yearyear、monthmonth、dayday的無(wú)效的無(wú)效組合,組合,NextDate NextDate 函數(shù)將這些組合統(tǒng)一輸出為:函數(shù)將這些組合統(tǒng)一輸出為:“無(wú)效輸無(wú)效輸入日期入日期”。 M2 M2mo

33、nthmonth:month1month12month12 D2 D2dayday:day1day31day31 Y2 Y2yearyear:year1912year2050year20503.2.1 3.2.1 等價(jià)類(lèi)測(cè)試用例設(shè)計(jì)法等價(jià)類(lèi)測(cè)試用例設(shè)計(jì)法第47頁(yè)/共203頁(yè) (2 2)健壯健壯等價(jià)類(lèi)等價(jià)類(lèi) 在標(biāo)準(zhǔn)等價(jià)類(lèi)中,既沒(méi)有考慮在標(biāo)準(zhǔn)等價(jià)類(lèi)中,既沒(méi)有考慮2 2月份的天數(shù)問(wèn)題,也沒(méi)有考慮月份的天數(shù)問(wèn)題,也沒(méi)有考慮閏年的問(wèn)題,月份只包含了閏年的問(wèn)題,月份只包含了3030天和天和3131天兩種情況。在天兩種情況。在健壯健壯等價(jià)類(lèi)劃分等價(jià)類(lèi)劃分中,考慮中,考慮2 2月份天數(shù)。關(guān)于每個(gè)月份的天數(shù),可

34、以詳細(xì)劃分為以下等月份天數(shù)。關(guān)于每個(gè)月份的天數(shù),可以詳細(xì)劃分為以下等價(jià)類(lèi):價(jià)類(lèi): M1 M1monthmonth:monthmonth有有3030天天 M2 M2monthmonth:monthmonth有有3131天天 M3 M3monthmonth:monthmonth是是2 2月月 D1 D1dayday:1day271day27 D2 D2dayday:dayday2828 D3 D3dayday:dayday2929 D4 D4dayday:dayday3030 D5 D5dayday:dayday3131 Y1 Y1yearyear:yearyear是閏年是閏年 Y2 Y2year

35、year:yearyear不是閏年不是閏年 3.2.1 3.2.1 等價(jià)類(lèi)測(cè)試用例設(shè)計(jì)法等價(jià)類(lèi)測(cè)試用例設(shè)計(jì)法第48頁(yè)/共203頁(yè)測(cè)試用例輸入期望輸出monthdayyearTest Case 163020072007年7月1日Test Case 283120072007年9月1日Test Case 322720072007年2月28日Test Case 422820072007年3月1日Test Case 522920002000年3月1日(2000是閏年)Test Case 63192007不可能的輸入日期Test Case 72292007 不可能的輸入日期Test Case 823020

36、07 不可能的輸入日期Test Case 91592007變量month無(wú)效NextDate函數(shù)健壯等價(jià)類(lèi)測(cè)試用例3.2.1 3.2.1 等價(jià)類(lèi)測(cè)試用例設(shè)計(jì)法等價(jià)類(lèi)測(cè)試用例設(shè)計(jì)法第49頁(yè)/共203頁(yè) (3)(3)弱健壯等價(jià)類(lèi)測(cè)試 弱健壯等價(jià)類(lèi)主要是考慮無(wú)效等價(jià)類(lèi)。對(duì)有效輸入,測(cè)試用例從每個(gè)有效等價(jià)類(lèi)中取一個(gè)值;對(duì)無(wú)效輸入,一個(gè)測(cè)試用例有一個(gè)無(wú)效值,其他值均取有效值。3.2.1 3.2.1 等價(jià)類(lèi)測(cè)試用例設(shè)計(jì)法等價(jià)類(lèi)測(cè)試用例設(shè)計(jì)法第50頁(yè)/共203頁(yè)NextDate函數(shù)弱健壯等價(jià)類(lèi)測(cè)試用例測(cè)試用例輸入期望輸出monthdayyearTest Case 19920072007年9月10日Test

37、Case 2092007 month不在112中Test Case 31392007month不在112中Test Case 4902007day不在131中Test Case 59322007day不在131中Test Case 6991911 year不在19122050中Test Case 7992051year不在19122050中3.2.1 3.2.1 等價(jià)類(lèi)測(cè)試用例設(shè)計(jì)法等價(jià)類(lèi)測(cè)試用例設(shè)計(jì)法第51頁(yè)/共203頁(yè) (4)(4)強(qiáng)健壯等價(jià)類(lèi)測(cè)試 強(qiáng)健壯等價(jià)類(lèi)則考慮更多的無(wú)效值。強(qiáng)健壯等價(jià)類(lèi)中的無(wú)效測(cè)試用例可以包含多個(gè)無(wú)效值,即含有多個(gè)缺陷假設(shè)。因?yàn)镹extDateNextDate函數(shù)有

38、三個(gè)變量,所以對(duì)應(yīng)的強(qiáng)健壯等價(jià)類(lèi)測(cè)試用例可以包含一個(gè)無(wú)效值,兩個(gè)無(wú)效值或三個(gè)無(wú)效值。3.2.1 3.2.1 等價(jià)類(lèi)測(cè)試用例設(shè)計(jì)法等價(jià)類(lèi)測(cè)試用例設(shè)計(jì)法第52頁(yè)/共203頁(yè)NextDate函數(shù)強(qiáng)健壯等價(jià)類(lèi)測(cè)試用例測(cè)試用例輸入期望輸出monthdayyearTest Case 1-192007 month不在112中Test Case 29-12007day不在131中Test Case 3991900 year不在19122050中Test Case 4-1-12007month、day無(wú)效,year有效Test Case 5-191900month、year無(wú)效,day有效Test Case 6

39、9-11900day、year無(wú)效,month有效Test Case 7-1-11900month、day、year無(wú)效3.2.1 3.2.1 等價(jià)類(lèi)測(cè)試用例設(shè)計(jì)法等價(jià)類(lèi)測(cè)試用例設(shè)計(jì)法第53頁(yè)/共203頁(yè) (5) (5) 對(duì)等區(qū)間等價(jià)類(lèi) 對(duì)等區(qū)間等價(jià)類(lèi)是非常規(guī)的形式化方法,它將被測(cè)對(duì)象的輸入/ /輸出劃分成一些區(qū)間,被測(cè)軟件對(duì)一個(gè)特定區(qū)間的任何值都是等價(jià)的。測(cè)試區(qū)間的數(shù)據(jù)不只是函數(shù)/ /過(guò)程的參數(shù),也可以是程序可以訪問(wèn)的全局變量、系統(tǒng)資源等,且變量或資源可以是以時(shí)間形式存在的數(shù)據(jù),或以狀態(tài)形式存在的輸入/ /輸出序列。 對(duì)等區(qū)間等價(jià)類(lèi)劃分的前提是位于單個(gè)區(qū)間的所有值對(duì)測(cè)試都是對(duì)等的,應(yīng)為每個(gè)區(qū)

40、間的一個(gè)值設(shè)計(jì)一個(gè)測(cè)試用例。3.2.1 3.2.1 等價(jià)類(lèi)測(cè)試用例設(shè)計(jì)法等價(jià)類(lèi)測(cè)試用例設(shè)計(jì)法第54頁(yè)/共203頁(yè)輸入?yún)^(qū)間輸出區(qū)間=0=0BError 平方根函數(shù)要求當(dāng)輸入值為0 0或大于0 0時(shí),返回輸入數(shù)的平方根;當(dāng)輸入值小于0 0時(shí),顯示“平方根錯(cuò)誤”??紤]平方根函數(shù)的測(cè)試用例區(qū)間,可以劃分出兩個(gè)輸入?yún)^(qū)間和兩個(gè)輸出區(qū)間。區(qū)間劃分3.2.1 3.2.1 等價(jià)類(lèi)測(cè)試用例設(shè)計(jì)法等價(jià)類(lèi)測(cè)試用例設(shè)計(jì)法第55頁(yè)/共203頁(yè) 通過(guò)分析,可以用兩個(gè)測(cè)試用例來(lái)測(cè)試4 4個(gè)區(qū)間: 測(cè)試用例1 1:輸入4 4,返回2 /2 /區(qū)間和A A 測(cè)試用例2 2:輸入-4-4,輸出“平方根錯(cuò)誤,輸入值小于0” 0” /

41、 /區(qū)間和B B 當(dāng)軟件變得更加復(fù)雜時(shí),對(duì)等區(qū)間的確定就較難,區(qū)間之間的相互依賴(lài)性就越強(qiáng),使用對(duì)等區(qū)間等價(jià)類(lèi)劃分設(shè)計(jì)測(cè)試用例技術(shù)的難度增加。3.2.1 3.2.1 等價(jià)類(lèi)測(cè)試用例設(shè)計(jì)法等價(jià)類(lèi)測(cè)試用例設(shè)計(jì)法第56頁(yè)/共203頁(yè)57 NextDate(月,日,年)是三個(gè)變量的函數(shù)。函數(shù)返回輸入日期的下一個(gè)日期。變量月份,日期和年都是整數(shù)值,且滿足下面的條件:1月份=12,1=日期=31,1900=年=2060 兩種不同的等價(jià)類(lèi)劃分方法 等價(jià)類(lèi)測(cè)試示例:等價(jià)類(lèi)測(cè)試示例:NextDateNextDate問(wèn)問(wèn)題題第57頁(yè)/共203頁(yè)58方法方法1 1l測(cè)試用例1.覆蓋等價(jià)類(lèi)1,2,3:測(cè)試輸入=(200

42、6,6,16), 預(yù)期結(jié)果=(2006,6,17)2.覆蓋等價(jià)類(lèi)4,2,3:測(cè)試輸入=(1890,4,10), 預(yù)期結(jié)果=“輸入錯(cuò)誤!”3.覆蓋等價(jià)類(lèi)5,2,3:測(cè)試輸入=(2062,4,10), 預(yù)期結(jié)果=“輸入錯(cuò)誤!”4.覆蓋等價(jià)類(lèi)1,6,3:測(cè)試輸入=(2006,-2,16), 預(yù)期結(jié)果=“輸入錯(cuò)誤!”5.覆蓋等價(jià)類(lèi)1,7,3: 測(cè)試輸入=(2006,13,16), 預(yù)期結(jié)果=“輸入錯(cuò)誤!”6.覆蓋等價(jià)類(lèi)1,2,8:測(cè)試輸入=(2006,6,0), 預(yù)期結(jié)果=“輸入錯(cuò)誤!”7.覆蓋等價(jià)類(lèi)1,2,9:測(cè)試輸入=(2006,4,33), 預(yù)期結(jié)果=“輸入錯(cuò)誤!”條件條件有效等價(jià)類(lèi)有效等價(jià)類(lèi)編

43、號(hào)編號(hào) 無(wú)效等價(jià)類(lèi)無(wú)效等價(jià)類(lèi)編號(hào)編號(hào)年1900,20601年20605月1,122月127日1,313日31 9第58頁(yè)/共203頁(yè)59方法2l測(cè)試用例1.覆蓋等價(jià)類(lèi)1,3,7: 測(cè)試輸入=(2000,7,16), 預(yù)期結(jié)果=(2000,7,17)2.覆蓋等價(jià)類(lèi)2,4,8: 測(cè)試輸入=(2006,4,29), 預(yù)期結(jié)果=(2006,4,30)3.覆蓋等價(jià)類(lèi)1,5,9: 測(cè)試輸入=(2000,2,30), 預(yù)期結(jié)果=“輸入錯(cuò)誤!”4.覆蓋等價(jià)類(lèi)2,6,10: 測(cè)試輸入=(2001,12,31),預(yù)期結(jié)果=(2002,1,1)5.覆蓋等價(jià)類(lèi)11,3,7: 測(cè)試輸入=(1830,3,19), 預(yù)期結(jié)

44、果=“輸入錯(cuò)誤!”第59頁(yè)/共203頁(yè)60方法2(續(xù))l測(cè)試用例(續(xù))6.覆蓋等價(jià)類(lèi)12,3,7: 測(cè)試輸入=(3000,3,19), 預(yù)期結(jié)果=“輸入錯(cuò)誤!”7.覆蓋等價(jià)類(lèi)1,13,7: 測(cè)試輸入=(2004,-2,10),預(yù)期結(jié)果=“輸入錯(cuò)誤!”8.覆蓋等價(jià)類(lèi)1,14,7: 測(cè)試輸入=(2004,15,10),預(yù)期結(jié)果=輸入錯(cuò)誤!”9.覆蓋等價(jià)類(lèi)1,3,15: 測(cè)試輸入=(2004,8,-2), 預(yù)期結(jié)果=“輸入錯(cuò)誤!”10.覆蓋等價(jià)類(lèi)1,3,16: 測(cè)試輸入=(2004,8,38),預(yù)期結(jié)果=“輸入錯(cuò)誤!”。第60頁(yè)/共203頁(yè)61l討論討論l每種結(jié)果都覆蓋了一些應(yīng)該測(cè)試的功能點(diǎn) 第一種

45、方法:過(guò)多關(guān)注無(wú)效等價(jià)類(lèi)的測(cè)試,遺漏了較多NextDate問(wèn)題蘊(yùn)含的邏輯,如平年和閏年、二月和大小月、月底等; 第二種方法:在第一種方法的基礎(chǔ)上,增加了對(duì)二月、年底等的測(cè)試,同時(shí)要考慮NextDate的邏輯知識(shí),測(cè)試用例涵蓋了大部分需測(cè)試的要點(diǎn),但仍有些遺漏,例如年底、平年的二月等l如果程序未等同地處理等價(jià)類(lèi)中的元素,應(yīng)將這個(gè)等價(jià)類(lèi)再劃分為小一些的等價(jià)類(lèi)。3.2.1 3.2.1 等價(jià)類(lèi)測(cè)試用例設(shè)計(jì)法等價(jià)類(lèi)測(cè)試用例設(shè)計(jì)法第61頁(yè)/共203頁(yè)62等價(jià)類(lèi)測(cè)試示例:加法器 一個(gè)c語(yǔ)言程序,功能是計(jì)算1100之間的整數(shù)的和#include void main(void)int a;/加數(shù)int b;/加

46、數(shù)int c;/和while(1)printf(“請(qǐng)輸入兩個(gè)1到100之間的整數(shù):”);fflush(stdin);/清空輸入緩沖區(qū)scanf(“%d %d”,&a,&b);if(a1&a1&b100)/判斷c=a+b;printf(“兩個(gè)數(shù)的和為% dn”,c);(1)無(wú)效等價(jià)類(lèi) 100用例編號(hào)所屬等價(jià)類(lèi)加數(shù)1加數(shù)2預(yù)期結(jié)果1234043210-1提示33110101提示AB+=第62頁(yè)/共203頁(yè)63加法器等價(jià)類(lèi)擴(kuò)展 除了考慮數(shù)據(jù)的輸入范圍,還要考慮輸入數(shù)據(jù)的類(lèi)型加數(shù)數(shù)值非數(shù)值整數(shù)小數(shù)(4)字母(5)特殊字符(6)空格(7)空白(8)100(3)第63頁(yè)/共

47、203頁(yè)64加法器測(cè)試用例用例編號(hào)所屬等價(jià)類(lèi)加數(shù)1加數(shù)2和(預(yù)期結(jié)果)12(有效等價(jià)類(lèi))3404321 (無(wú)效等價(jià)類(lèi))0-1提示“請(qǐng)輸入1100之間的整數(shù)”33 (無(wú)效等價(jià)類(lèi))110101提示“請(qǐng)輸入1100之間的整數(shù)”44 (無(wú)效等價(jià)類(lèi))1.23.2提示“請(qǐng)輸入1100之間的整數(shù)”55 (無(wú)效等價(jià)類(lèi))AB提示“請(qǐng)輸入1100之間的整數(shù)”66 (無(wú)效等價(jià)類(lèi))#提示“請(qǐng)輸入1100之間的整數(shù)”77 (無(wú)效等價(jià)類(lèi))空格空格提示“請(qǐng)輸入1100之間的整數(shù)”第64頁(yè)/共203頁(yè)3. 某軟件要求輸入以年月表示的日期,日期限定在1998年1月2068年12月,并規(guī)定日期由6位數(shù)字字符組成,前4位表示年,后

48、2位表示月。現(xiàn)用等價(jià)類(lèi)劃分法對(duì)輸入日期進(jìn)行黑合測(cè)試,測(cè)試用例的等價(jià)類(lèi)如下表,試設(shè)計(jì)測(cè)試用例,以覆蓋所有的等價(jià)類(lèi)。輸入等價(jià)類(lèi)有效等價(jià)類(lèi)無(wú)效等價(jià)類(lèi)日期類(lèi)型與長(zhǎng)度6位數(shù)字字符有非數(shù)字字符少于6位數(shù)字字符多于6位數(shù)字字符年份范圍在19982068之間小于1998大于2068月份范圍在0112之間等于00大于12第65頁(yè)/共203頁(yè)覆蓋所有的等價(jià)類(lèi)的測(cè)試用例如下表。測(cè)試用例數(shù)據(jù)期望結(jié)果覆蓋的等價(jià)類(lèi)編號(hào)200611輸入有效199901輸入有效205901輸入有效9954X9無(wú)效輸入20096無(wú)效輸入20120607無(wú)效輸入198901無(wú)效輸入200401無(wú)效輸入200400無(wú)效輸入200422無(wú)效輸入第6

49、6頁(yè)/共203頁(yè) 1 1、邊界值分析法的思想、邊界值分析法的思想 邊界值分析法(Boundary Value Boundary Value AnalysisAnalysis,BVABVA)是對(duì)等價(jià)類(lèi)測(cè)試用例設(shè)計(jì)法的補(bǔ)充,不是選擇等價(jià)類(lèi)中的元素,而是選擇等價(jià)類(lèi)邊界的數(shù)據(jù)。在測(cè)試過(guò)程中,往往忽略邊界的條件,而軟件中的大量錯(cuò)誤是發(fā)生在輸入或輸出范圍的邊界上。因此針對(duì)各種邊界設(shè)計(jì)測(cè)試用例,以查出更多的錯(cuò)誤。 3.2.2 邊界值分析測(cè)試用例設(shè)計(jì)法第67頁(yè)/共203頁(yè) 1 1、邊界值分析法的思想、邊界值分析法的思想 如創(chuàng)建一個(gè)含有1010個(gè)元素的一維數(shù)組的VBVB程序: Dim data(10) as I

50、nteger Dim data(10) as Integer Dim i as Integer Dim i as Integer For i=1 to 10 For i=1 to 10 data(i)=1 data(i)=1 Next i Next i3.2.2 邊界值分析測(cè)試用例設(shè)計(jì)法第68頁(yè)/共203頁(yè) 1 1、邊界值分析法的思想、邊界值分析法的思想 在BasicBasic語(yǔ)言中,定義數(shù)組的第一個(gè)元素所對(duì)應(yīng)的下標(biāo)是0 0而不是1 1。因此,程序運(yùn)行結(jié)束后,數(shù)組中成員的賦值情況如下: data(0)=0 data(0)=0,data(1)=1data(1)=1,data(2)=1data(2

51、)=1,.,data(10)=1data(10)=1 當(dāng)其他程序員使用該數(shù)組時(shí),可能會(huì)造成軟件的缺陷或錯(cuò)誤的產(chǎn)生。邊界值分析方法設(shè)計(jì)的測(cè)試用例,就是著重測(cè)試的邊界情況。3.2.2 邊界值分析測(cè)試用例設(shè)計(jì)法第69頁(yè)/共203頁(yè)70 邊界值邊界值測(cè)試用例的取值在輸入變量的最小值、略高于最小值、正常值、略低于最大值測(cè)試用例的取值在輸入變量的最小值、略高于最小值、正常值、略低于最大值和最大值處。和最大值處。 abcdX2X1有效輸入?yún)^(qū)域函數(shù)F有兩個(gè)變量X1和 X2,F(xiàn)實(shí)現(xiàn)為一個(gè)程序,完成某功能,X1和 X2的值域分別為a,b和c,d3.2.2 邊界值分析測(cè)試用例設(shè)計(jì)法第70頁(yè)/共203頁(yè) 2 2、邊界

52、值分析法的原則、邊界值分析法的原則 邊界值分析法應(yīng)遵循以下幾條原則: 如果輸入條件規(guī)定了值的范圍,應(yīng)選取剛達(dá)到及剛超過(guò)范圍邊界的值作為測(cè)試輸入數(shù)據(jù)。 如果輸入條件規(guī)定了值的個(gè)數(shù),則用最大個(gè)數(shù)、最小個(gè)數(shù)、比最小個(gè)數(shù)少1 1、比最大個(gè)數(shù)多1 1的數(shù)作為測(cè)試數(shù)據(jù)。 根據(jù)規(guī)格說(shuō)明的每一個(gè)輸出條件,分別使用以上兩個(gè)原則。3.2.2 邊界值分析測(cè)試用例設(shè)計(jì)法第71頁(yè)/共203頁(yè) 2 2、邊界值分析法的原則、邊界值分析法的原則 如果規(guī)格說(shuō)明給出的輸入域或輸出域是有序集合(如有序表、順序文件等),應(yīng)選取集合的第一個(gè)元素和最后一個(gè)元素作為測(cè)試用例。 如果程序中使用了一個(gè)內(nèi)部數(shù)據(jù)結(jié)構(gòu),應(yīng)選擇該內(nèi)部數(shù)據(jù)結(jié)構(gòu)的邊界值

53、作為測(cè)試用例。 分析規(guī)格說(shuō)明,找出其他可能的邊界條件。3.2.2 邊界值分析測(cè)試用例設(shè)計(jì)法第72頁(yè)/共203頁(yè)73 3 3、基于單缺陷假設(shè)邊界值、基于單缺陷假設(shè)邊界值 單缺陷假設(shè):失效極少是由兩個(gè)(或多個(gè))缺陷同時(shí)發(fā)生而引起的。單缺陷假設(shè):失效極少是由兩個(gè)(或多個(gè))缺陷同時(shí)發(fā)生而引起的。 邊界值分析的測(cè)試用例:通常一個(gè)輸入變量取邊界值,而其它變量則正常值。每邊界值分析的測(cè)試用例:通常一個(gè)輸入變量取邊界值,而其它變量則正常值。每個(gè)變量重復(fù)進(jìn)行,對(duì)于一個(gè)個(gè)變量重復(fù)進(jìn)行,對(duì)于一個(gè)n n變量函數(shù),邊界值分析產(chǎn)生變量函數(shù),邊界值分析產(chǎn)生4n+14n+1個(gè)測(cè)試用例。個(gè)測(cè)試用例。3.2.2 邊界值分析測(cè)試用

54、例設(shè)計(jì)法第73頁(yè)/共203頁(yè)74 3 3、基于單缺陷假設(shè)邊界值、基于單缺陷假設(shè)邊界值abcdX2X1如何設(shè)定邊界值?根據(jù)上下文(語(yǔ)境)人工創(chuàng)建3.2.2 邊界值分析測(cè)試用例設(shè)計(jì)法第74頁(yè)/共203頁(yè) 實(shí)現(xiàn)計(jì)算一個(gè)含有兩個(gè)整數(shù)自變量X X和Y Y函數(shù)的程序,X X的取值域?yàn)?,244,24,Y Y的取值域?yàn)?,202,20,根據(jù)單缺陷假設(shè)邊界值測(cè)試用例的設(shè)計(jì)原則,給出邊界值分析法的測(cè)試用例。 若X X取正常值1414,Y Y取2 2、3 3、1919和2020,則測(cè)試用例有(1414,2 2)、(1414,3 3)、(1414,1919)和(1414,2020)。 若Y Y取正常值1111,X

55、X取4 4、5 5、2323和2424,則測(cè)試用例有(4 4,1111)、(5 5,1111)、(2323,1111)和(2424,1111)。 若X X和Y Y均取正常值,則測(cè)試用例有(1414,1111)。 對(duì)所有的測(cè)試用例,預(yù)期結(jié)果都是一個(gè)數(shù)值。3.2.2 邊界值分析測(cè)試用例設(shè)計(jì)法第75頁(yè)/共203頁(yè) 4 4、基于單缺陷假設(shè)、基于單缺陷假設(shè)健壯健壯邊界值邊界值 測(cè)試思想:測(cè)試用例除了最小值、略高于最小值、正常值、略低于最大值和最大值處取輸入變量的值,還要在略超過(guò)最大值以及略小于最小值之處值。如果被測(cè)變量個(gè)數(shù)為n,則測(cè)試用例個(gè)數(shù)為6n1。abcdX2X1觀察例外情況處理關(guān)心預(yù)期的輸出3.2

56、.2 邊界值分析測(cè)試用例設(shè)計(jì)法第76頁(yè)/共203頁(yè) 5 5、基于多缺陷假設(shè)邊界值測(cè)試、基于多缺陷假設(shè)邊界值測(cè)試 多缺陷假設(shè):失效可能是由兩個(gè)(或多個(gè))缺陷同時(shí)發(fā)生而引起的。 測(cè)試思想:首先取每個(gè)變量的最小值、略高于最小值、正常值、略低于最大值和最大值的集合進(jìn)行測(cè)試,然后對(duì)這些集合進(jìn)行笛卡兒乘積計(jì)算,生成測(cè)試用例。即取各變量的不同邊界值的組合,產(chǎn)生5的n次冪個(gè)用例。77abcdX2X1最壞情況3.2.2 邊界值分析測(cè)試用例設(shè)計(jì)法第77頁(yè)/共203頁(yè) 6 6、基于多缺陷假設(shè)、基于多缺陷假設(shè)健壯健壯邊界值測(cè)試邊界值測(cè)試 測(cè)試思想:首先對(duì)于每個(gè)變量進(jìn)行最小值、略高于最小值、正常值、略低于最大值、最大值

57、以及略超過(guò)最大值和略小于最小值的集合的測(cè)試,然后對(duì)這些集合進(jìn)行笛卡兒乘積計(jì)算,生成測(cè)試用例。即取各變量的不同邊界值的組合,產(chǎn)生7的n次冪個(gè)用例。78abcdX2X1健壯最壞情況測(cè)試3.2.2 邊界值分析測(cè)試用例設(shè)計(jì)法第78頁(yè)/共203頁(yè) 以三角形問(wèn)題為例,要求輸入三個(gè)整數(shù)a a、b b、c c,分別作為三角形的三條邊,取值范圍在1 1100100之間,判斷由三條邊構(gòu)成的三角形類(lèi)型為等邊三角形、等腰三角形、一般三角形(包括直角三角形)以及非三角形。如表所示給出了邊界值分析測(cè)試用例。3.2.2 邊界值分析測(cè)試用例設(shè)計(jì)法第79頁(yè)/共203頁(yè)測(cè)試用例abc預(yù)期輸出Test Case 115050等腰三

58、角形Test Case 225050等腰三角形Test Case 3505050等邊三角形Test Case 4995050等腰三角形Test Case 51005050非三角形Test Case 650150等腰三角形Test Case 750250等腰三角形Test Case 8509950等腰三角形Test Case 95010050非三角形Test Case 1050501等腰三角形基于單缺陷假設(shè)邊界值的測(cè)試用例3.2.2 邊界值分析測(cè)試用例設(shè)計(jì)法第80頁(yè)/共203頁(yè)81l某選課系統(tǒng)中規(guī)定每門(mén)課程的選修人數(shù)在20,60之間,小于20人不開(kāi)設(shè)該門(mén)選修課,大于60人不接受后面的選課要求。l

59、測(cè)試設(shè)計(jì)l輸入變量:選課人數(shù)l測(cè)試輸入1.選課人數(shù)分別為19,20,21,59,60和61等幾個(gè)邊界點(diǎn)2.一個(gè)正常值點(diǎn)403.2.2 邊界值分析測(cè)試用例設(shè)計(jì)法第81頁(yè)/共203頁(yè)82邊界值測(cè)試舉例NextDate問(wèn)題lNextDate(年,月,日)是三個(gè)變量的函數(shù)。函數(shù)返回輸入日期的下一個(gè)日期。變量年份,月份,日期都是整數(shù)值,且滿足下面的條件: 1900年2060 ,1月12, 1日31l測(cè)試設(shè)計(jì)l三個(gè)輸入變量:年,月,日l(shuí)年的邊界值:1899,1900,1901,1980,2059,2060,2061l月的邊界值:0,1,2,7,11,12,13l日的邊界值:0,1,2,15,30,31,3

60、23.2.2 邊界值分析測(cè)試用例設(shè)計(jì)法第82頁(yè)/共203頁(yè)83邊界值測(cè)試小結(jié)邊界值測(cè)試小結(jié) 錯(cuò)誤隱含在角落,邊界值最容易出現(xiàn)問(wèn)題。 邊界值測(cè)試的局限:邊界值分析假設(shè)變量是獨(dú)立的,沒(méi)有相互依賴(lài)關(guān)系。未考慮函數(shù)的性質(zhì)及變量的語(yǔ)義。 如果輸入變量之間不是真正獨(dú)立的,由邊界值而得的測(cè)試用例不夠充分。 不僅要考慮輸入空間,還要考慮輸出空間。 健壯性測(cè)試是測(cè)試內(nèi)部變量的一種好的選擇:循環(huán)控制變量、索引和指針等。 注意單缺陷假設(shè)和多缺陷假設(shè)。NextDate的月、日和年之間存在依賴(lài)關(guān)系,例如2月和閏年(1912年2月31日?)3.2.2 邊界值分析測(cè)試法第83頁(yè)/共203頁(yè)84 采用邊界值技術(shù)測(cè)試加法器 功能:計(jì)算兩個(gè)1100之間的整數(shù)的和。 程序: #inclu

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論