版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第三講黑盒測(cè)試技術(shù)
主講人:張偉
概覽
在本章中,我們將學(xué)習(xí):
-測(cè)試用例
■黑盒測(cè)試方法
,等價(jià)類劃分
?邊界值分析
.因果圖與決策表法
.其他測(cè)試法
測(cè)試用例的概念
■測(cè)試用例的定義
(1)為特定目標(biāo)而編制的一組測(cè)試輸入、執(zhí)行條件和預(yù)
期結(jié)果,其目的是測(cè)試程序中的路徑,核實(shí)程序或軟
件能否滿足某個(gè)特定的需求。
(2)測(cè)試用例是執(zhí)行的最小實(shí)體。
(3)對(duì)被測(cè)程序的測(cè)試通常需要多個(gè)測(cè)試用例
測(cè)試用例的主要元素
測(cè)試名稱:測(cè)試用例的編號(hào)和名稱
描述:測(cè)試用例的詳細(xì)描述
前提條件:測(cè)試用例執(zhí)行的前提條件
步驟描述、預(yù)期結(jié)果及實(shí)際結(jié)果
狀態(tài):測(cè)試用例的狀態(tài)(是否執(zhí)行,是否通過)
設(shè)計(jì)人員和執(zhí)行人員
創(chuàng)建日期和執(zhí)行日期
測(cè)試用例設(shè)計(jì)單模版
測(cè)試用例名稱
測(cè)睜例標(biāo)識(shí)」
測(cè)試蚪
蹣
前提與約束,
的J輸AS肺讖~期望測(cè)試結(jié)果超頓,癖測(cè)除果
與期望測(cè)試結(jié)臬一
田P3
致?,
設(shè)計(jì)人員n<3設(shè)計(jì)日期“?3
執(zhí)行情況,未執(zhí)行。執(zhí)行結(jié)果/3問題標(biāo)識(shí)n0
制同。
測(cè)試用例的重要性
測(cè)試用例在測(cè)試活動(dòng)中占有核心的作用
,它是測(cè)試工作的指導(dǎo)。在測(cè)試執(zhí)行過
程中,測(cè)試用例是軟件測(cè)試必須遵守的
準(zhǔn)則,可以把人為因素的影響減少到最
小。因此測(cè)試用例的設(shè)計(jì)和編制是軟件
測(cè)試活動(dòng)中最重要的。
測(cè)試用例的重要性(了解)
測(cè)試用例在測(cè)試活動(dòng)中占有核心的作用,主要體
現(xiàn)在以下幾個(gè)方面:
■測(cè)試用例構(gòu)成了設(shè)計(jì)和執(zhí)行測(cè)試過程的基礎(chǔ)。
■測(cè)試的“深度”與測(cè)試用例的數(shù)量呈比例。
■測(cè)試是否完全的依據(jù)。
■測(cè)試工作量與測(cè)試用例的數(shù)量呈比例
■測(cè)試設(shè)計(jì)和開發(fā)的類型及所需的資源主要都受
控于測(cè)試用例
測(cè)試用例的設(shè)計(jì)準(zhǔn)則
由于窮舉測(cè)試是不可能的,因此測(cè)試人員應(yīng)設(shè)計(jì)有限
的、有代表性或特殊性的測(cè)試用例。總之一句話,設(shè)
計(jì)盡可能少的用例去盡可能多的發(fā)現(xiàn)軟件的缺陷?;?/p>
本準(zhǔn)則如下:
■測(cè)試用例的代表性
能夠代表并覆蓋各種合理的和不合理的、合法的和非
法的、邊界的和越界的以及極限的輸入數(shù)據(jù)、操作利
環(huán)境設(shè)置等。稀有、極端、特殊的點(diǎn)需要測(cè)試人員重
點(diǎn)關(guān)注。
■測(cè)試用例的非重復(fù)性
測(cè)試用例不應(yīng)是與原有測(cè)試用例重復(fù)的或等價(jià)效果的,
應(yīng)追求測(cè)試用例數(shù)目的精簡(jiǎn)
測(cè)試用例的設(shè)計(jì)準(zhǔn)則
■測(cè)'試結(jié)果的可判定性
即測(cè)試執(zhí)行結(jié)果的正確性是可判定的,每一個(gè)測(cè)
試用例都應(yīng)有相應(yīng)的期望結(jié)果。
■測(cè)試結(jié)果的可再現(xiàn)性
即對(duì)同樣的測(cè)試用例,系統(tǒng)的執(zhí)行結(jié)果應(yīng)當(dāng)是相
同的。
好的測(cè)試用例集能花費(fèi)最小的代價(jià)(人力、物力、
財(cái)力、時(shí)間)做最好的測(cè)試。
測(cè)試用例的設(shè)計(jì)方法主要分為黑盒法和白盒法。
黑盒測(cè)試方法
-黑盒測(cè)試又稱為功能測(cè)試,把被測(cè)軟件
看成一個(gè)封閉的盒子,在完全不考慮軟
件內(nèi)部邏輯和內(nèi)部結(jié)構(gòu)的情況下進(jìn)行的
測(cè)試。
黑盒測(cè)試常見的錯(cuò)誤
L、功能不正確或者遺漏
2、界面錯(cuò)誤。在接口上輸入能否正確地接
受。能否輸出正確的結(jié)果
3、數(shù)據(jù)庫訪問錯(cuò)誤
4、性能上能否滿足要求
5、是否有初始化或終止錯(cuò)誤
黑盒測(cè)試的優(yōu)點(diǎn)
1、黑盒測(cè)試與軟件如何實(shí)現(xiàn)無關(guān),如
果實(shí)現(xiàn)發(fā)生變化,黑盒測(cè)試用例仍然可
用(可重用性,面向回歸測(cè)試)
2、用例設(shè)計(jì)可以與軟件的實(shí)現(xiàn)同時(shí)進(jìn)
行,加快了軟件測(cè)試與開發(fā)的速度
黑盒測(cè)試的缺點(diǎn)
1、只能找到缺陷,難以查找錯(cuò)誤的具體
原因。
2、沒有清晰的需求規(guī)格說明書,測(cè)試用
例很難被設(shè)計(jì)。
3、相比白盒測(cè)試,測(cè)試用例產(chǎn)生遺漏或
冗余的可能性大大增加
黑盒測(cè)試的特點(diǎn)
從理論上講,黑盒測(cè)試只有采用窮舉輸
入測(cè)試,把所有可能的輸入都作為測(cè)試
情況考慮,才能查出所有的錯(cuò)誤。
實(shí)際上測(cè)試情況是無窮多的,完全測(cè)試
是不可能的。那么我們?nèi)绾卧O(shè)計(jì)黑盒測(cè)
試用例滿足“最盡可能少的測(cè)試用例去
發(fā)現(xiàn)盡可能多的軟件缺陷”呢?
典型的黑盒測(cè)試方法
等價(jià)類劃分法.
邊界值分析法
因果圖法
其他方法(正交試驗(yàn)法、錯(cuò)誤推測(cè)法、
判定表法)
等價(jià)類劃分法
等價(jià)類劃分法是一種重要的、常用的黑盒測(cè)試方法,
它將不能窮舉的測(cè)試過程進(jìn)行合理分類,從而保證設(shè)
計(jì)出來的測(cè)試用例具有完整性和代表性。
■舉例:設(shè)計(jì)這樣的測(cè)試用例,來實(shí)現(xiàn)一個(gè)對(duì)所有實(shí)數(shù)
進(jìn)行開平方運(yùn)算(y=sqrt(x))的程序的測(cè)試。
?思考方向:
由于開平方運(yùn)算只對(duì)非負(fù)實(shí)數(shù)有效,這時(shí)需要將
所有的實(shí)數(shù)(輸入域x)進(jìn)行劃分,可以分成:正實(shí)
數(shù)、0和負(fù)實(shí)數(shù)。假設(shè)我們選定+1.4444代表正實(shí)數(shù),
2345代表負(fù)實(shí)數(shù),則為該程序設(shè)計(jì)的測(cè)試用例的輸
入為+1,4444、0和2345。
等價(jià)類劃分法(續(xù))
■等價(jià)類劃分是將程序的輸入域(較多見)或輸出域
(較少見)的不同區(qū)間劃分為不同的數(shù)據(jù)類,以便
導(dǎo)出測(cè)試用例
■每個(gè)等價(jià)類所揭示的程序錯(cuò)誤都是等價(jià)的
■要求此方法的測(cè)試用例能各自發(fā)現(xiàn)一類錯(cuò)誤,從而
減少必須開發(fā)的測(cè)試用例數(shù)
■測(cè)試某等價(jià)類的代表值就是等效于對(duì)于這一類其它
值的測(cè)試。
■例如:程序在輸入小于4的數(shù)得到結(jié)果5,那么使用
2還是3或者都是一樣的
等價(jià)類分類
P有效等價(jià)類
-對(duì)于程序的需求說明來說是合理的,有意義的輸入數(shù)
據(jù)所構(gòu)成的集合
-利用它可以檢驗(yàn)程序是否實(shí)現(xiàn)了預(yù)期的功能和性能
■無效等價(jià)類
-對(duì)于程序的需求說明來說是不合理的,沒有意義的輸
入數(shù)據(jù)所構(gòu)成的集合
-利用它可以檢驗(yàn)程序?qū)τ跓o效數(shù)據(jù)的處理能力
等價(jià)類劃分
-數(shù)學(xué)含義
A<=x<=B
C<=y<=D
問題1:例子中共有多少個(gè)等價(jià)類?有效的幾個(gè),無效的幾個(gè)?
問題2:寫出這些等價(jià)類,這些等價(jià)類是否可以合并?
問題3:最好用多少個(gè)數(shù)據(jù)來測(cè)試?測(cè)試數(shù)據(jù)是否可以減少?
確立等價(jià)類的原則
■嚴(yán)格的,可以按照變量來劃分有效和無效等價(jià)
類。即:
-1-先按照X來劃分有效等價(jià)類和無效等價(jià)類,然
后再按照丫來劃分有效等價(jià)類和無效等價(jià)類
-2-最后再形成相應(yīng)的測(cè)試用例。
?X:
有效等價(jià)類為:A<=x<=B;
無效等價(jià)類為:xvA和Bvx兩個(gè)無效等價(jià)類
?Y:
有效等價(jià)類為:C<=y<=D;
無效等價(jià)類為:y〈C和Dvy兩個(gè)無效等價(jià)類
確立等價(jià)類的原則
■如果輸入條件規(guī)定了取值范圍,或者值
的個(gè)數(shù),則可以確立一個(gè)有效等價(jià)類和
兩個(gè)無效等價(jià)類,例如:
■數(shù)據(jù)范圍是b50
■有效等價(jià)類為“>=1&&<=50”
■兩個(gè)無效等價(jià)類為“vl”和“>50”
確立等價(jià)類的原則
L如果輸入條件是一個(gè)布爾量,則可以確立一個(gè)
有效等價(jià)類和一個(gè)無效等價(jià)類
-如果規(guī)定了輸入數(shù)據(jù)的一組值,而且程序要對(duì)
每一個(gè)輸入值分別進(jìn)行處理,這時(shí)要對(duì)每一個(gè)
規(guī)定的輸入值確立一個(gè)有效等價(jià)類,而對(duì)于這
組值之外的所有值確立一個(gè)無效等價(jià)類
■例:程序輸入X取值于一個(gè)固定的枚舉類型
{1,3,7,15},且程序中對(duì)這4個(gè)數(shù)值分別進(jìn)行了
處理,則有效等價(jià)類為x=1、x=3>x=7>x=15
,無效等價(jià)類為x*,3715的值的集合。
確立等價(jià)類的原則
■如果規(guī)定了輸入數(shù)據(jù)必須遵守的規(guī)則,則可以
確立一個(gè)有效等價(jià)類(即遵守規(guī)則的數(shù)據(jù))和
若干無效等價(jià)類(從不同角度違反規(guī)則的數(shù)據(jù)
),例如:
-測(cè)試密碼域,要求密碼必須是數(shù)字或字母
■有效等價(jià)類為“密碼是數(shù)字和字母的組合”(還可
以細(xì)分)
■無效等價(jià)類為“密碼包括中文”、“密碼包括其它
符號(hào),,等
■如果確知已劃分的等價(jià)類中的各元素在程序中
的處理方式不同(例如字母還要區(qū)分大小寫等
),則應(yīng)進(jìn)一步劃分成更小的等價(jià)類
等價(jià)類測(cè)試用例設(shè)計(jì)
■分析輸入、輸出
-劃分有效等價(jià)類、無效等價(jià)類
■設(shè)計(jì)測(cè)試用例,使其盡可能多的覆蓋有
效等價(jià)類
■設(shè)計(jì)測(cè)試用例,使其盡可能多的覆蓋無
效等價(jià)類
等價(jià)類測(cè)試用例設(shè)計(jì)過程
■在設(shè)計(jì)測(cè)試用例時(shí),應(yīng)同時(shí)考慮有效等價(jià)類和無效等價(jià)類測(cè)
試用例的設(shè)計(jì)。
■根據(jù)已列出的等價(jià)類表可確定測(cè)試用例。
具體過程如下:
(1)首先為等價(jià)類表中的每一個(gè)等價(jià)類分別規(guī)定一個(gè)唯一的
編號(hào)。
(2)設(shè)計(jì)一個(gè)新的測(cè)試用例,使它能夠盡量覆蓋尚未覆蓋的
有效等價(jià)類。重復(fù)這個(gè)步驟,直到所有的有效等價(jià)類均被測(cè)
試用例所覆蓋。
(3)設(shè)計(jì)一個(gè)新的測(cè)試用例,使它僅覆蓋一個(gè)尚未覆蓋的無
效等價(jià)類。重復(fù)這一步驟,直到所有的無效等價(jià)類均被測(cè)試
用例所覆蓋。
?3的順序是否可以和2顛倒?
?123好還是132好?為什么?
等價(jià)類測(cè)試用例設(shè)計(jì)
-3對(duì)是否對(duì)無效數(shù)據(jù)進(jìn)行測(cè)試,可以將等價(jià)
類測(cè)試分為標(biāo)準(zhǔn)等價(jià)類測(cè)試和健壯等價(jià)類測(cè)
試。
>標(biāo)準(zhǔn)等價(jià)類測(cè)試——不考慮無效數(shù)據(jù)值,測(cè)
試用例使用每個(gè)等價(jià)類中的一個(gè)值。
>健壯等價(jià)類測(cè)試——主要的出發(fā)點(diǎn)是考慮了
無效等價(jià)類。對(duì)有效輸入,測(cè)試用例從每個(gè)
有效等價(jià)類中取一個(gè)值;對(duì)無效輸入,一個(gè)
測(cè)試用例有一個(gè)“無效值”,其他值均取“
有效值”。
舉例1(保險(xiǎn)費(fèi)率計(jì)算)
按照輸入域劃分等價(jià)類的例子。
■某保險(xiǎn)公司承擔(dān)人壽保險(xiǎn),該公司保費(fèi)計(jì)算方式
為:保費(fèi)二投保額*保險(xiǎn)率,保險(xiǎn)率依點(diǎn)數(shù)不同而
有別,10點(diǎn)以上(含10點(diǎn))費(fèi)率為0.6%,10點(diǎn)以
下費(fèi)率為0.1%
■點(diǎn)數(shù)的計(jì)算是年齡、性別、婚姻、撫養(yǎng)人數(shù)所得
的點(diǎn)數(shù)的總和
-輸入:年齡、性別、婚姻、撫養(yǎng)人數(shù)
■輸出:保險(xiǎn)率
■輸入數(shù)據(jù)說明
420-396點(diǎn)
年齡40-594點(diǎn)
99以下59以上、20以下1以上2點(diǎn)
男5點(diǎn)
性別
女3點(diǎn)
已婚3點(diǎn)
婚姻
未婚5點(diǎn)
撫養(yǎng)人數(shù)1人扣0.5點(diǎn)最多扣3點(diǎn)(四舍五人)
第一步:輸入和輸出變量確認(rèn)
按照輸入域劃分等價(jià)類的例子。
-輸入:年齡、性別、婚姻、撫養(yǎng)人數(shù)
-輸出:保險(xiǎn)率
-等價(jià)類劃分原則:按照輸入變量來確認(rèn)
等價(jià)類(有效等價(jià)類和無效等價(jià)類)
第二步:等價(jià)類劃分
20?39(6點(diǎn))(1)
有效等價(jià)類40?59(4點(diǎn))(2)
60?99、1?19(2點(diǎn))(3)
年齡
空白(未知)(4)
<1(未知)(5)
無效等價(jià)類
輸入>99(未知)(6)
包含湃數(shù)字字符(未知)(7)
所(5點(diǎn))(8)
性別有效等價(jià)類/
女(3點(diǎn))(9)
已婚(3點(diǎn))(10)
婚姻
未婚(5點(diǎn))(11)
是否可以有更多無效等價(jià)類?
、■第二步:等價(jià)類劃分
J=_____
1-2(1點(diǎn))
(12)
3-4(2點(diǎn))
有效等價(jià)類(13)
>4(3點(diǎn))
(14)
輸入撫養(yǎng)人數(shù)
空白(未知)
(15)
<1(未知)
無效等價(jià)類(16)
包含非數(shù)字字符(未知)
(17)
>=10點(diǎn)(0.6%)
(18)
輸出保險(xiǎn)費(fèi)率有效等價(jià)類
<10點(diǎn)(0.1%)
(19)
第三步:設(shè)計(jì)測(cè)試用例
按照輸入域劃分等價(jià)類的例子。
1、設(shè)計(jì)測(cè)試用例,盡可能的覆蓋尚未覆蓋的有效等價(jià)類。
>(1)(8)(10)(12)
>(2)(9)(11)(13)
>(3)(8)(10)(14)
2、設(shè)計(jì)測(cè)試用俐,使得每一個(gè)新設(shè)計(jì)的測(cè)試用例只包含一個(gè)
無效等價(jià)類,其他的選擇有效等價(jià)類。
>(4)(8)(10)(12)
>(5)(9)(11)(13)
>(6)(8)(10)(14)
>(7)(8)(10)(14)
>(1)(8)(10)(15)
>(2)(9)(11)(16)
>(3)(8)(10)(16)
說明:在設(shè)計(jì)無效部分的測(cè)試用例的時(shí)候,有效等價(jià)
類部分,可以任意選擇。
第四步:選取測(cè)試用例
輸入輸出
用例
備注
編號(hào)年齡性別婚姻撫養(yǎng)人數(shù)保險(xiǎn)率
122EB已婚10.6%(1)(8)(10)(12)(18)13點(diǎn)
245女未婚40.1%(2)(9)(11)(13)(19)8點(diǎn)
365男已婚80.1%(3)(8)(10)(14)(19)7點(diǎn)
4空白男未婚1錯(cuò)誤(4)
5-1男未婚2錯(cuò)誤(5)
6122男未婚8錯(cuò)誤(6)
7“tt1”女已婚1錯(cuò)誤(7)
822女已婚空白錯(cuò)誤(15)
922女已婚-1錯(cuò)誤(16)
1022女未婚“ct2”錯(cuò)誤(17)
(課堂實(shí)際應(yīng)用:
有一個(gè)員工管理系統(tǒng),現(xiàn)對(duì)其錄入模塊進(jìn)行測(cè)試。其中,
人員信息包括:
1、編號(hào):必須有,系統(tǒng)自動(dòng)編號(hào);
2、姓名:必須有,要求為不超過5個(gè)漢字;
3、身份證:必須有,長(zhǎng)度為15或18位置,末尾為數(shù)字或X
,注意大小寫;
4、郵箱:要么為空白,輸入必須包含@和.
5、年齡:18-80之間的數(shù)字
6、住址:可以空白
注意:如果錄入正確,則提示錄入成功,錄入錯(cuò)誤,則提
示數(shù)據(jù)不對(duì)。
要求:1、確認(rèn)輸入域和輸出域;2、劃出有效等價(jià)類和無
效等價(jià)類;3、給出測(cè)試用例的個(gè)數(shù)。4、請(qǐng)大家上來介紹
自己的劃分。
邊界值分析
■邊界值分析法就是對(duì)輸入或輸出的邊界值進(jìn)行測(cè)試的一種
黑盒測(cè)試方法。通常邊界值分析法是作為對(duì)等價(jià)類劃分法
的補(bǔ)充,這種情況下,其測(cè)試用例來自等價(jià)類的邊界。
■為什么使用邊界值分析法?
無數(shù)的測(cè)試實(shí)踐表明,大量的故障往往發(fā)生在輸入定義域
或輸出值域的邊界上,而不是在其內(nèi)部。因此,針對(duì)各種
邊界情況設(shè)計(jì)測(cè)試用例,通常會(huì)取得很好的測(cè)試效果。
■怎樣用邊界值分析法設(shè)計(jì)測(cè)試用例?
(1)首先確定邊界情況。通常輸入或輸出等價(jià)類的邊界就是
應(yīng)該著重測(cè)試的邊界情況。
(2)選取正好等于、剛剛大于或剛剛小于邊界的值作為測(cè)試
數(shù)據(jù),而不是選取等價(jià)類中的典型值或任意值。
舉例一常見的邊界值
■對(duì)16-bit的整數(shù)而言32767和-32768是邊界
■屏幕上光標(biāo)在最左上、最右下位置
■報(bào)表的第一行和最后一行
■數(shù)組元素的第一個(gè)和最后一個(gè)
■循環(huán)的第。次、第1次和倒數(shù)第2次、最后一
次
邊界值分析
-數(shù)學(xué)含義
A<=x<=B
C<=y<=D
確立邊界值的原則
■如果輸入條件或輸出條件規(guī)定了值的范圍并且有效條
件包括了值的邊界,可分別對(duì)邊界和略超出邊界取值
,例如:
■數(shù)據(jù)范圍是l<=xv=50正整數(shù)
.邊界值取為:1、50、0、51
■如果輸入條件或輸出條件規(guī)定了值的范圍并且有效條
件不包括了值的邊界,可分別對(duì)邊界和略處于邊界內(nèi)
取值,例如:
-數(shù)據(jù)范圍是l<x<50正整數(shù)
-邊界值取為:1、50、2、49
確立邊界值的原則
■如果輸入或輸出域是個(gè)有序的集合(如順序文
件、表格等),應(yīng)注意選取有序集的第一個(gè)和
最后一個(gè)元素以及集合外但靠近集合的元素作
為邊界,例如:
-輸入文件名介于file0101~file0120之間
-邊界值取為fileOlOO,fileOlOl,file0120,file0121
邊界值分析
■邊界值分析使用與等價(jià)類劃分法相同的劃分,只是邊
界值分析假定錯(cuò)誤更多地存在于劃分的邊界上,因此
在等價(jià)類的邊界上以及兩側(cè)的情況設(shè)計(jì)測(cè)試用例。
■例:測(cè)試計(jì)算平方根的函數(shù)
——輸入:實(shí)數(shù)
——輸出:實(shí)數(shù)
——規(guī)格說明:當(dāng)輸入一個(gè)。或比。大的數(shù)的時(shí)候,返
回其正平方根;當(dāng)輸入一個(gè)小于0的數(shù)時(shí),顯示錯(cuò)誤信
息“平方根非法-輸入值小于0”并返回0;庫函數(shù)Print-
Line可以用來輸出錯(cuò)誤信息。
邊界值分析
等價(jià)類劃分:
■可以考慮作出如下劃分:
.輸入(i)<0和(ii)>=0
■輸出(a)>=0和(b)Error
■測(cè)試用例有兩個(gè):
-輸入4,輸出2。對(duì)應(yīng)于(ii)和(a)。
?輸入-10,輸出0和錯(cuò)誤提示。對(duì)應(yīng)于⑴和(b)。
■邊界值分析:
■劃分(ii)的邊界為0和最大正實(shí)數(shù);劃分⑴的邊界為最小負(fù)實(shí)數(shù)和0
O由此得到以下測(cè)試用例:
-輸入{最小負(fù)實(shí)數(shù)}
-輸入{絕對(duì)值很小的負(fù)數(shù)}
■輸入0
■輸入{絕對(duì)值很小的正數(shù)}
■輸入{最大正實(shí)數(shù)}
舉例(找零錢最佳組合)
假設(shè)商店商品價(jià)格[X]皆不大于100元(整數(shù)),若
顧客買一件商品,付款[丫]在100元內(nèi),求找給顧客
的最少貨幣張數(shù)?
■貨幣面值:
■50元[R50]
-20元[R20]
■10元[R10]
-5元[R5]
-2元[R2]
-1元[R1]
分析輸入
X>100(無效)
0<X<=100(有效)
X<=0(無效)
Y>100(無效)
X<=Y<=100(有效)
Y<X(無效)
分析輸出
■0<=R50<=1
■0v=R20v=2
■0<=R10<=1
■0<=R5<=1
■0v=R2v=2
■0<=R1<=1
分析邊界
■無效邊界
■X>100
■X<=0
■Y>100
■Y<X
分析邊界
L有效邊界
■設(shè)找部分錢后剩余的金額為S(初始S=Y)
-S>=50找R50
-20<=S<50找R20
-10<=S<20找R10
-5<=S<10找R5
-2<=S<5找R2
-1<=S<2找R1
分析后無效情形
■X>100錯(cuò)誤
■X<=0錯(cuò)誤
■0<X<=100,Y>100錯(cuò)誤
■0<X<=100,Y<X錯(cuò)誤
分析后有效情形
■S=50
■S=49
■S=20
■S=19
■S=10
■S=9
■S=5
■S=4
■S=2
■S=1
■S=0
設(shè)計(jì)測(cè)試用例
輸入輸出
用例備注
S商品付款50元20元10元2元1元
編號(hào)5元R5張數(shù)
價(jià)格XYR50R20R10R2R1
1101錯(cuò)誤
20錯(cuò)誤
3100101錯(cuò)誤
410099錯(cuò)誤
550501001000001
649511000201205
720801000100001
819811000011204
910901000010001
設(shè)計(jì)測(cè)試用例
輸入輸出
用例備注
S元元元元
編號(hào)商品付款502010元521元張數(shù)
價(jià)格XYR50R20R10R5R2R1
109911000001203
115951000001001
124961000000202
132981000000101
141991000000011
1501001000000000
舉例(找零錢最佳組合)
■思考1:是否可以考慮使用等價(jià)類劃分來測(cè)試?
■思考2:如果是等價(jià)類測(cè)試,則等價(jià)類應(yīng)該如何劃分?
X:X>100;0<X<=100;X<=0
Y:Y>100;0<Y<=100;Y<=0
■思考3:這個(gè)等價(jià)類劃分是否測(cè)試充分?漏掉了什么情
況?
■思考4:如果按照輸出結(jié)果劃分等價(jià)類,效果如何?
■思考5:應(yīng)用輸入結(jié)果的等價(jià)類劃分測(cè)試與邊界值分析
相比,哪一個(gè)更簡(jiǎn)便,哪一個(gè)有效?如何協(xié)調(diào)?
邊界值分析主題思想
丁采用邊界值分析測(cè)試的基本思想是:故障往往出
現(xiàn)在輸入變量的邊界值附近。
——因此,邊界值分析法利用輸入變量的最小值
(min)、略大于最小值(min+)、輸入值域內(nèi)的任意
值(nom)、略小于最大值(max-)和最大值(max)來
設(shè)出則試用例。
■——因此,在邊界值分析法中獲取測(cè)試用例的方
法是:
(1)每次保留程序中一個(gè)變量,讓其余的變量取正
常值,被保留自勺變量依次取min、min+>nom>
max-和max。
(2)對(duì)程序中的每個(gè)變量重復(fù)(1)。
邊界值分析法測(cè)試用例
丁例:有兩個(gè)輸入變量x1(a《x14b)和x2(c《x24d)的程序F的
邊界值分析測(cè)試用例如下:
{<x1nom,x2min>,<x1nom,x2min+>,<x1nom,x2nom>,
<x1nom,x2max>,<x1nom,x2max->,<x1min,x2nom>,
<x1min+,x2nom>,<x1max,x2nom>,<x1max-,x2nom>}
x2
c—
d
abx1
」邊界值分析法測(cè)試用例
I■例2:有二元函數(shù)f(xy),其中引1,31]
。則采用邊界值分科法設(shè)計(jì)的測(cè)"式用椀皂
{<1,15>,<2,15>,<11,15>,<12,15>,<6,15>,
<6,1>,<6,2>,<6,30>,<6,31>}
>推論:對(duì)于一個(gè)含有n個(gè)變量的程序,采用邊界值
分析法測(cè)試程序會(huì)產(chǎn)生4n+1個(gè)測(cè)試用例。
■練習(xí):有函數(shù)f(x,y,x),其中x印900,2106,
Z£[1,3」的。請(qǐng)寫出該函數(shù)采用邊界值
分林法展計(jì)的測(cè)試用例。
<1900,6,15><1901,6,15><2000,6,15><2099,6,15>
<2100,6,15>;;<2000,1,15><2000,2,15>
<2000,11,15><2000,12,15>;;;<2000,6,1><2000,6,2><2000,6,
30><2000,6,31>
健壯性測(cè)試用例
h健壯性測(cè)試是作為邊界值分析的一個(gè)簡(jiǎn)單的擴(kuò)充,它除了
對(duì)變量的5個(gè)邊界值分析取值外,還需要增加一個(gè)略大于
最大值(max+)以及略小于最小值(min-)的取值,檢查超過
極限值時(shí)系統(tǒng)的情況。因此,對(duì)于有n個(gè)變量的函數(shù)采用
健壯性測(cè)試需要6n+1個(gè)測(cè)試用例。
■前面例1中的程序F的健壯性測(cè)試如下圖所示:
x2
d
abx1
等價(jià)類劃分與邊界值分析的結(jié)合
■回到等價(jià)類劃分的例子
■結(jié)合邊界值分析和等價(jià)類劃分,可以達(dá)
到更好的測(cè)試目的
等價(jià)類劃分與邊界值分析的結(jié)合
■思考:有效等價(jià)類和邊界值分析主要是
基于什么原則來設(shè)計(jì)測(cè)試用例的?
-它們都沒有考慮到變量的相關(guān)性。
因果圖法介紹
■因果圖法產(chǎn)生的背景:
等價(jià)類劃分法和邊界值分析方法都是著重考慮
輸入條件,但沒有考慮輸入條件的各種組合、輸入
條件之間的相互制約關(guān)系。這樣雖然各種輸入條件
可能出錯(cuò)的情況已經(jīng)測(cè)試到了,但多個(gè)輸入條件組
合起來可能出錯(cuò)的情況卻被忽視了。
■因果圖法能夠幫助測(cè)試人員按照一定的步驟,高效
率的開發(fā)測(cè)試用例,以檢測(cè)程序輸入條件的各種組
合情況,它是將自然語言轉(zhuǎn)化為形式語言規(guī)格說明
的一種嚴(yán)格方法,可以指出規(guī)格說明存在的不完整
性和二義性。
因果圖法介紹
-因果圖法是基于這樣的一種思想:一些程序的功能可以
用判定表(或稱決策表)的形式來表示,并根據(jù)輸入條
件的組合情況規(guī)定相應(yīng)的操作。即:因果圖法不過是決
策表法的前期階段。我們也可以直接應(yīng)用決策表。
-因果圖法的定義:是一種利用圖解法分析輸入的各種組
合情況,從而設(shè)計(jì)測(cè)試用例的方法,它適合于檢查程序
輸入條件的各種組合情況。
■采用因果圖法設(shè)計(jì)測(cè)試用例的步驟:
(1)根據(jù)程序規(guī)格說明書描述,分析并確定因(輸入條
件)和果(輸出結(jié)果或程序狀態(tài)的改變),畫出因果圖
O
(2)將得到的因果圖轉(zhuǎn)換為判定表。
(3)為判定表中每一列所表示的情況設(shè)計(jì)一個(gè)測(cè)試用例
判定表介紹
■在一些數(shù)據(jù)處理問題中,某些操作依賴多個(gè)邏輯
條件的取值。處理這類問題的一個(gè)非常有力的分
析和表達(dá)工具是判定表
■一些軟件的功能需求可用判定表表達(dá)得非常清楚
,在檢驗(yàn)程序的功能時(shí)判定表也就成為一個(gè)非常
有力的工具
.判定表介紹
F決策表通常由以下4部分組成:
>條件樁一列出問題的所有條件
>條件項(xiàng)一針對(duì)條件樁給出的條件列出所有可能的取值
>動(dòng)作樁一列出問題規(guī)定的可能采取的操作
>動(dòng)作項(xiàng)一指出在條件項(xiàng)的各組取值情況下應(yīng)采取的動(dòng)
作
將任何一個(gè)條件組合的
特定取值及相應(yīng)要執(zhí)行
的動(dòng)作稱為一條規(guī)則。
在決策表中貫穿條件項(xiàng)
和動(dòng)作項(xiàng)的一列就是一
條規(guī)則。
*,■判定表——圖示
規(guī)則1規(guī)則2規(guī)則3規(guī)則4
條件11100
條件21—0—
條件3010—
條件40101
操作1XX
操作2X
操作3X
根據(jù)規(guī)格說明得到的判定表
1:表示為是或者取該值;0:表示為否或者不取該值;
表示該值取什么都可以。
判定表舉例條件項(xiàng)
1234578
取值6
、/
條___L
Y-rYN''7T-N
件A
y修
樁YNIMYYN
丫、
題涂/
MYNY-N
N動(dòng)
作
動(dòng)建
去續(xù)廠
1一、/項(xiàng)
作
樁跳下
修V
1/1
qq一■
因果圖法步驟
■分析軟件規(guī)格說明描述中的因果關(guān)系(輸入與
輸出的因果關(guān)系)
-找出原因與結(jié)果、原因與原因之間的對(duì)應(yīng)關(guān)系
,畫出因果圖
■在因果圖上標(biāo)記約束或限制條件
■把因果圖轉(zhuǎn)化為判定表
■將判定表中的每一列拿出來設(shè)計(jì)測(cè)試用例
2因果圖介紹
■因果圖中使用4種因果關(guān)系符號(hào)來表達(dá)因
果關(guān)系:
恒等非
或與
因果圖介紹
因果圖中的4種基本關(guān)系
在因果圖的基本符號(hào)中,圖中的左結(jié)點(diǎn)G表示輸入狀
態(tài)(或稱原因),右結(jié)點(diǎn)ei表示輸出狀態(tài)(或稱結(jié)果)
oG與匕取值?;?,0表示某狀態(tài)不出現(xiàn),1則表示某狀
態(tài)出現(xiàn)。
恒等:若5是1,則ei也為1,否則為0。
非:若6是1,則為0,否則ei為1。
或:若6或C2或C3是1,則①為1,否則例為0。
與:若5和C2都是1,則為1,否則ei為和
因果圖介紹
因果圖中的約束
在實(shí)際問題中輸入狀態(tài)相互之間、輸出狀態(tài)相互之間可能存在某些依
賴關(guān)系,稱為“約束”。對(duì)于輸入條件之間的約束有E(Exclusiveor)
、I(In)、0(Only)>R(Request)四種約束,對(duì)于輸出條件的約束
只有M(Mandate)約束。
(1)原因與原因之間的約束
>E約束(異):輸入a和b中最多有一個(gè)可能為1,即a和b不能同時(shí)為1。
>I約束(或):輸入a、b、c中至少有一個(gè)必須為1,即a、b、c不能同時(shí)為
Oo
>0約束(唯一):輸入a和b必須有一個(gè)且僅有一個(gè)為1。
>R約束(要求):輸入a是1時(shí),輸入b必須是1,即a為1時(shí),b不能為0。
(2)結(jié)果與結(jié)果之間的約束
>M約束(強(qiáng)制):若結(jié)果a為1,則結(jié)果b強(qiáng)制為0。
因果圖介紹
■因果圖中用來表示約束關(guān)系的約束符號(hào):
因果圖法主題思想(具體)
-J■I-因-果--圖-法-最-終-生-成-的-是--決-策-表-。--利-用-因-果圖生成測(cè)試用例的基本
步驟如下:
(1)分析軟件規(guī)格說明中哪些是原因(即輸入條件或輸入條件的等
價(jià)類),哪些是結(jié)果(即輸出條件),并給每個(gè)原因和結(jié)果賦予
一個(gè)標(biāo)識(shí)符。(即:找出原因和結(jié)果)
(2)分析軟件規(guī)格說明中的語義,找出原因與結(jié)果之間、原因與原
因之間對(duì)應(yīng)的關(guān)系,根據(jù)這些關(guān)系畫出因果圖。(即:標(biāo)定因
果關(guān)系)
(3)由于語法或環(huán)境的限制,有些原因與原因之間、原因與結(jié)果之
間的組合情況不可能出現(xiàn)。為表明這些特殊情況,在因果圖上用
一些記號(hào)表明約束或限制條件。
(4)把因果圖轉(zhuǎn)換為決策表。
(5)根據(jù)決策表中的每一列設(shè)計(jì)測(cè)試用例。
因果圖法案例
「第一列字符必須是#或*,第二列字符必須是一
個(gè)數(shù)字,在此情況下進(jìn)行文件的修改。但如果
第一列字符不正確,則給出信息L;如果第二
列字符不是數(shù)字,則給出信息M。
■解題步驟
(1)分析程序的規(guī)格說明,列出原因和結(jié)果。
(2)找出原因與結(jié)果之間的因果關(guān)系、原因與原因之間
的約束關(guān)系,畫出因果圖。
(3)將因果圖轉(zhuǎn)換成決策表。
(4)根據(jù)(3)中的決策表,設(shè)計(jì)測(cè)試用例的輸入數(shù)據(jù)
和預(yù)期輸出。
因果分析
■原因:
■C1——第一列字符是#
-c2——第一列字符是*
-c3——第二列字符是一數(shù)字
-10—第一列字符是#或是*
■結(jié)果:
■el——給出信息L
■e2—修改文件
-e3——給出信息M
因果分析
Ji
(1)分析程序規(guī)格說明中的原因和結(jié)果:
原因結(jié)果
C1:第一列字符是#e1:給出信息L
c2:第一列字符是*e2:修改文件
c3:第二列字符是一個(gè)數(shù)字e3:給出信息M
(2)畫出因果圖(編號(hào)為10的中間結(jié)點(diǎn)是導(dǎo)出結(jié)果的進(jìn)一步原因)
由因果圖建立的判定表
3)將因果圖轉(zhuǎn)換成如下所示的決策表:
12345678
條件:
C111110000
C211001100
C310101010
10111100
動(dòng)作:
e1qq
e2qN
e3qqq
不可能q
測(cè)試用例#3#A*6*BA1GT
從決策表中得到測(cè)試用例
(4)根據(jù)決策表中的每一列設(shè)計(jì)測(cè)試用例:
測(cè)試用例編號(hào)輸入數(shù)據(jù)預(yù)期輸出
1#3修改文件
2#A給出信息M
3*6修改文件
4*B給出信息M
5A1給出信息N
6GT給出信息N和信息M
課堂練習(xí)(中國(guó)象棋走馬下法)
、以中國(guó)象棋中馬的走法為例子,具體說明:
1、如果落點(diǎn)在棋盤外,則不移動(dòng)棋子;
2、如果落點(diǎn)與起點(diǎn)不構(gòu)成日字型,則不移動(dòng)棋子;
3、如果落點(diǎn)處有自己方棋子,則不移動(dòng)棋子;
4、如果在落點(diǎn)方向的鄰近交叉點(diǎn)有棋子(絆馬腿),則
不移動(dòng)棋子;
5、如果不屬于1-4條,且落點(diǎn)處無棋子,則移動(dòng)棋子;
6、如果不屬于1-4條,且落點(diǎn)處為對(duì)方棋子(非老將),則
移動(dòng)棋子并除去對(duì)方棋子;
7、如果不屬于1-4條,且落點(diǎn)處為對(duì)方老將,則移動(dòng)棋子
,并提示戰(zhàn)勝對(duì)方,游戲結(jié)束。
請(qǐng)繪制出因果圖和判定表,并給出相應(yīng)的測(cè)試用例。
課堂練習(xí)(中國(guó)象棋走馬下法)
步:分析原因和結(jié)果
原因:
1、落點(diǎn)在棋盤外;
2、不構(gòu)成日字;
3、落點(diǎn)有自方棋子;
4、絆馬腿;
5、落點(diǎn)無棋子;
6、落點(diǎn)為對(duì)方棋子(非老將);
7、落點(diǎn)為對(duì)方老將。
結(jié)果:
21、不移動(dòng);
22、移動(dòng);
23、移動(dòng)己方棋子消除對(duì)方棋子;
24、移動(dòng)并戰(zhàn)勝對(duì)方。
課堂練習(xí)(中國(guó)象棋跳馬下法)
步:~四出因果圖
7
可以判定程序中應(yīng)該包括12個(gè)函數(shù)或方法
123-4567r891OQ11213141516
-111111-11OOOOOOOO
圣21111OOOO1111OOOO
仔
311OO1■1OO11OO11OO
A1O1O1O5O1O1O1O1O
.待11OOOOOOOOOOoOoOo1
單
21111111111111111O
用向
1234567991O111213141516
11111/OOOOOOOO
綏51111OOOO1111OOOO
件
611OO11OO11OO11OO
71O1O1□1OO1O1O1O
221O□OOOOO
轉(zhuǎn)
臬23O1OOOOOO
24OO1OOOOO
網(wǎng)試
用例
課堂練習(xí)(自動(dòng)售貨機(jī))
2、有一個(gè)處理單價(jià)為5角錢的飲料的自動(dòng)售貨機(jī),其規(guī)格說
明如下:
(1)若投入5角錢或1元錢的硬幣,按下K橙汁I或K啤
酒』的按鈕,則相應(yīng)的飲料就送出來。
(2)若售貨機(jī)沒有零錢找,則一個(gè)顯示K零錢找完U的
紅燈亮,這時(shí)在投入1元硬幣并押下按鈕后,飲料不送出
來而且1元硬幣也退出來;
(3)若有零錢找,則顯示K零錢找完I的紅燈滅,在送
出飲料的同時(shí)退還5角硬幣。
請(qǐng)繪制出因果圖和判定表,并給出相應(yīng)的測(cè)試用例。
課堂練習(xí)(自動(dòng)售貨機(jī))
,步f析原因和結(jié)果
原因:
1、售貨機(jī)有零錢找
2、投入1元硬幣
3、投入5角硬幣
4、押下橙汁按鈕
5、押下啤酒按鈕
結(jié)果:
21、售貨機(jī)K零錢找完》燈亮
22、退還1元硬幣
23、退還5角硬幣
24、送出橙汁飲料
25、送出啤酒飲料
果堂練習(xí)(自動(dòng)售貨機(jī))
:畫出因果圖
客貨機(jī)有零錢找行D國(guó)貨機(jī).簍錢找完“燈亮
投入1元硬用“安〉退還I元硬幣
『37濟(jì)嬴『銅臉---?我回5甫硬幣
投入5甬硬巾
VL皿
押下按粗
一下下汁汁領(lǐng)——送出償汁飲料
押下啤1酒按鈿)送出啤者飲料
I課堂練習(xí)(自動(dòng)售貨機(jī))
二步:網(wǎng)出因果圖
所有原因結(jié)點(diǎn)列在左邊,所有結(jié)果結(jié)點(diǎn)列在右邊
O建立中間結(jié)點(diǎn),表示處理的中間狀態(tài)。中間結(jié)
占?
11、投入1元硬幣且押下飲料按鈕
12、押下K橙汁H或K啤酒】的按鈕
13、應(yīng)當(dāng)找5角零錢并且售貨機(jī)有零錢找
14、錢已付清
■課堂
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 產(chǎn)業(yè)園區(qū)改造監(jiān)理合同樣本
- 杭州市農(nóng)家樂租賃合同
- 化工廢液罐車運(yùn)輸服務(wù)協(xié)議
- 人才招聘居間服務(wù)合同模板
- 2025至2030年中國(guó)DVD上蓋水貼紙數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025年中國(guó)走馬帶市場(chǎng)調(diào)查研究報(bào)告
- 2025年中國(guó)熱能積算儀市場(chǎng)調(diào)查研究報(bào)告
- 新能源汽車居間服務(wù)協(xié)議
- 2025至2030年中國(guó)鋼塑復(fù)合管配件數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025至2030年中國(guó)螞蟻絨數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 工程項(xiàng)目采購與供應(yīng)鏈管理研究
- 2024年吉林高考語文試題及答案 (2) - 副本
- 拆除電纜線施工方案
- 搭竹架合同范本
- Neo4j介紹及實(shí)現(xiàn)原理
- 焊接材料-DIN-8555-標(biāo)準(zhǔn)
- 工程索賠真實(shí)案例范本
- 重癥醫(yī)學(xué)科運(yùn)用PDCA循環(huán)降低ICU失禁性皮炎發(fā)生率品管圈QCC持續(xù)質(zhì)量改進(jìn)成果匯報(bào)
- 個(gè)人股權(quán)證明書
- 醫(yī)院運(yùn)送工作介紹
- 重癥患者的容量管理
評(píng)論
0/150
提交評(píng)論