版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、1第三章 黑盒測(cè)試用例設(shè)計(jì)方法Yingli(哈爾濱英立科技有限公司) 3-2我們?cè)谀??軟件測(cè)試的分類(lèi)軟件測(cè)試的分類(lèi)單元測(cè)試系統(tǒng)測(cè)試驗(yàn)收測(cè)試性能測(cè)試兼容性測(cè)試功能測(cè)試白盒測(cè)試方法層次或過(guò)程層次或過(guò)程方法(方法(哲學(xué)思想)特性特性-質(zhì)量目標(biāo)適用性測(cè)試可靠性測(cè)試集成測(cè)試安全性測(cè)試灰盒測(cè)試方法黑盒測(cè)試方法Yingli(哈爾濱英立科技有限公司) 3-3測(cè)試方法辯證法測(cè)試方法辯證法p白盒測(cè)試方法 vs. 黑盒測(cè)試方法p靜態(tài)測(cè)試 vs. 動(dòng)態(tài)測(cè)試p手工測(cè)試 vs. 自動(dòng)化測(cè)試p有計(jì)劃測(cè)試 vs. 隨機(jī)測(cè)試p新功能測(cè)試 vs. 回歸測(cè)試Yingli(哈爾濱英立科技有限公司) 3-4本章內(nèi)容p討論常用的黑盒測(cè)試
2、用例設(shè)計(jì)方法,包括 n等價(jià)類(lèi)劃分n邊界值測(cè)試n決策表n錯(cuò)誤猜測(cè)n場(chǎng)景法n正交實(shí)驗(yàn)法n行為建模n綜合運(yùn)用黑盒用例設(shè)計(jì)方法Yingli(哈爾濱英立科技有限公司) 3-5黑盒測(cè)試p說(shuō)明說(shuō)明 n把系統(tǒng)看成一個(gè)不透明的黑匣,在完全不考慮系統(tǒng)內(nèi)部結(jié)構(gòu)和處理過(guò)程的情況下驗(yàn)證系統(tǒng)是否達(dá)到用戶(hù)需求。n不考慮系統(tǒng)或者組件的內(nèi)部細(xì)節(jié),只關(guān)注在選擇的輸入和相應(yīng)的執(zhí)行條件下所產(chǎn)生的輸出結(jié)果n常用的黑盒測(cè)試技術(shù)包括p等價(jià)類(lèi)劃分p邊界值測(cè)試p決策表p錯(cuò)誤猜測(cè)1.場(chǎng)景法Yingli(哈爾濱英立科技有限公司) 3-6p如果你打算測(cè)試一個(gè)計(jì)算器程序的功能,你認(rèn)為需要進(jìn)行多少次輸入?不可能進(jìn)行完全的測(cè)試p結(jié)論是不計(jì)其數(shù)p整型: 從
3、 1+1 到 999999999999999999999999999999+ 999999999999999999999999999999p小數(shù):1.0+0.1,1.0+0.2等等p鍵盤(pán)上的任何一種組合1.為乘法和除法運(yùn)算重復(fù)上面的操作Yingli(哈爾濱英立科技有限公司) 3-7黑盒測(cè)試p請(qǐng)注意請(qǐng)注意n通常運(yùn)用一種測(cè)試用例設(shè)計(jì)方法不能獲得理想的測(cè)試用例集。在設(shè)計(jì)測(cè)試用例時(shí),比較實(shí)用的方法是綜合運(yùn)用幾種設(shè)計(jì)技術(shù),取長(zhǎng)補(bǔ)短。本章的最后會(huì)給出一個(gè)示例。n進(jìn)行黑盒測(cè)試設(shè)計(jì)方法的主要依據(jù)是軟件系統(tǒng)需求規(guī)格說(shuō)明書(shū),因此,在進(jìn)行黑盒測(cè)試設(shè)計(jì)之前需要確保說(shuō)明書(shū)是經(jīng)過(guò)評(píng)審的,其質(zhì)量達(dá)到了既定的要求。另外,如果
4、沒(méi)有說(shuō)明書(shū)的話(huà),可以選擇探索式測(cè)試n黑盒測(cè)試思想不僅可以用于測(cè)試軟件的功能,同時(shí),也可用于測(cè)試軟件的非功能,如性能、安全、可用性等Yingli(哈爾濱英立科技有限公司) 3-8等價(jià)類(lèi)劃分p等價(jià)類(lèi)等價(jià)類(lèi)n對(duì)一個(gè)等價(jià)關(guān)系而言,某個(gè)元素相應(yīng)的等價(jià)類(lèi)是指與其等價(jià)的所有元素的集合p等價(jià)類(lèi)中的各個(gè)元素具有相同的屬性p(被劃分集合)各個(gè)等價(jià)類(lèi)之間不會(huì)存在相同的元素,它們的并集是被劃分集合的全集p測(cè)試思想測(cè)試思想n在進(jìn)行測(cè)試用例設(shè)計(jì)時(shí),以具有相同的預(yù)期結(jié)果為等價(jià)劃分原則,將系統(tǒng)的被測(cè)試域劃分為不同的等價(jià)類(lèi)集合,從中選出代表作為測(cè)試用例,以期達(dá)到盡可能完備同時(shí)又可避免冗余的測(cè)試。1.被測(cè)試域可能是輸入域、輸出域
5、、輸入或輸出域的部分或任何其它值得測(cè)試的范圍Yingli(哈爾濱英立科技有限公司) 3-9等價(jià)類(lèi)劃分p分類(lèi)分類(lèi) n有效等價(jià)類(lèi):對(duì)系統(tǒng)來(lái)說(shuō)是有效的輸入n無(wú)效等價(jià)類(lèi):所有其它可能存在的情況p設(shè)計(jì)測(cè)試用例步驟設(shè)計(jì)測(cè)試用例步驟n劃分等價(jià)類(lèi)n確定測(cè)試用例:解決如何組合各個(gè)被測(cè)條件等價(jià)類(lèi)的問(wèn)題p完全組合p部分組合Yingli(哈爾濱英立科技有限公司) 3-10劃分等價(jià)類(lèi)(1)p說(shuō)明說(shuō)明n到目前為止沒(méi)有劃分高質(zhì)量等價(jià)類(lèi)的標(biāo)準(zhǔn)方法,不同的功能說(shuō)明可能使用不同的方法。n不同的等價(jià)類(lèi)得到的測(cè)試用例質(zhì)量不同。n在劃分等價(jià)類(lèi)時(shí),可以參考下面的建議:n在輸入條件規(guī)定了取值范圍或值的個(gè)數(shù)的情況下,則可以確立一個(gè)有效等價(jià)類(lèi)
6、和兩個(gè)無(wú)效等價(jià)類(lèi)。 例如:成年人每分鐘的心跳60-100之間為正常。 有效等價(jià)類(lèi):60-100 無(wú)效等價(jià)類(lèi):100n在輸入條件規(guī)定了輸入值的集合或者規(guī)定了“必須如何”的條件的情況下,可確立一個(gè)有效等價(jià)類(lèi)和一個(gè)無(wú)效等價(jià)類(lèi)。 例如:用戶(hù)連續(xù)輸入錯(cuò)誤密碼的次數(shù)最多為3次。 有效等價(jià)類(lèi):3次1.在輸入條件是一個(gè)布爾量的情況下,可確定一個(gè)有效等價(jià)類(lèi)。 例如:?jiǎn)芜x的選中與不選中。 Yingli(哈爾濱英立科技有限公司) 3-11劃分等價(jià)類(lèi)(2)n在規(guī)定了輸入數(shù)據(jù)的一組值(假定n個(gè)),并且程序要對(duì)每一個(gè)輸入值分別處理的情況下,可確立n個(gè)有效等價(jià)類(lèi)和一個(gè)無(wú)效等價(jià)類(lèi)。 例如:輸入數(shù)據(jù)為省份的選擇。n在規(guī)定了輸入
7、數(shù)據(jù)必須遵守的規(guī)則的情況下,可確立一個(gè)有效等價(jià)類(lèi)(符合規(guī)則)和若干個(gè)無(wú)效等價(jià)類(lèi)(從不同角度違反規(guī)則) 。 例如:規(guī)定必須輸入非0的正整數(shù)。 這種例子應(yīng)充分考慮規(guī)則是否可以拆分為具有單一的子規(guī)則,然后得到從不同角度違反規(guī)則的無(wú)效等價(jià)類(lèi)。 該例子起碼可拆分為非0、數(shù)字、正數(shù)、整數(shù)4個(gè)子規(guī)則,至少每個(gè)規(guī)則對(duì)應(yīng)一個(gè)無(wú)效等價(jià)類(lèi),即0、字符串、負(fù)數(shù)、小數(shù),甚至可挖掘出輸入為空的隱含等價(jià)類(lèi)。n在確知已劃分的等價(jià)類(lèi)中各元素在程序處理中的方式不同的情況下,則應(yīng)再將該等價(jià)類(lèi)進(jìn)一步的劃分為更小的等價(jià)類(lèi)。 例如:核對(duì)日期的有效性,初步有效等價(jià)類(lèi)是1=Month=12,1=Day=31 可是考慮到2月以及閏年、閏月、長(zhǎng)
8、月、短月等,需要進(jìn)一步細(xì)分,當(dāng)然其中還涉及到了年月日組合的問(wèn)題。 Yingli(哈爾濱英立科技有限公司) 3-12確定測(cè)試用例p步驟步驟n劃分等價(jià)類(lèi)n為每一個(gè)有效等價(jià)類(lèi)和無(wú)效等價(jià)類(lèi)規(guī)定一個(gè)唯一的編號(hào)n設(shè)計(jì)一個(gè)測(cè)試用例,使其盡可能多地覆蓋尚未覆蓋的有效等價(jià)類(lèi), 重復(fù)這一步直到所有有效等價(jià)類(lèi)均被測(cè)試用例所覆蓋n設(shè)計(jì)一個(gè)測(cè)試用例,使其只覆蓋一個(gè)無(wú)效等價(jià)類(lèi),重復(fù)這一步,直到所有無(wú)效等價(jià)類(lèi)均被覆蓋 p表示法表示法1.使用下面的表格有利于確定測(cè)試用例Yingli(哈爾濱英立科技有限公司) 3-13案例p功能說(shuō)明功能說(shuō)明nNextDate(年,月,日)是三個(gè)變量的函數(shù)。函數(shù)返回輸入日期的下一個(gè)日期。變量年份
9、,月份,日期都是整數(shù)值,且滿(mǎn)足下面的條件: 1900年 2060 ,1月 12, 1日 31. n分析和比較兩種不同的等價(jià)類(lèi)劃分方法以及三種設(shè)計(jì)的結(jié)果Yingli(哈爾濱英立科技有限公司) 3-14參考答案1p參考答案參考答案n等價(jià)類(lèi)及其編號(hào)p測(cè)試用例測(cè)試用例n覆蓋等價(jià)類(lèi)1,2,3: 測(cè)試輸入=(2006,6,16), 預(yù)期結(jié)果=(2006,6,17)n覆蓋等價(jià)類(lèi)4,2,3: 測(cè)試輸入=(1890,4,10), 預(yù)期結(jié)果=“輸入錯(cuò)誤!”1.覆蓋等價(jià)類(lèi)5,2,3: 測(cè)試輸入=(2062,4,10), 預(yù)期結(jié)果=“輸入錯(cuò)誤!”Yingli(哈爾濱英立科技有限公司) 3-15參考答案1p測(cè)試用例測(cè)試
10、用例n覆蓋等價(jià)類(lèi)1,6,3: 測(cè)試輸入=(2006,-2,16), 預(yù)期結(jié)果=“輸入錯(cuò)誤!”n覆蓋等價(jià)類(lèi)1,7,3: 測(cè)試輸入=(2006,13,16), 預(yù)期結(jié)果=“輸入錯(cuò)誤!”n覆蓋等價(jià)類(lèi)1,2,8: 測(cè)試輸入=(2006,6,0), 預(yù)期結(jié)果=“輸入錯(cuò)誤!”4.覆蓋等價(jià)類(lèi)1,2,9: 測(cè)試輸入=(2006,4,33), 預(yù)期結(jié)果=“輸入錯(cuò)誤!”Yingli(哈爾濱英立科技有限公司) 3-16分析:p覆蓋有效等價(jià)類(lèi)123-一個(gè)測(cè)試用例p覆蓋無(wú)效等價(jià)類(lèi)每一個(gè),分別按順序替換一個(gè)有效的等價(jià)類(lèi)423、523。163、173。128、129。Yingli(哈爾濱英立科技有限公司) 3-17參考答案
11、2p另一種答案另一種答案n等價(jià)類(lèi)及其編號(hào)Yingli(哈爾濱英立科技有限公司) 3-18參考答案2p測(cè)試用例測(cè)試用例1n覆蓋等價(jià)類(lèi)1,3,7: 測(cè)試輸入=(2000,7,16), 預(yù)期結(jié)果=(2000,7,17)n覆蓋等價(jià)類(lèi)2,4,8: 測(cè)試輸入=(2006,4,29), 預(yù)期結(jié)果=(2006,4,30)1.覆蓋等價(jià)類(lèi)1,5,9: 測(cè)試輸入=(2000,2,30), 預(yù)期結(jié)果=“輸入錯(cuò)誤!”Yingli(哈爾濱英立科技有限公司) 3-19參考答案2p測(cè)試用例測(cè)試用例1(續(xù))(續(xù))n覆蓋等價(jià)類(lèi)2,6,10: 測(cè)試輸入=(2001,12,31),預(yù)期結(jié)果=(2002,1,1)n覆蓋等價(jià)類(lèi)11,3,
12、7: 測(cè)試輸入=(1830,3,19), 預(yù)期結(jié)果=“輸入錯(cuò)誤!”4.覆蓋等價(jià)類(lèi)12,3,7: 測(cè)試輸入=(3000,3,19), 預(yù)期結(jié)果=“輸入錯(cuò)誤!”Yingli(哈爾濱英立科技有限公司) 3-20參考答案2p測(cè)試用例測(cè)試用例1(續(xù))(續(xù))n覆蓋等價(jià)類(lèi)1,13,7: 測(cè)試輸入=(2004,-2,10),預(yù)期結(jié)果=“輸入錯(cuò)誤!”n覆蓋等價(jià)類(lèi)1,14,7: 測(cè)試輸入=(2004,15,10),預(yù)期結(jié)果=輸入錯(cuò)誤!”n覆蓋等價(jià)類(lèi)1,3,15: 測(cè)試輸入=(2004,8,-2), 預(yù)期結(jié)果=“輸入錯(cuò)誤!”7.覆蓋等價(jià)類(lèi)1,3,16: 測(cè)試輸入=(2004,8,38),預(yù)期結(jié)果=“輸入錯(cuò)誤!”Yi
13、ngli(哈爾濱英立科技有限公司) 3-21參考答案3p測(cè)試用例測(cè)試用例2(續(xù))(續(xù))n覆蓋等價(jià)類(lèi)2,3,10: 測(cè)試輸入=(2001,7,31), 預(yù)期結(jié)果=(2001,8,1)n覆蓋等價(jià)類(lèi)2,4,9: 測(cè)試輸入=(2006,4,30), 預(yù)期結(jié)果=(2006,5,1)1.覆蓋等價(jià)類(lèi)1,5,8: 測(cè)試輸入=(2000,2,29), 預(yù)期結(jié)果=(2000,3,1)Yingli(哈爾濱英立科技有限公司) 3-22參考答案3p測(cè)試用例測(cè)試用例2(續(xù))(續(xù))n覆蓋等價(jià)類(lèi)2,6,7: 測(cè)試輸入=(2001,12,15),預(yù)期結(jié)果=(2001,12,16)n覆蓋等價(jià)類(lèi)11,3,7: 測(cè)試輸入=(1830
14、,3,19), 預(yù)期結(jié)果=“輸入錯(cuò)誤!”4.覆蓋等價(jià)類(lèi)12,3,7: 測(cè)試輸入=(3000,3,19), 預(yù)期結(jié)果=“輸入錯(cuò)誤!”Yingli(哈爾濱英立科技有限公司) 3-23參考答案3p測(cè)試用例測(cè)試用例2(續(xù))(續(xù))n覆蓋等價(jià)類(lèi)1,13,7: 測(cè)試輸入=(2004,-2,10),預(yù)期結(jié)果=“輸入錯(cuò)誤!”n覆蓋等價(jià)類(lèi)1,14,7: 測(cè)試輸入=(2004,15,10),預(yù)期結(jié)果=輸入錯(cuò)誤!”n覆蓋等價(jià)類(lèi)1,3,15: 測(cè)試輸入=(2004,8,-2), 預(yù)期結(jié)果=“輸入錯(cuò)誤!”n覆蓋等價(jià)類(lèi)1,3,16: 測(cè)試輸入=(2004,8,38),預(yù)期結(jié)果=“輸入錯(cuò)誤!”Yingli(哈爾濱英立科技有限
15、公司) 3-24案例討論p對(duì)三種設(shè)計(jì)結(jié)果的討論對(duì)三種設(shè)計(jì)結(jié)果的討論n每種結(jié)果都覆蓋了一些應(yīng)該測(cè)試的功能點(diǎn)n第一組結(jié)果過(guò)多的關(guān)注于對(duì)無(wú)效等價(jià)類(lèi)的測(cè)試,遺漏了很多NextDate問(wèn)題需測(cè)試的關(guān)鍵點(diǎn),比如平年閏年、二月、大小月、月底等等。n第二組結(jié)果包含了第一組的結(jié)果的基礎(chǔ)上,增加了對(duì)二月、年底等的測(cè)試1.第三組結(jié)果通過(guò)日常知識(shí)的運(yùn)用,使得測(cè)試用例涵蓋了大部分需測(cè)試的要點(diǎn),尤其是測(cè)試用例1,2,3的有效性明顯要比前二種結(jié)果中的要好,但仍有些遺漏,例如年底、平年的二月等Yingli(哈爾濱英立科技有限公司) 3-25案例討論p如何再次提高測(cè)試用例質(zhì)量呢?如何再次提高測(cè)試用例質(zhì)量呢?n在實(shí)際測(cè)試時(shí),可以
16、考慮增加一些測(cè)試用例來(lái)補(bǔ)充想到但是通過(guò)使用測(cè)試用例設(shè)計(jì)方法沒(méi)有辦法覆蓋到的測(cè)試點(diǎn)(實(shí)際上,運(yùn)用了錯(cuò)誤猜測(cè)法)n根據(jù)功能規(guī)格說(shuō)明,選取恰當(dāng)?shù)臏y(cè)試用例設(shè)計(jì)方法。Nextdate各個(gè)輸入變量之間其實(shí)并不是完全獨(dú)立的,在設(shè)計(jì)測(cè)試用例時(shí)并沒(méi)有考慮到這點(diǎn),可以使用:n各個(gè)變量之間進(jìn)行全組合n決策表1.綜合運(yùn)用多種測(cè)試用例設(shè)計(jì)方法,以求得測(cè)試質(zhì)量與成本之間的平衡Yingli(哈爾濱英立科技有限公司) 3-26p弱一般等價(jià)類(lèi)n設(shè)計(jì)若干測(cè)試用例,每個(gè)測(cè)試用例應(yīng)盡可能多地覆蓋尚未覆蓋的被測(cè)變量的有效等價(jià)類(lèi)并且每個(gè)被測(cè)變量的有效等價(jià)類(lèi)應(yīng)至少出現(xiàn)一次n測(cè)試用例個(gè)數(shù)為:各個(gè)被測(cè)變量中的最大有效等價(jià)類(lèi)個(gè)數(shù)p強(qiáng)一般等價(jià)類(lèi)n
17、設(shè)計(jì)若干測(cè)試用例,使其覆蓋所有被測(cè)變量有效等價(jià)類(lèi)的組合n測(cè)試用例個(gè)數(shù)為:各個(gè)被測(cè)變量有效等價(jià)類(lèi)數(shù)(乘法原理)等價(jià)類(lèi)方法的補(bǔ)充說(shuō)明Yingli(哈爾濱英立科技有限公司) 3-27p弱健壯等價(jià)類(lèi)n設(shè)計(jì)若干測(cè)試用例,每個(gè)測(cè)試用例應(yīng)盡可能多地覆蓋尚未覆蓋的有效等價(jià)類(lèi),對(duì)于無(wú)效等價(jià)類(lèi),每個(gè)測(cè)試用例只考慮一個(gè)被測(cè)變量的無(wú)效等價(jià)類(lèi)n測(cè)試用例個(gè)數(shù)為:各個(gè)被測(cè)變量中的最大有效等價(jià)類(lèi)個(gè)數(shù)+各個(gè)被測(cè)變量的無(wú)效等價(jià)類(lèi)數(shù)p強(qiáng)健壯等價(jià)類(lèi)n設(shè)計(jì)若干測(cè)試用例,使其覆蓋所有被測(cè)變量的有效等價(jià)類(lèi)和無(wú)效等價(jià)類(lèi)的組合n測(cè)試用例個(gè)數(shù)為:各個(gè)被測(cè)變量的(有效等價(jià)類(lèi)數(shù)+無(wú)效等價(jià)類(lèi)數(shù))等價(jià)類(lèi)方法的補(bǔ)充說(shuō)明Yingli(哈爾濱英立科技有限公司
18、) 3-28p函數(shù)y = f (x1,x2) 輸入變量的取值范圍分別為:x1 a,d, x2 e,g , 根據(jù)規(guī)格說(shuō)明劃分得相應(yīng)的等價(jià)類(lèi)nX1:有效等價(jià)類(lèi) a, b) b, c) c, d;無(wú)效等價(jià)類(lèi)(-,a), (d, +)nX2:有效等價(jià)類(lèi) e,f) f,g;無(wú)效等價(jià)類(lèi)(-,e), (g, +)abcdefg圖例 弱一般等價(jià)類(lèi)測(cè)試用例 強(qiáng)一般等價(jià)類(lèi)測(cè)試用例 弱健壯等價(jià)類(lèi)測(cè)試用例 強(qiáng)健壯等價(jià)類(lèi)測(cè)試用例等價(jià)類(lèi)方法的補(bǔ)充說(shuō)明Yingli(哈爾濱英立科技有限公司) 3-29運(yùn)用強(qiáng)健壯等價(jià)類(lèi)方法p強(qiáng)健壯等價(jià)類(lèi)強(qiáng)健壯等價(jià)類(lèi)n用例個(gè)數(shù):4*6*6 = 144n利用強(qiáng)健壯等價(jià)類(lèi)獲得的測(cè)試用例雖然覆蓋了需測(cè)
19、試的各個(gè)要點(diǎn),但是測(cè)試用例個(gè)數(shù)卻大幅度提高,而且包含了若干無(wú)意義的測(cè)試用例Yingli(哈爾濱英立科技有限公司) 3-30演練p傭金問(wèn)題等價(jià)類(lèi)測(cè)試用例,它是根據(jù)傭金函數(shù)的輸出值域定義等價(jià)類(lèi),來(lái)改進(jìn)測(cè)試用例集合。輸出銷(xiāo)售額1000元 傭金1010001800 傭金=220+(銷(xiāo)售額-1800)*20%測(cè)試用例 槍機(jī)(45) 槍托(30) 槍管(25) 銷(xiāo)售額 傭金 1 5 5 5 500 50 2 15 15 15 1500 175 3 25 25 25 2500 360根據(jù)輸出域選擇輸入值,使落在輸出域等價(jià)類(lèi)內(nèi),可以結(jié)合弱健壯測(cè)試用例結(jié)合。Yingli(哈爾濱英立科技有限公司) 3-31練習(xí):
20、實(shí)例1Yingli(哈爾濱英立科技有限公司) 3-32答案有效全覆蓋,無(wú)效每個(gè)都覆蓋有效全覆蓋,無(wú)效每個(gè)都覆蓋Yingli(哈爾濱英立科技有限公司) 3-33練習(xí):實(shí)例2p保險(xiǎn)費(fèi)率計(jì)算p人人保險(xiǎn)公司承擔(dān)人壽保險(xiǎn)已有多年歷史, 該公司保費(fèi)計(jì)算方式為投保額 保險(xiǎn)率, 保險(xiǎn)率又依點(diǎn)數(shù)不同而有別, 10 點(diǎn)以上費(fèi)率為0.6 % ,10 點(diǎn)以下費(fèi)率為0.1 % :Yingli(哈爾濱英立科技有限公司) 3-34p年齡p(199)p60歲以上20歲以下 2點(diǎn)pMALE 5點(diǎn)p性別pFEMALE 3點(diǎn)p已婚 3點(diǎn)p婚姻p未婚 5點(diǎn)p扶養(yǎng)人數(shù)p(19)p一 人 扣 0.5 點(diǎn) 最 多 扣 3 點(diǎn) ( 四 舍
21、五 入 取 整 數(shù) )Yingli(哈爾濱英立科技有限公司) 3-35一、分析輸入數(shù)據(jù)型式p年齡: 一或兩位數(shù)字。p性別: 以英文Male 、Female p、M 、F 表示。p婚姻: 已婚、未婚。p扶養(yǎng)人數(shù): 空白或一位數(shù)字。p保險(xiǎn)費(fèi)率: 10 點(diǎn)以上, 10 點(diǎn)以下。Yingli(哈爾濱英立科技有限公司) 3-36二、劃分輸入數(shù)據(jù)Yingli(哈爾濱英立科技有限公司) 3-37劃分輸入數(shù)據(jù)Yingli(哈爾濱英立科技有限公司) 3-38三、設(shè)計(jì)輸入數(shù)據(jù)Yingli(哈爾濱英立科技有限公司) 3-39設(shè)計(jì)輸入數(shù)據(jù)Yingli(哈爾濱英立科技有限公司) 3-40四、根據(jù)以上分析設(shè)計(jì)測(cè)試用例Yi
22、ngli(哈爾濱英立科技有限公司) 3-41設(shè)計(jì)測(cè)試用例Yingli(哈爾濱英立科技有限公司) 3-42練習(xí):實(shí)例3p 設(shè)有一個(gè)檔案管理系統(tǒng),要求用戶(hù)輸入以年月表示的日期。假設(shè)日期限定在1990年1月2049年12月,并規(guī)定日期由6位數(shù)字字符組成,前4位表示年,后2位表示月?,F(xiàn)用等價(jià)類(lèi)劃分法設(shè)計(jì)測(cè)試用例,來(lái)測(cè)試程序的日期檢查功能。(不考慮2月的問(wèn)題)Yingli(哈爾濱英立科技有限公司) 3-43p1)劃分等價(jià)類(lèi)并編號(hào),下表等價(jià)類(lèi)劃分的結(jié)果p日期的類(lèi)型及長(zhǎng)度p6位數(shù)字字符有非數(shù)字字符少于6位數(shù)字字符多于6位數(shù)字字符年份范圍在19902049之間小于1990大于2049月份范圍在0112之間等于
23、00大于12p2)設(shè)計(jì)測(cè)試用例,以便覆蓋所有的有效等價(jià)類(lèi)在表中列出了3個(gè)有效等價(jià)類(lèi),編號(hào)分別為、,設(shè)計(jì)的測(cè)試用例如下:p測(cè)試數(shù)據(jù) 期望結(jié)果 覆蓋的有效等價(jià)類(lèi)200211 輸入有效 、3)為每一個(gè)無(wú)效等價(jià)類(lèi)設(shè)計(jì)一個(gè)測(cè)試用例,設(shè)計(jì)結(jié)果如下: 測(cè)試數(shù)據(jù) 期望結(jié)果 覆蓋的無(wú)效等價(jià)類(lèi) 95June 無(wú)效輸入 20036 無(wú)效輸入 2001006 無(wú)效輸入 198912 無(wú)效輸入 200401 無(wú)效輸入 200100 無(wú)效輸入 200113 無(wú)效輸入 Yingli(哈爾濱英立科技有限公司) 3-44作業(yè)和考試:p某程序規(guī)定:輸入三個(gè)整數(shù) a 、 b 、 c 分別作為三邊的邊長(zhǎng)構(gòu)成三角形。通過(guò)程序判定所構(gòu)成
24、的三角形的類(lèi)型,當(dāng)此三角形為一般三角形、等腰三角形及等邊三角形時(shí),分別作計(jì)算 。用等價(jià)類(lèi)劃分方法為該程序進(jìn)行測(cè)試用例設(shè)計(jì)。(三角形問(wèn)題的復(fù)雜之處在于輸入與輸出之間的關(guān)系比較復(fù)雜。) Yingli(哈爾濱英立科技有限公司) 3-45p分析題目中給出和隱含的對(duì)輸入條件的要求: p(1)整數(shù) (2)三個(gè)數(shù) (3)非零數(shù) (4)正數(shù) (5)兩邊之和大于第三邊 (6)等腰 (7)等邊 如果 a 、 b 、 c 滿(mǎn)足條件( 1 ) ( 4 ),則輸出下列四種情況之一: 1)如果不滿(mǎn)足條件(5),則程序輸出為 非三角形 。 2)如果三條邊相等即滿(mǎn)足條件(7),則程序輸出為 等邊三角形 。 3)如果只有兩條邊
25、相等、即滿(mǎn)足條件(6),則程序輸出為 等腰三角形 。 4)如果三條邊都不相等,則程序輸出為 一般三角形 。 列出等價(jià)類(lèi)表并編號(hào)Yingli(哈爾濱英立科技有限公司) 3-46Yingli(哈爾濱英立科技有限公司) 3-47覆蓋有效等價(jià)類(lèi)的測(cè)試用例:pa b c 覆蓋等價(jià)類(lèi)號(hào)碼p3 4 5 (1)-(7)p4 4 5 (1)-(7),(8)p4 5 5 (1)-(7),(9) p5 4 5 (1)-(7),(10)p4 4 4 (1)-(7),(11)Yingli(哈爾濱英立科技有限公司) 3-48覆蓋無(wú)效等價(jià)類(lèi)的測(cè)試用例:Yingli(哈爾濱英立科技有限公司) 3-49p邊界值邊界值n任何值得
26、測(cè)試的范圍的臨界點(diǎn),可分為n邊界值:明確地定義在規(guī)格說(shuō)明書(shū)中 n次邊界:隱含在軟件中必須經(jīng)過(guò)分析才能獲得 p測(cè)試思想測(cè)試思想n取邊界點(diǎn)附近的值作為測(cè)試用例的輸入,可參考如下的設(shè)計(jì)原則1.如果輸入條件定義了數(shù)值區(qū)間(a,b),那么測(cè)試用例應(yīng)包括a、b、稍微比a大、稍微比b大、稍微比a小和稍微比b小等幾種情況. 舉個(gè)例子,如果a,b是整數(shù), 除在a,b之間取正常點(diǎn)外,a,b,a-1,b-1,a+1,b+1都應(yīng)被測(cè)試邊界值測(cè)試 Yingli(哈爾濱英立科技有限公司) 3-50p設(shè)計(jì)應(yīng)遵循的原則設(shè)計(jì)應(yīng)遵循的原則n如果輸入條件規(guī)定了值的個(gè)數(shù), 那么最小個(gè)數(shù)、最大個(gè)數(shù)、大于和小于最小值、大于和小于最大值都
27、應(yīng)該被測(cè)試。n如果程序的輸入域是有序集合,則應(yīng)選取集合的第一個(gè)元素和最后一個(gè)元素作為測(cè)試用例n上述原則也適用于輸出條件n如果在程序中的數(shù)據(jù)結(jié)構(gòu)有指定的邊界,那么選擇這個(gè)數(shù)據(jù)結(jié)構(gòu)邊界上的值作為測(cè)試用例。2.分析規(guī)格說(shuō)明,找出其它可能的邊界條件邊界值測(cè)試 Yingli(哈爾濱英立科技有限公司) 3-51p功能描述功能描述n某選課系統(tǒng)中規(guī)定每門(mén)課程的選修人數(shù)在20,60之間,小于20人不開(kāi)設(shè)該門(mén)選修課,大于60人不接受后面的選課要求。p測(cè)試設(shè)計(jì)測(cè)試設(shè)計(jì)n輸入變量:選課人數(shù)n測(cè)試輸入n選擇當(dāng)選課人數(shù)分別為19,20,21, 59,60和61等幾個(gè)邊界點(diǎn)1.再加上一個(gè)正常值點(diǎn)40案例 Yingli(哈爾
28、濱英立科技有限公司) 3-52邊界值測(cè)試p從理論上來(lái)說(shuō),邊界值可分為從理論上來(lái)說(shuō),邊界值可分為n僅考慮有效區(qū)間單個(gè)變量邊界值(一般邊界值):用在最小值,略高于最小值,正常值正常值,略低于最大值和最大值處取變量的值。如果被測(cè)變量個(gè)數(shù)為n,則測(cè)試用例個(gè)數(shù)為4n+1n僅考慮有效區(qū)間多個(gè)變量邊界值同時(shí)作用(一般最壞情況邊界值):用各個(gè)變量的最小值,略高于最小值,正常值,略低于最大值和最大值的笛卡爾積集。如果被測(cè)變量個(gè)數(shù)為n,則測(cè)試用例個(gè)數(shù)為5n Yingli(哈爾濱英立科技有限公司) 3-53邊界值測(cè)試p從理論上來(lái)說(shuō),邊界值可分為從理論上來(lái)說(shuō),邊界值可分為n同時(shí)考慮有效區(qū)間和無(wú)效區(qū)間單個(gè)變量邊界值(健
29、壯邊界值):除了在最小值,略高于最小值,正常值,略低于最大值和最大值處取變量的值,還要在略超過(guò)最大值以及略小于最小值之處值。如果被測(cè)變量個(gè)數(shù)為n,則測(cè)試用例個(gè)數(shù)為6n+1n同時(shí)考慮有效區(qū)間和無(wú)效區(qū)間多個(gè)變量邊界值同時(shí)作用(健壯最壞情況邊界值):用各個(gè)變量的略小于最小值,最小值,略高于最小值,正常值,略低于最大值,最大值和略超過(guò)大值的完全組合。如果被測(cè)變量個(gè)數(shù)為n,則測(cè)試用例個(gè)數(shù)為7nYingli(哈爾濱英立科技有限公司) 3-54p函數(shù)y = f (x1,x2) 輸入變量的取值范圍分別為:x1 a,b, x2 c,d , 邊界值方法abcdX2X1一般邊界值Yingli(哈爾濱英立科技有限公司
30、) 3-55p函數(shù)y = f (x1,x2) 輸入變量的取值范圍分別為:x1 a,b, x2 c,d , 邊界值方法abcdX2X1一般最壞情況邊界值Yingli(哈爾濱英立科技有限公司) 3-56p函數(shù)y = f (x1,x2) 輸入變量的取值范圍分別為:x1 a,b, x2 c,d , 邊界值方法健壯邊界值abcdX2X1Yingli(哈爾濱英立科技有限公司) 3-57p函數(shù)y = f (x1,x2) 輸入變量的取值范圍分別為:x1 a,d, x2 e,g , 邊界值方法健壯最壞邊界值abcdX2X1Yingli(哈爾濱英立科技有限公司) 3-58p三角形問(wèn)題三角形問(wèn)題n輸入三個(gè)不超過(guò)20
31、0的整數(shù),這三個(gè)值分別代表三角形三條邊的長(zhǎng)度,請(qǐng)判斷這三個(gè)數(shù)構(gòu)成的三角形是等邊三角形,等腰三角形還是不等邊三角形并將結(jié)果打印出來(lái)。p測(cè)試設(shè)計(jì)測(cè)試設(shè)計(jì)n三個(gè)輸入變量:第一條邊,第二條邊,第三條邊n測(cè)試輸入n選擇三條邊長(zhǎng)度分別為0,1,2,100,199,200,201等幾個(gè)邊界點(diǎn)n當(dāng)僅有一個(gè)變量取邊界值,其它取正常值,1.所有變量取邊界值,案例 Yingli(哈爾濱英立科技有限公司) 3-59p三角形問(wèn)題三角形問(wèn)題n從得到的結(jié)果看,多變量同時(shí)取邊界值得到的測(cè)試用例集的質(zhì)量顯然沒(méi)有僅考慮一個(gè)變量邊界值的情況好。雖然前者覆蓋了后者所有的測(cè)試用例,但是花費(fèi)的代價(jià)確實(shí)不小,前者的測(cè)試用例數(shù)是后者的十八倍
32、,預(yù)期結(jié)果為“輸入錯(cuò)誤”的用例約占總測(cè)試用例數(shù)63.6%,而且這些測(cè)試用例中的大多數(shù)是沒(méi)有意義的n這主要是因?yàn)槎嘧兞客瑫r(shí)取邊界值關(guān)注的是變量同時(shí)取邊界值點(diǎn)時(shí)對(duì)于功能的影響,三角形問(wèn)題的各個(gè)變量之間相對(duì)獨(dú)立,因此對(duì)于三角形問(wèn)題僅考慮使用一個(gè)變量取邊界值,另外一個(gè)變量取正常值的情況就可以了案例討論 Yingli(哈爾濱英立科技有限公司) 3-60p邊界值測(cè)試比較適合運(yùn)用在有下列含義的變量上邊界值測(cè)試比較適合運(yùn)用在有下列含義的變量上n數(shù)值n字母n位置n數(shù)量n速度n大小邊界值測(cè)試 Yingli(哈爾濱英立科技有限公司) 3-61p除了遵循前面論述的邊界值設(shè)計(jì)原則,還應(yīng)考慮測(cè)試下面的情況除了遵循前面論述
33、的邊界值設(shè)計(jì)原則,還應(yīng)考慮測(cè)試下面的情況n第一個(gè)/最后一個(gè), 第一個(gè)-1/最后一個(gè)+1n開(kāi)始/結(jié)束, 開(kāi)始-1/結(jié)束+1n超過(guò)/低于, 剛剛超過(guò)/剛剛低于n空的/滿(mǎn)的, 比空的少點(diǎn)/比滿(mǎn)的多些n最短的/最長(zhǎng)的, 稍微短點(diǎn)/稍微長(zhǎng)點(diǎn)n最慢的/最快的, 稍微慢點(diǎn)/稍微快點(diǎn)n最早的/最晚的, 稍微早點(diǎn)/稍微晚點(diǎn)n最大的/最小的, 最大的+1/最小的-1n最高的/最低的, 最高的+1/最低的-1n距離最近的/距離最遠(yuǎn)的邊界值測(cè)試Yingli(哈爾濱英立科技有限公司) 3-62邊界值測(cè)試思想討論p對(duì)于輸出變量的邊界上同樣可以考慮使用邊界值測(cè)試p雖然邊界值測(cè)試是以黑盒測(cè)試方法的面貌出現(xiàn),但是其思想不僅可以
34、用于測(cè)試功能,同樣可以將邊界值測(cè)試的思想用于測(cè)試代碼Yingli(哈爾濱英立科技有限公司) 3-63練習(xí):實(shí)例1Yingli(哈爾濱英立科技有限公司) 3-64Yingli(哈爾濱英立科技有限公司) 3-65練習(xí):實(shí)例2Yingli(哈爾濱英立科技有限公司) 3-66Yingli(哈爾濱英立科技有限公司) 3-67實(shí)戰(zhàn)1Yingli(哈爾濱英立科技有限公司) 3-68綜合實(shí)戰(zhàn)1(要求:按已學(xué)的知識(shí)寫(xiě)和其他自己能想到的)Yingli(哈爾濱英立科技有限公司) 3-69綜合實(shí)戰(zhàn)2Yingli(哈爾濱英立科技有限公司) 3-70上傳資料的操作流程Yingli(哈爾濱英立科技有限公司) 3-71參考答
35、案p注冊(cè)用例提示:內(nèi)容方面、長(zhǎng)度、一致、功能、界面及提示、其他等。p上傳文件用例提示:文件大小,文件名稱(chēng),文件格式,上傳方面的功能,上傳安全、上傳性能、上傳界面、其他等。Yingli(哈爾濱英立科技有限公司) 3-72(因果圖)決策表 p定義定義n決策表由四個(gè)部分組成,分別是條件樁(condition stub), 條件項(xiàng)(condition entry), 動(dòng)作樁(action stub)和動(dòng)作項(xiàng)(action entry). n條件樁是條件的列表 n動(dòng)作樁是滿(mǎn)足條件時(shí)系統(tǒng)可能產(chǎn)生的動(dòng)作的列表.n條件項(xiàng)是條件值的組合 n動(dòng)作項(xiàng)是在條件值組合情況下發(fā)生的動(dòng)作n表中的每一列稱(chēng)為一條規(guī)則。規(guī)則定義
36、了動(dòng)作在什么條件下發(fā)生p決策表分為決策表分為n有限項(xiàng)決策表:每個(gè)條件只有兩個(gè)值,如Y/N, T/F,1/0 等.1.擴(kuò)展項(xiàng)決策表:條件項(xiàng)的取值有多個(gè)(大于2個(gè))Yingli(哈爾濱英立科技有限公司) 3-73決策表示例p下面的決策表描述了讀書(shū)時(shí)的場(chǎng)景條件樁條件樁動(dòng)作樁動(dòng)作樁條件項(xiàng)條件項(xiàng)動(dòng)作項(xiàng)動(dòng)作項(xiàng)規(guī)則規(guī)則Yingli(哈爾濱英立科技有限公司) 3-74決策表 p和測(cè)試用例之間的關(guān)系和測(cè)試用例之間的關(guān)系n一條規(guī)則對(duì)應(yīng)一個(gè)測(cè)試用例, 條件項(xiàng)構(gòu)成了測(cè)試用例的輸入,相應(yīng)的動(dòng)作項(xiàng)則是預(yù)期結(jié)果輸入條件輸入條件輸出結(jié)果輸出結(jié)果測(cè)試輸入測(cè)試輸入預(yù)期結(jié)果預(yù)期結(jié)果測(cè)試用例測(cè)試用例條件樁條件樁動(dòng)作樁動(dòng)作樁條件項(xiàng)條件
37、項(xiàng)動(dòng)作項(xiàng)動(dòng)作項(xiàng)Yingli(哈爾濱英立科技有限公司) 3-75不相關(guān)項(xiàng)p為了減少測(cè)試用例的個(gè)數(shù),我們可以合并具有相同動(dòng)作結(jié)果的規(guī)則第一個(gè)條件無(wú)論取何值都會(huì)產(chǎn)生相同的動(dòng)作,所以我們可以將第一條規(guī)則和第五條規(guī)則利用不相關(guān)項(xiàng)進(jìn)行合并Yingli(哈爾濱英立科技有限公司) 3-76不相關(guān)項(xiàng)p不相關(guān)項(xiàng)用“-”表示. p規(guī)則數(shù)降低到4,相應(yīng)的測(cè)試用例數(shù)也降低到4Yingli(哈爾濱英立科技有限公司) 3-77決策表 p決策表設(shè)計(jì)測(cè)試用例的步驟決策表設(shè)計(jì)測(cè)試用例的步驟n分析規(guī)格說(shuō)明確定條件和動(dòng)作n將條件和動(dòng)作分別填入條件樁和動(dòng)作樁中n在條件項(xiàng)中,根據(jù)邏輯關(guān)系填入條件的各種組合情況n在動(dòng)作項(xiàng)中,根據(jù)規(guī)格說(shuō)明,
38、給每個(gè)條件的組合情況填入相應(yīng)的動(dòng)作n重復(fù)步驟3、4直到所有邏輯關(guān)系被遍歷完為止Yingli(哈爾濱英立科技有限公司) 3-78有限項(xiàng)決策表p示例示例n三角形問(wèn)題:輸入三個(gè)整數(shù),這三個(gè)值分別表示三角形三條邊的長(zhǎng)度,請(qǐng)判斷這個(gè)三角形是等邊三角形,還是等腰三角形還是不等邊三角形并打印相應(yīng)的結(jié)果na,b,c 分別代表輸入的整數(shù),三角形問(wèn)題的決策表為:Yingli(哈爾濱英立科技有限公司) 3-79有限項(xiàng)決策表p測(cè)試用例測(cè)試用例n規(guī)則1:測(cè)試輸入 = (60,16,26), 預(yù)期結(jié)果 = 非三角形n規(guī)則2:測(cè)試輸入 = (50,50,0), 預(yù)期結(jié)果 = 非三角形n規(guī)則3:測(cè)試輸入 = (0,0,0),
39、 預(yù)期結(jié)果 = 非三角形n規(guī)則4:測(cè)試輸入 = (60,60,60), 預(yù)期結(jié)果 = 等邊三角形Yingli(哈爾濱英立科技有限公司) 3-80有限項(xiàng)決策表p測(cè)試用例測(cè)試用例n規(guī)則5:這種組合在現(xiàn)實(shí)中不可能存在n規(guī)則6:這種組合在現(xiàn)實(shí)中不可能存在n規(guī)則7:測(cè)試輸入 = (60,60,26), 預(yù)期結(jié)果 = 等腰三角形n規(guī)則8:這種組合在現(xiàn)實(shí)中不可能存在Yingli(哈爾濱英立科技有限公司) 3-81有限項(xiàng)決策表p測(cè)試用例測(cè)試用例n規(guī)則9:測(cè)試輸入 = (60,26,60), 預(yù)期結(jié)果 = 等腰三角形.n規(guī)則10:測(cè)試輸入 = (26,60,60), 預(yù)期結(jié)果 = 等腰三角形n規(guī)則11:測(cè)試輸入
40、 = (30,40,50), 預(yù)期結(jié)果 = 不等邊三角形Yingli(哈爾濱英立科技有限公司) 3-82有限項(xiàng)決策表p注意注意:n一共有8個(gè)測(cè)試用例 n這8個(gè)測(cè)試用例僅僅測(cè)試了三角形問(wèn)題的邏輯Yingli(哈爾濱英立科技有限公司) 3-83擴(kuò)展項(xiàng)決策表p示例示例nNextDate(年,月,日)是三個(gè)變量的函數(shù)。函數(shù)返回輸入日期的下一個(gè)日期。變量年份,月份,日期都是整數(shù)值,且滿(mǎn)足下面的條件: 1900年 2060 ,1月 12, 1日 31n如果你選擇有限項(xiàng)決策表,那么表中會(huì)存在256條規(guī)則. 試試下面的方法n日期的值包括pD1=從1到27pD2=28pD3=29pD4=30pD5=31n年份的
41、值包括pY1=閏年pY2=平年 n月份的值包括pM1=31天的月,除去12月pM2=30天的月pM3=2月pM4=12月Yingli(哈爾濱英立科技有限公司) 3-84擴(kuò)展項(xiàng)決策表pNextDate問(wèn)題的擴(kuò)展項(xiàng)決策表問(wèn)題的擴(kuò)展項(xiàng)決策表:n日期的值包括pD1=從1到27pD2=28pD3=29pD4=30pD5=31n年份的值包括pY1=閏年pY2=平年 n月份的值包括pM1=31天的月,除去12月pM2=30天的月pM3=2月pM4=12月Yingli(哈爾濱英立科技有限公司) 3-85擴(kuò)展項(xiàng)決策表p測(cè)試用例測(cè)試用例n規(guī)則1:測(cè)試輸入 = (2007,7,19), 預(yù)期結(jié)果 = “2007-7
42、-20”n規(guī)則2:測(cè)試輸入 = (2007,7,31), 預(yù)期結(jié)果 = “2007-8-1”n規(guī)則3:測(cè)試輸入 = (2007,9,25), 預(yù)期結(jié)果 = “2007-9-26”n規(guī)則4:測(cè)試輸入 = (2007,9,30), 預(yù)期結(jié)果 = “2007-10-1”Yingli(哈爾濱英立科技有限公司) 3-86擴(kuò)展項(xiàng)決策表p測(cè)試用例測(cè)試用例n規(guī)則5:測(cè)試輸入 = (2007,11,31),預(yù)期結(jié)果 = “日期輸入錯(cuò)誤”n規(guī)則6:測(cè)試輸入 = (2000,2,15), 預(yù)期結(jié)果 = “2000-2-16”n規(guī)則7:測(cè)試輸入 = (2000,2,29), 預(yù)期結(jié)果 = “2000-3-1”n規(guī)則8
43、:測(cè)試輸入 = (2000,2,30), 預(yù)期結(jié)果 = “日期輸入錯(cuò)誤”Yingli(哈爾濱英立科技有限公司) 3-87擴(kuò)展項(xiàng)決策表p測(cè)試用例測(cè)試用例n規(guī)則9:測(cè)試輸入 = (2007,2,15), 預(yù)期結(jié)果 = “2007-2-16”n規(guī)則10:測(cè)試輸入 = (2007,2,28), 預(yù)期結(jié)果 = “2007-3-1”n規(guī)則11: 測(cè)試輸入 = (2007,2,28), 預(yù)期結(jié)果 = “日期輸入錯(cuò)誤”n規(guī)則12: 測(cè)試輸入 = (2006,12,16), 預(yù)期結(jié)果 = “2006-12-17”n規(guī)則13: 測(cè)試輸入 = (2006,12,31), 預(yù)期結(jié)果 = “2007-1-1”Yingl
44、i(哈爾濱英立科技有限公司) 3-88建議 p建議建議 n當(dāng)測(cè)試邏輯時(shí),決策表是一個(gè)非常好的選擇. n為了降低測(cè)試用例個(gè)數(shù),可以使用擴(kuò)展項(xiàng)決策表n決策表并不是專(zhuān)用于設(shè)計(jì)測(cè)試用例的方法,它同樣可以應(yīng)用于其他方面,例如需求分析n復(fù)雜問(wèn)題簡(jiǎn)單化-分割Yingli(哈爾濱英立科技有限公司) 3-89錯(cuò)誤猜測(cè) p定義定義 n基于經(jīng)驗(yàn)和直覺(jué)推測(cè)程序中可能存在的各種錯(cuò)誤, 針對(duì)這些錯(cuò)誤設(shè)計(jì)相應(yīng)的測(cè)試用例n常作為一種補(bǔ)充測(cè)試用例的設(shè)計(jì)方法pStepsn錯(cuò)誤猜測(cè)設(shè)計(jì)法是一個(gè)在很大程度上憑直覺(jué)進(jìn)行的比較隨意的過(guò)程n用列表舉出程序中可能有的錯(cuò)誤和容易發(fā)生錯(cuò)誤的特殊情況n基于該列表構(gòu)造測(cè)試用例Yingli(哈爾濱英立
45、科技有限公司) 3-90發(fā)現(xiàn)程序經(jīng)常出現(xiàn)的錯(cuò)誤的方法:n單元測(cè)試中發(fā)現(xiàn)的模塊錯(cuò)誤;n產(chǎn)品的以前版本曾經(jīng)發(fā)現(xiàn)的錯(cuò)誤;n輸入數(shù)據(jù)為0或字符為空;n當(dāng)軟件要求輸入時(shí)(比如在文本框中),不是沒(méi)有輸入正確的信息,而是根本沒(méi)有輸入任何內(nèi)容,單單按了Enter鍵;n這種情況在產(chǎn)品說(shuō)明書(shū)中常常忽視,程序員也可能經(jīng)常遺忘,但是在實(shí)際使用中卻時(shí)有發(fā)生。程序員總會(huì)習(xí)慣性的認(rèn)為用戶(hù)要么輸入信息,不管是看起來(lái)合法的或非法的信息,要不就會(huì)選擇Cancel鍵放棄輸入,Yingli(哈爾濱英立科技有限公司) 3-91場(chǎng)景分析法-測(cè)試樹(shù)場(chǎng)景場(chǎng)景n場(chǎng)景可以遍歷所有從用例開(kāi)始到結(jié)束的包含基本流和備選流的路徑 n場(chǎng)景1:基本流;n場(chǎng)
46、景2:基本流、備選流1;n場(chǎng)景3:基本流、備選流1、備選流2;n場(chǎng)景場(chǎng)景4:基本流、備選流:基本流、備選流3;n場(chǎng)景場(chǎng)景5:基本流、備選流:基本流、備選流3、備選流、備選流1;n場(chǎng)景6:基本流、備選流3、備選流1、備選流2;n場(chǎng)景7:基本流、備選流4;n場(chǎng)景8:基本流、備選流3、備選流4。注:為簡(jiǎn)單起見(jiàn),場(chǎng)景5、6和8只考慮了備選流3循環(huán)執(zhí)行一次的情況 某用例的基本流和備選流 Yingli(哈爾濱英立科技有限公司) 3-92場(chǎng)景法 p測(cè)試思想測(cè)試思想 n根據(jù)需求規(guī)格說(shuō)明書(shū)中的用例所包含的事件流信息構(gòu)造場(chǎng)景并設(shè)計(jì)相應(yīng)的測(cè)試用例使每個(gè)場(chǎng)景至少發(fā)生一次n“步驟步驟n針對(duì)每個(gè)用例,構(gòu)造該用例的所有場(chǎng)景
47、n針對(duì)每個(gè)場(chǎng)景,至少設(shè)計(jì)一個(gè)可以讓該場(chǎng)景發(fā)生的測(cè)試用例n為每一個(gè)測(cè)試用例選擇相應(yīng)的測(cè)試輸入Yingli(哈爾濱英立科技有限公司) 3-93案例 p課程注冊(cè)用例的事件流課程注冊(cè)用例的事件流n基本流的描述 n備選流的描述 課程注冊(cè)系統(tǒng)Yingli(哈爾濱英立科技有限公司) 3-94構(gòu)造場(chǎng)景 p步驟步驟p根據(jù)事件流描述,構(gòu)造事件流圖1.根據(jù)事件流圖,構(gòu)造場(chǎng)景覆蓋從用例開(kāi)始到結(jié)束的路徑 備選流備選流 5備選流備選流 4備選流備選流 3備選流備選流 1 備選流備選流 2Yingli(哈爾濱英立科技有限公司) 3-95構(gòu)造場(chǎng)景 p場(chǎng)景(部分)場(chǎng)景(部分)n場(chǎng)景1-成功的注冊(cè):基本流 n場(chǎng)景2-學(xué)生無(wú)法識(shí)別
48、:基本流,備選流1 n場(chǎng)景3-用戶(hù)退出:基本流,備選流2 n場(chǎng)景4-選課不成功:基本流,備選流3 n場(chǎng)景5-課程目錄系統(tǒng)不可用:基本流,備選流4 n場(chǎng)景6-課程注冊(cè)已經(jīng)結(jié)束:基本流,備選流5 備選流備選流 5備選流備選流 4備選流備選流 3備選流備選流 1 備選流備選流 2Yingli(哈爾濱英立科技有限公司) 3-96設(shè)計(jì)測(cè)試用例 p步驟:步驟: n確定執(zhí)行用例場(chǎng)景所需的數(shù)據(jù)元素n構(gòu)造矩陣p確定列內(nèi)容:除了需要包含執(zhí)行場(chǎng)景所需的數(shù)據(jù)元素,還需要包含測(cè)試用例標(biāo)識(shí)、被測(cè)場(chǎng)景標(biāo)識(shí)或名稱(chēng)p確定行內(nèi)容:p根據(jù)每一場(chǎng)景,確定與其相關(guān)的測(cè)試用例輸入項(xiàng),在設(shè)計(jì)時(shí),須保證每個(gè)場(chǎng)景至少包含一個(gè)正面測(cè)試用例一個(gè)負(fù)
49、面測(cè)試用例n根據(jù)被測(cè)場(chǎng)景特征,補(bǔ)充相應(yīng)測(cè)試用例Yingli(哈爾濱英立科技有限公司) 3-97設(shè)計(jì)測(cè)試用例 p對(duì)于課程注冊(cè)用例,確定其列內(nèi)容為:p確定行內(nèi)容nV表示這個(gè)條件必須是有效的才可執(zhí)行基本流,I表示條件無(wú)效,n/a表示這個(gè)條件不適用于測(cè)試用例 Yingli(哈爾濱英立科技有限公司) 3-98填入測(cè)試數(shù)據(jù) p步驟步驟n根據(jù)設(shè)計(jì)的矩陣結(jié)果,選擇相應(yīng)的測(cè)試數(shù)據(jù)Yingli(哈爾濱英立科技有限公司) 3-99實(shí)例Yingli(哈爾濱英立科技有限公司) 3-100Yingli(哈爾濱英立科技有限公司) 3-101測(cè)試樹(shù)Yingli(哈爾濱英立科技有限公司) 3-102正交實(shí)驗(yàn)法 p幾個(gè)常用的正交
50、表幾個(gè)常用的正交表L 8(4124)L 4(23)因子因子的狀態(tài)Yingli(哈爾濱英立科技有限公司) 3-103正交實(shí)驗(yàn)法 p正交表可分為正交表可分為n統(tǒng)一水平數(shù)正交表:表中各個(gè)因子的水平數(shù)是一樣的n混合水平數(shù)正交表:表中的各個(gè)因子數(shù)的水平數(shù)不同p測(cè)試思想測(cè)試思想n根據(jù)被測(cè)軟件的規(guī)格說(shuō)明書(shū)找出影響其功能實(shí)現(xiàn)的操作對(duì)象和外部因素,把它們當(dāng)作因子,而把各個(gè)因子的取值當(dāng)作狀態(tài),構(gòu)造出二元的因素分析表;然后,利用正交表進(jìn)行各因子的狀態(tài)組合,構(gòu)造有效的測(cè)試輸入數(shù)據(jù)集p正交表的因子對(duì)應(yīng)被測(cè)對(duì)象的測(cè)試因素p因子的水平可以看成是各測(cè)試因素的取值。Yingli(哈爾濱英立科技有限公司) 3-104正交實(shí)驗(yàn)法
51、p設(shè)計(jì)步驟設(shè)計(jì)步驟n依據(jù)被測(cè)對(duì)象說(shuō)明構(gòu)造因子狀態(tài)表n加權(quán)篩選,生成因素分析表n選取合適的正交表,生成測(cè)試數(shù)據(jù)集1.根據(jù)被測(cè)對(duì)象的特征,補(bǔ)充由正交表無(wú)法得到的測(cè)試用例Yingli(哈爾濱英立科技有限公司) 3-105構(gòu)造因子-狀態(tài)表 p案例案例n某系統(tǒng)的文件查詢(xún)功能如下描述:某系統(tǒng)文件查詢(xún)功能面向系統(tǒng)注冊(cè)用戶(hù)和非注冊(cè)用戶(hù)開(kāi)放,查詢(xún)條件有簡(jiǎn)單查詢(xún)和高級(jí)查詢(xún)之分,非注冊(cè)用戶(hù)只能查詢(xún)公開(kāi)文件并且查詢(xún)結(jié)果只能在終端屏幕上顯示,系統(tǒng)注冊(cè)用戶(hù)可以查詢(xún)公開(kāi)文件和授權(quán)文件并且查詢(xún)結(jié)果可以輸出到指定的文件或在終端上顯示。Yingli(哈爾濱英立科技有限公司) 3-106加權(quán)篩選 p步驟步驟n確定各因子/狀態(tài)的權(quán)值
52、,參見(jiàn)下頁(yè)權(quán)值處理的活動(dòng)圖n計(jì)算權(quán)值p將各個(gè)因子的權(quán)值(Wi)相加,計(jì)算權(quán)總和(SUM)p將各個(gè)因子的權(quán)分別除以權(quán)總和,得到各因子的權(quán)比例ri1.采用因子數(shù)倒數(shù)的一半,即1/2n作為權(quán)比例標(biāo)準(zhǔn)值,將各個(gè)因子的權(quán)比例ri與1/2n比較,若ri1/2n,則保留,否則舍去該因子Yingli(哈爾濱英立科技有限公司) 3-107選擇正交表p對(duì)于前面的例題由于有3個(gè)兩水平因子,因此可以選用L 4(23)Yingli(哈爾濱英立科技有限公司) 3-108選擇正交表pL18(3661)正交表Yingli(哈爾濱英立科技有限公司) 3-109選擇正交表p最終的結(jié)果nA:0-A1,1-A2nB:0-B1,1-B
53、2nC:0-C1,1-C2, 2-C3nD:0-D1,1-D2, 2-D3nE:0-E1,1-E2, 2-E3,3-E4, 4-E5,5-E6Yingli(哈爾濱英立科技有限公司) 3-110全對(duì)偶測(cè)試p測(cè)試思想 在各變量?jī)蓛芍g進(jìn)行組合構(gòu)造測(cè)試用例,以期各變量的所有取值/域與其他變量的所 有取值/域構(gòu)成的對(duì)偶在若干測(cè)試用例里每個(gè)值對(duì)偶至少出現(xiàn)一次p例如果被測(cè)變量為X,Y,Z。 X取值個(gè)數(shù)為2分別為X1,X2;Y取值個(gè)數(shù)為3分別為Y1,Y2,Y3; Z取值個(gè)數(shù)為1為Z1,那么滿(mǎn)足全對(duì)偶就要考慮(X,Y)(X,Z) (Y,Z)三種組合情況下的每 個(gè)變量的所有取值和其他變量所有取值組成的對(duì)偶值,也
54、就是(X1,Y1),(X1,Y2),(X1,Y3), (X2,Y1),(X2,Y2),(X2,Y3), (X1,Z1),(X2,Z1),(Y1,Z1), (Y2,Z1), (Y3,Z1),這些對(duì)偶情 況在某個(gè)測(cè)試用例里至少出現(xiàn)一次。比如有測(cè)試用例(X1,Y2,Z1)那么就包括了三個(gè)對(duì)偶 (X1,Y2),(Y2,Z1),(X1,Z1)。我們的任務(wù)就是設(shè)計(jì)若干測(cè)試用例讓上面11種對(duì)偶值在某個(gè) 測(cè)試用例里出現(xiàn)一次(當(dāng)然,可以用不到11個(gè)測(cè)試用例來(lái)涵蓋上面的11種對(duì)偶)Yingli(哈爾濱英立科技有限公司) 3-111組合測(cè)試-全對(duì)偶測(cè)試p步驟 - 構(gòu)造對(duì)偶表。 1、列數(shù)為被測(cè)試的變量個(gè)數(shù)。在列上標(biāo)出
55、變量名稱(chēng),按可能取值的數(shù)量降序排列變量。 2、行數(shù)計(jì)算方法如下:如果第一列的可能取值個(gè)數(shù)是V1,第二列的可能取值個(gè)數(shù)是V2, 表中的行數(shù)至少為 V1*V2(也就是說(shuō)至少有V1*V2個(gè)測(cè)試用例)。 - 填寫(xiě)對(duì)偶表,一次填寫(xiě)一列。 1、第一列的填寫(xiě)規(guī)則:每次重復(fù)第一列變量的各個(gè)取值V2次。約定第一個(gè)變量的相同取 值構(gòu)成一個(gè)段。(最好在各個(gè)段空出一行,再重復(fù)給出下一個(gè)取值) 2、第二列的填寫(xiě)規(guī)則:對(duì)于第一個(gè)變量的每個(gè)段列出第二個(gè)變量的所有取值 3、增加第三列,使得每個(gè)段要包含第三列變量的所有取值,并且這些取值的順序要使 第三列變量和第二列變量也構(gòu)成全對(duì)偶 4、依次增加第四列、第五列方法同步驟3,檢查
56、各變量之間是否構(gòu)成全對(duì)偶,直至所有 變量列完為止Yingli(哈爾濱英立科技有限公司) 3-112全對(duì)偶測(cè)試示例現(xiàn)有一個(gè)有三個(gè)變量的程序現(xiàn)有一個(gè)有三個(gè)變量的程序: V1: V1有三個(gè)可能的取值(有三個(gè)可能的取值(A A,B,CB,C),),V2V2有兩個(gè)可能的取值有兩個(gè)可能的取值(X,Y)(X,Y),V3V3有兩個(gè)可能的取值有兩個(gè)可能的取值(0,1): 1(0,1): 1、這三個(gè)變量的全對(duì)偶表?、這三個(gè)變量的全對(duì)偶表?2 2、當(dāng)變量個(gè)數(shù)增加到、當(dāng)變量個(gè)數(shù)增加到4 4個(gè),個(gè),5 5個(gè),個(gè),6 6個(gè)又如何?(每個(gè)變量的取值都有兩個(gè))個(gè)又如何?(每個(gè)變量的取值都有兩個(gè))AABCBXYXXY10011
57、變量變量1變量變量2變量變量3CY0變量變量4EFFFEE變量變量5GHH HGGGHHG變量變量6IJJ JIIGJHIJIYingli(哈爾濱英立科技有限公司) 3-113練習(xí)假設(shè)一系統(tǒng)為B/S體系結(jié)構(gòu),其軟硬件配置如下:客戶(hù)端需要支持的瀏覽器版本包括IE5.0,IE5.5,Netscape7.1,均需運(yùn)行在Windows98和Windows 2000;應(yīng)用服務(wù)器的軟件版本對(duì)應(yīng)不同的Unix OS有三種不同的版本,分別為AIX環(huán)境下的A版本,HP UNIX下的B版本和Solaris下的C版本,分別運(yùn)行在IBM服務(wù)器,HP服務(wù)器上和Sun工作站上; 數(shù)據(jù)庫(kù)服務(wù)器均使用IBM小型機(jī),需要支持D
58、B2,Informix和Oracle三種數(shù)據(jù)庫(kù)管理系統(tǒng)。假設(shè)客戶(hù)端對(duì)后端數(shù)據(jù)庫(kù)的訪(fǎng)問(wèn)完全由應(yīng)用服務(wù)器屏蔽。現(xiàn)在要求,應(yīng)用服務(wù)器的不同版本需要支持所有客戶(hù)端運(yùn)行的平臺(tái)和所有數(shù)據(jù)庫(kù)運(yùn)行平臺(tái)。若對(duì)該系統(tǒng)進(jìn)行配置測(cè)試,請(qǐng)?jiān)O(shè)計(jì)其測(cè)試用例并簡(jiǎn)要寫(xiě)出設(shè)計(jì)思想?PS : 配置測(cè)試是指驗(yàn)證系統(tǒng)在不同軟硬件環(huán)境的組合中功能是否可正確的測(cè)試活動(dòng)Yingli(哈爾濱英立科技有限公司) 3-114參考答案 第一步第一步 確定客戶(hù)端運(yùn)行平臺(tái),根據(jù)題意客戶(hù)端需要進(jìn)行確定客戶(hù)端運(yùn)行平臺(tái),根據(jù)題意客戶(hù)端需要進(jìn)行IEIE和和OSOS的全組合測(cè)試的全組合測(cè)試 Yingli(哈爾濱英立科技有限公司) 3-115參考答案 第二步第二步
59、 確定服務(wù)器端運(yùn)行平臺(tái),根據(jù)題意需要進(jìn)行相應(yīng)操作系統(tǒng)和確定服務(wù)器端運(yùn)行平臺(tái),根據(jù)題意需要進(jìn)行相應(yīng)操作系統(tǒng)和 小型機(jī)的組合測(cè)試小型機(jī)的組合測(cè)試 第三步第三步 確定數(shù)據(jù)庫(kù)服務(wù)器的運(yùn)行平臺(tái)確定數(shù)據(jù)庫(kù)服務(wù)器的運(yùn)行平臺(tái) Yingli(哈爾濱英立科技有限公司) 3-116參考答案 第四步第四步 客戶(hù)端和服務(wù)器之間是全對(duì)偶,服務(wù)器和數(shù)據(jù)庫(kù)之間是全對(duì)偶客戶(hù)端和服務(wù)器之間是全對(duì)偶,服務(wù)器和數(shù)據(jù)庫(kù)之間是全對(duì)偶 Yingli(哈爾濱英立科技有限公司) 3-117黑盒測(cè)試用例設(shè)計(jì)方法p討論了常用的黑盒測(cè)試用例設(shè)計(jì)方法,包括 n等價(jià)類(lèi)劃分n邊界值測(cè)試n決策表n錯(cuò)誤猜測(cè)n場(chǎng)景法n正交實(shí)驗(yàn)法n綜合運(yùn)用黑盒用例設(shè)計(jì)方法進(jìn)行功
60、能測(cè)試綜合運(yùn)用黑盒用例設(shè)計(jì)方法進(jìn)行功能測(cè)試n功能測(cè)試工具功能測(cè)試工具Yingli(哈爾濱英立科技有限公司) 3-118功能測(cè)試p功能測(cè)試功能測(cè)試n說(shuō)明p指依據(jù)系統(tǒng)功能規(guī)格說(shuō)明書(shū),利用系統(tǒng)功能是從輸入域到輸出值域映射的特點(diǎn),對(duì)系統(tǒng)功能進(jìn)行徹底地測(cè)試。 n測(cè)試用例設(shè)計(jì)方法p黑盒測(cè)試方法設(shè)計(jì)法黑盒測(cè)試方法設(shè)計(jì)法p更準(zhǔn)確地說(shuō),是綜合運(yùn)用多種黑盒測(cè)試用例設(shè)計(jì)方法綜合運(yùn)用多種黑盒測(cè)試用例設(shè)計(jì)方法p案例案例n獎(jiǎng)勵(lì)積分問(wèn)題Yingli(哈爾濱英立科技有限公司) 3-119策略p綜合運(yùn)用測(cè)試用例設(shè)計(jì)方法的策略:n為了減少工作量和提高測(cè)試效率首先對(duì)被測(cè)問(wèn)題進(jìn)行等價(jià)類(lèi)劃分,將無(wú)限測(cè)試變成有限測(cè)試。n在任何情況下都推
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 鄉(xiāng)鎮(zhèn)衛(wèi)生院工作經(jīng)驗(yàn)與發(fā)展建議計(jì)劃
- 機(jī)械制造行業(yè)安全規(guī)范
- 文化行業(yè)助理職責(zé)概述
- 文化藝術(shù)行業(yè)營(yíng)銷(xiāo)工作總結(jié)
- 機(jī)場(chǎng)前臺(tái)服務(wù)總結(jié)
- 2024年稅務(wù)師題庫(kù)【滿(mǎn)分必刷】
- 2024年認(rèn)位置的教案
- 2024年窮人教案6篇
- 農(nóng)村建筑構(gòu)建合同(2篇)
- 出租車(chē)包班合同(2篇)
- 金科新未來(lái)大聯(lián)考2025屆高三12月質(zhì)量檢測(cè)語(yǔ)文試題(含答案解析)
- 江蘇省2025年高中學(xué)業(yè)水平合格考?xì)v史試卷試題(含答案詳解)
- 《地下水環(huán)境背景值統(tǒng)計(jì)表征技術(shù)指南(試行)》
- 大學(xué)試卷(示范)
- 高職院校智能制造實(shí)驗(yàn)室實(shí)訓(xùn)中心建設(shè)方案
- 房產(chǎn)交易管理平臺(tái)行業(yè)發(fā)展預(yù)測(cè)分析
- 檔案工作人員分工及崗位責(zé)任制(4篇)
- 電商整年銷(xiāo)售規(guī)劃
- GB 4396-2024二氧化碳滅火劑
- 美麗的秋天景色作文500字小學(xué)
- 施工單位2025年度安全生產(chǎn)工作總結(jié)及計(jì)劃
評(píng)論
0/150
提交評(píng)論