版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
本章內(nèi)容白盒測(cè)試技術(shù)黑盒測(cè)試技術(shù)沈陽師范大學(xué)軟件學(xué)院1本節(jié)內(nèi)容2.2黑盒測(cè)試技術(shù)2.2.1邊界值分析法2.2.2等價(jià)類分析法2.2.3因果圖分析法2.2.4決策表分析法沈陽師范大學(xué)軟件學(xué)院22.2.1邊界值分析法黑盒測(cè)試概述任何程序都可看作是將從輸入定義域取值映射到輸出值域的函數(shù),不考慮程序內(nèi)部的邏輯結(jié)構(gòu)和特性,只根據(jù)軟件的規(guī)格需求說明書,觀察程序的入口和出口,是否符合功能說明;對(duì)于一些外購軟件、參數(shù)化軟件包,因無法得到源程序,只能用黑盒測(cè)試。沈陽師范大學(xué)軟件學(xué)院3輸入輸出2.2.1邊界值分析法邊界值概念從根本上講,任何程序都可看作是一個(gè)函數(shù),它從一個(gè)集合(函數(shù)的定義域,即程序的輸入)的值映射到另一個(gè)集合(函數(shù)的值域,即程序的輸出)的值上。
沈陽師范大學(xué)軟件學(xué)院4Output=F(Input)DomainRangeF輸入定義域測(cè)試應(yīng)把需求規(guī)格說明中對(duì)輸入和對(duì)輸出的要求區(qū)別開來并加以分解2.2.1邊界值分析法邊界值產(chǎn)生的原因從長(zhǎng)期的測(cè)試工作經(jīng)驗(yàn)知,由于在軟件設(shè)計(jì)和程序編寫中,常對(duì)規(guī)格說明中的輸入或輸出域邊界不注意,導(dǎo)致大量錯(cuò)誤發(fā)生在輸入或輸出范圍的邊界上,而非輸入或輸出范圍的內(nèi)部。設(shè)計(jì)測(cè)試用例時(shí),對(duì)邊界附近的處理必須給予足夠重視,為檢驗(yàn)邊界附件的處理專門設(shè)計(jì)測(cè)試用例??扇〉昧己玫臏y(cè)試效果?;舅枷耄哼x擇輸入或輸出變量的極值、略低于或略高于極值設(shè)計(jì)測(cè)試用例。沈陽師范大學(xué)軟件學(xué)院52.2.1邊界值分析法邊界選擇的原則輸入條件規(guī)定了取值范圍,則以該范圍作為邊界輸入條件規(guī)定了值的個(gè)數(shù),則以之為邊界;針對(duì)規(guī)格說明的每個(gè)輸出條件,使用前面的原則(1)和(2);如果規(guī)格說明給出的輸入或輸出域是有序集合(如有序表、順序文件等),則選取集合中特定次序的元素作為邊界,如第一個(gè)、最后一個(gè)元素等;如果程序中使用了一個(gè)內(nèi)部數(shù)據(jù)結(jié)構(gòu),則應(yīng)選擇該結(jié)構(gòu)的邊界上的值,如數(shù)組、鏈表等;分析規(guī)格說明,找出其它可能邊界條件。
6沈陽師范大學(xué)軟件學(xué)院2.2.1邊界值分析法常見的邊界值對(duì)16-bit的整數(shù)而言32767和-32768是邊界屏幕上光標(biāo)在最左上、最右下位置報(bào)表的第一行和最后一行數(shù)組元素的第一個(gè)和最后一個(gè)循環(huán)的第0次、第1次和倒數(shù)第2次、最后一次沈陽師范大學(xué)軟件學(xué)院72.2.1邊界值分析法例題測(cè)試計(jì)算平方根的函數(shù)
——輸入:實(shí)數(shù)
——輸出:實(shí)數(shù)
——規(guī)格說明:當(dāng)輸入一個(gè)0或比0大的數(shù)的時(shí)候,返回其正平方根;當(dāng)輸入一個(gè)小于0的數(shù)時(shí),顯示錯(cuò)誤信息“平方根非法-輸入值小于0”并返回0;庫函數(shù)Print-Line可以用來輸出錯(cuò)誤信息。沈陽師范大學(xué)軟件學(xué)院82.2.1邊界值分析法解題可以考慮作出如下劃分:輸入(i)<0和(ii)>=0輸出(a)>=0和(b)Error測(cè)試用例有兩個(gè):輸入4,輸出2。對(duì)應(yīng)于(ii)和(a)。輸入-10,輸出錯(cuò)誤提示。對(duì)應(yīng)于(i)和(b)。沈陽師范大學(xué)軟件學(xué)院92.2.1邊界值分析法邊界值分析:劃分(ii)的邊界為0和最大正實(shí)數(shù);劃分(i)的邊界為最小負(fù)實(shí)數(shù)和0;由此得到以下測(cè)試用例:輸入{最小負(fù)實(shí)數(shù)}輸入{絕對(duì)值很小的負(fù)數(shù)}輸入0
輸入{絕對(duì)值很小的正數(shù)}
輸入{最大正實(shí)數(shù)}沈陽師范大學(xué)軟件學(xué)院102.2.1邊界值分析法邊界值分析:通常字符情況下,軟件測(cè)試包含的邊界檢驗(yàn)有幾種類型:數(shù)字位置、質(zhì)量、大小、速度、方位、尺寸、空間等相應(yīng)地,以上類型的邊界值應(yīng)該在:最大/最小、首位/末位、上/下、最快/最慢、最高/最低、最短/最長(zhǎng)、空/滿等情況下。沈陽師范大學(xué)軟件學(xué)院112.2.1邊界值分析法邊界值分析:
在多數(shù)情況下,邊界值條件是基于應(yīng)用程序的功能設(shè)計(jì)而需要考慮的因素,可以從軟件的規(guī)格說明或常識(shí)中得到,也是最終用戶可以很容易發(fā)現(xiàn)問題的。然而,在測(cè)試用例設(shè)計(jì)過程中,某些邊界值條件是不需要呈現(xiàn)給用戶的,或者說用戶是很難注意到的,但同時(shí)確實(shí)屬于檢驗(yàn)范疇內(nèi)的邊界條件,稱為內(nèi)部邊界值條件或子邊界值條件。沈陽師范大學(xué)軟件學(xué)院122.2.1邊界值分析法內(nèi)部邊界值條件主要有下面幾種:數(shù)值的邊界值檢驗(yàn)字符的邊界值檢驗(yàn)其它邊界值檢驗(yàn)沈陽師范大學(xué)軟件學(xué)院132.2.1邊界值分析法數(shù)值的邊界值檢驗(yàn):
計(jì)算機(jī)是基于二進(jìn)制進(jìn)行工作的,因此,軟件的任何數(shù)值運(yùn)算都有一定的范圍限制。沈陽師范大學(xué)軟件學(xué)院142.2.1邊界值分析法字符的邊界值檢驗(yàn):在字符的編碼方式中,ASCII和Unicode是比較常見的編碼方式,下面表中列出了部分的ASCII碼對(duì)應(yīng)表。沈陽師范大學(xué)軟件學(xué)院152.2.1邊界值分析法沈陽師范大學(xué)軟件學(xué)院16字符ASCII值字符ASCII值Null0B66Space32Z90/47[91048‘96149a97957b98:58y121@64z122A65{1232.2.1邊界值分析法其它邊界值檢驗(yàn):
包括默認(rèn)值/空值/空格/未輸入值/零、無效數(shù)據(jù)/不正確數(shù)據(jù)和干擾數(shù)據(jù)等。在實(shí)際的測(cè)試用例設(shè)計(jì)中,需要將基本的軟件設(shè)計(jì)要求和程序定義的要求結(jié)合起來,即結(jié)合基本邊界值條件和子邊界值條件來設(shè)計(jì)有效的測(cè)試用例。沈陽師范大學(xué)軟件學(xué)院172.2.1邊界值分析法邊界值測(cè)試方法:故障往往出現(xiàn)在輸入變量的邊界值附近。利用輸入變量的最小值(min) 略大于最小值(min+)、 輸入值域內(nèi)的任意值(nom)、 略小于最大值(max-)和 最大值(max)來設(shè)計(jì)測(cè)試用例。沈陽師范大學(xué)軟件學(xué)院182.2.1邊界值分析法邊界值測(cè)試方法:沈陽師范大學(xué)軟件學(xué)院19邊界值分析測(cè)試用例2.2.1邊界值分析法邊界值測(cè)試方法:
邊界值分析法是基于可靠性理論中稱為“單故障”的假設(shè),即有兩個(gè)或兩個(gè)以上故障同時(shí)出現(xiàn)而導(dǎo)致軟件失效的情況很少,也就是說,軟件失效基本上是由單故障引起的。因此,在邊界值分析法中獲取測(cè)試用例的方法是:每次保留程序中一個(gè)變量,讓其余的變量取正常值,被保留的變量依次取min、min+、nom、max-和max。
對(duì)程序中的每個(gè)變量重復(fù)(1)。沈陽師范大學(xué)軟件學(xué)院202.2.1邊界值分析法例題:有二元函數(shù)f(x,y),其中x∈[1,12],y∈[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è)試用例。沈陽師范大學(xué)軟件學(xué)院212.2.1邊界值分析法練習(xí):有函數(shù)f(x,y,z),其中x∈[1900,2100],y∈[1,12],z∈[1,31]的。請(qǐng)寫出該函數(shù)采用邊界值分析法設(shè)計(jì)的測(cè)試用例。沈陽師范大學(xué)軟件學(xué)院222.2.1邊界值分析法解答:
<2000,6,1>,<2000,6,2>,<2000,6,30>,<2000,6,31>;<2000,1,15>,<2000,2,15>,<2000,11,15>,<2000,12,15>,
<1900,6,15>,<1901,6,15>,<2099,6,15>,<2100,6,15>,
<2000,6,15>沈陽師范大學(xué)軟件學(xué)院232.2.1邊界值分析法健壯性測(cè)試:
健壯性測(cè)試是作為邊界值分析的一個(gè)簡(jiǎn)單的擴(kuò)充,它除了對(duì)變量的5個(gè)邊界值分析取值外,還需要增加一個(gè)略大于最大值(max+)以及略小于最小值(min-)的取值,檢查超過極限值時(shí)系統(tǒng)的情況。因此,對(duì)于有n個(gè)變量的函數(shù)采用健壯性測(cè)試需要6n+1個(gè)測(cè)試用例。沈陽師范大學(xué)軟件學(xué)院242.2.1邊界值分析法健壯性測(cè)試:
沈陽師范大學(xué)軟件學(xué)院25健壯性邊界值測(cè)試用例2.2.2等價(jià)類分析法等價(jià)類產(chǎn)生的原因:基本思想:把程序的輸入域劃分成若干部分,然后從每個(gè)部分中選取少數(shù)代表性數(shù)據(jù)當(dāng)作測(cè)試用例,每一類的代表性數(shù)據(jù)在測(cè)試中的作用等價(jià)于這一類中的其它值。
沈陽師范大學(xué)軟件學(xué)院26劃分1234選擇代表元素輸入域互不相交的子集子集的并是整個(gè)集合完備性無冗余2.2.2等價(jià)類分析法等價(jià)類定義
由于不可能用所有可以輸入的數(shù)據(jù)來測(cè)試程序,而只能從全部可供輸入的數(shù)據(jù)中選擇一個(gè)自己進(jìn)行測(cè)試。如何選擇適當(dāng)?shù)淖蛹蛊浔M可能多地發(fā)現(xiàn)錯(cuò)誤,解決的辦法之一就是等價(jià)類。沈陽師范大學(xué)軟件學(xué)院272.2.2等價(jià)類分析法劃分
等價(jià)類劃分法是一種典型的、重要的黑盒測(cè)試方法,它將程序所有可能的輸入數(shù)據(jù)(有效的和無效的)劃分成若干個(gè)等價(jià)類。然后從每個(gè)部分中選取具有代表性的數(shù)據(jù)當(dāng)做測(cè)試用例進(jìn)行合理的分類,測(cè)試用例由有效等價(jià)類和無效等價(jià)類的代表組成,從而保證測(cè)試用例具有完整性和代表性。沈陽師范大學(xué)軟件學(xué)院282.2.2等價(jià)類分析法等價(jià)類劃分的步驟通過分析需求規(guī)格說明,劃分等價(jià)類,列出等價(jià)類表設(shè)計(jì)測(cè)試用例沈陽師范大學(xué)軟件學(xué)院292.2.2等價(jià)類分析法有效等價(jià)類/無效等價(jià)類有效等價(jià)類:對(duì)于程序的規(guī)格說明而言,是合理的、有意義的輸入數(shù)據(jù)構(gòu)成的集合用于檢驗(yàn)程序是否實(shí)現(xiàn)了規(guī)格說明預(yù)先規(guī)定的性能和性能無效等價(jià)類:對(duì)于程序的規(guī)格說明而言,是不合理的、無意義的輸入數(shù)據(jù)構(gòu)成的集合用于檢查程序中功能和性能的實(shí)現(xiàn)是否不符合規(guī)格說明要求沈陽師范大學(xué)軟件學(xué)院302.2.2等價(jià)類分析法例題
在程序的規(guī)格說明中,對(duì)輸入條件有一句話:“……項(xiàng)數(shù)可以從1到999……”有效等價(jià)類是“1≤項(xiàng)數(shù)≤999”兩個(gè)無效等價(jià)類是“項(xiàng)數(shù)<1”或“項(xiàng)數(shù)>999”。在數(shù)軸上表示成:沈陽師范大學(xué)軟件學(xué)院311999x有效等價(jià)類無效等價(jià)類無效等價(jià)類2.2.2等價(jià)類分析法測(cè)試用例的設(shè)計(jì)為每個(gè)等價(jià)類規(guī)定一個(gè)唯一的編號(hào);設(shè)計(jì)一個(gè)新的測(cè)試用例,使之盡可能多地覆蓋尚未被覆蓋的有效等價(jià)類,重復(fù)這一步直至所有的有效等價(jià)類都被覆蓋為止;設(shè)計(jì)一個(gè)新的測(cè)試用例,使其僅覆蓋一個(gè)尚未被覆蓋的無效等價(jià)類,重復(fù)這一步直至所有的無效等價(jià)類都被覆蓋為止。沈陽師范大學(xué)軟件學(xué)院322.2.2等價(jià)類分析法例題
某報(bào)表處理系統(tǒng)要求用戶輸入處理報(bào)表的日期,日期限制在2001年1月至2005年12月,即系統(tǒng)只能對(duì)該段期間內(nèi)的報(bào)表進(jìn)行處理,如日期不在此范圍內(nèi),則顯示輸入錯(cuò)誤信息。系統(tǒng)日期規(guī)定由年、月的6位數(shù)字字符組成,前四位代表年,后兩位代表月。如何用等價(jià)類劃分法設(shè)計(jì)測(cè)試用例,來測(cè)試程序的日期檢查功能?沈陽師范大學(xué)軟件學(xué)院332.2.2等價(jià)類分析法解答第一步:等價(jià)類劃分
“報(bào)表日期”輸入條件的等價(jià)類表沈陽師范大學(xué)軟件學(xué)院342.2.2等價(jià)類分析法解答第二步:為有效等價(jià)類設(shè)計(jì)測(cè)試用例對(duì)表中編號(hào)為1,2,3的3個(gè)有效等價(jià)類用一個(gè)測(cè)試用例覆蓋:沈陽師范大學(xué)軟件學(xué)院352.2.2等價(jià)類分析法解答第三步:為每一個(gè)無效等價(jià)類設(shè)計(jì)至少一個(gè)測(cè)試用例沈陽師范大學(xué)軟件學(xué)院362.2.2等價(jià)類分析法習(xí)題一
某程序規(guī)定:“輸入三個(gè)整數(shù)作為三邊的邊長(zhǎng)構(gòu)成三角形。當(dāng)此三角形為一般三角形、等腰三角形及等邊三角形時(shí),分別做計(jì)算...”。試用等價(jià)類劃分方法為該程序的構(gòu)成三角形部分進(jìn)行測(cè)試用例設(shè)計(jì)。沈陽師范大學(xué)軟件學(xué)院37習(xí)題二某城市的電話號(hào)碼由三部分組成。這三部分的名稱和內(nèi)容分別是地區(qū)碼:空白或三位數(shù)字;前綴:非’0’或’1’開頭的三位數(shù);后綴:四位數(shù)字。假定被調(diào)試的程序能接受一切符合上述規(guī)定的電話號(hào)碼,拒絕所有不符合規(guī)定的號(hào)碼,試用等價(jià)分類法來設(shè)計(jì)它的調(diào)試用例。沈陽師范大學(xué)軟件學(xué)院382.2.2等價(jià)類分析法習(xí)題使用等價(jià)類劃分方法必須仔細(xì)分析和推敲題目所給出的要求。本題的輸人條件要求的關(guān)鍵之處有:
1)整數(shù);
2)三個(gè)數(shù);
3)非零數(shù);
4)正數(shù);輸出條件要求的關(guān)鍵之處有:5)應(yīng)滿足兩邊長(zhǎng)之和大于第三邊邊長(zhǎng);
6)等腰;
7)等邊;其中,3)、4)和5)并沒有在題目上明顯給出,但這些條件是必要的。
沈陽師范大學(xué)軟件學(xué)院392.2.2等價(jià)類分析法解答以下分兩步進(jìn)行:(1)列出等價(jià)類表(表中號(hào)碼為等價(jià)類編號(hào))(2)列出覆蓋上述等價(jià)類的測(cè)試用例
沈陽師范大學(xué)軟件學(xué)院402.2.2等價(jià)類分析法解答列出等價(jià)類表
沈陽師范大學(xué)軟件學(xué)院41有效等價(jià)類無效等價(jià)類輸入?yún)?shù)個(gè)數(shù)3(1)>3(2);<3(3)輸入?yún)?shù)類型整數(shù)(4)非整數(shù)(5)輸入?yún)?shù)范圍>0(6)<=0(7)是否構(gòu)成三角形兩邊之和大于第三邊(8)兩邊之和小于或等于第三邊(9)三角形類型等腰三角形(10)等邊三角形(11)三邊不等三角形(12)2.2.2等價(jià)類分析法解答設(shè)計(jì)測(cè)試用例覆蓋等價(jià)類
沈陽師范大學(xué)軟件學(xué)院42序號(hào)輸入?yún)?shù)覆蓋等價(jià)類12,3,4(1),(4),(6),(8),(12)23,3,4(1),(4),(6),(8),(10)33,3,3(1),(4),(6),(8),(11)42,3,4,5(2)52,3(3)62,3.5,4(5)76,0,6(7)85,1,6(9)2.2.3因果圖分析法因果法(Cause/EffectGraphing)簡(jiǎn)介因果圖法產(chǎn)生的背景:等價(jià)類劃分法和邊界值分析方法都是著重考慮輸入條件,但沒有考慮輸入條件的各種組合、輸入條件之間的相互制約關(guān)系。這樣雖然各種輸入條件可能出錯(cuò)的情況已經(jīng)測(cè)試到了,但多個(gè)輸入條件組合起來可能出錯(cuò)的情況卻被忽視了。
沈陽師范大學(xué)軟件學(xué)院432.2.3因果圖分析法因果法(Cause/EffectGraphing)簡(jiǎn)介如果在測(cè)試時(shí)必須考慮輸入條件的各種組合,則可能的組合數(shù)目將是天文數(shù)字因此必須考慮采用一種適合于描述多種條件的組合、相應(yīng)產(chǎn)生多個(gè)動(dòng)作的形式來進(jìn)行測(cè)試用例的設(shè)計(jì),這就需要利用因果圖(邏輯模型)。沈陽師范大學(xué)軟件學(xué)院442.2.3因果圖分析法因果法(Cause/EffectGraphing)簡(jiǎn)介思想:一些程序的功能可以用判定表的形式來表示并根據(jù)輸入條件的組合情況規(guī)定相應(yīng)的操作為判定表中的每一列設(shè)計(jì)一個(gè)測(cè)試用例,測(cè)試程序在輸入條件的某種組合下的輸出是否正確
沈陽師范大學(xué)軟件學(xué)院452.2.3因果圖分析法因果法(Cause/EffectGraphing)簡(jiǎn)介定義:是一種利用圖解法分析輸入的各種組合情況,從而設(shè)計(jì)測(cè)試用例的方法,它適合于檢查程序輸入條件的各種組合情況。因果圖法也是一種黑盒測(cè)試技術(shù),但是不如等價(jià)類、邊界值那樣常用因果圖法比較適合輸入條件較多的情況,測(cè)試所有的輸入條件的排列組合
沈陽師范大學(xué)軟件學(xué)院462.2.3因果圖分析法案例獎(jiǎng)金計(jì)算軟件:該軟件可以計(jì)算某公司的年終獎(jiǎng),該公司員工分為普通員工和管理人員;員工表現(xiàn)分為普通、優(yōu)秀和特殊貢獻(xiàn)(普通、優(yōu)秀員工都可以有特殊貢獻(xiàn),不同組合所得工資是不同的)根據(jù)員工的分類和表現(xiàn),將獎(jiǎng)金分為1類獎(jiǎng)金,2類獎(jiǎng)金,......
沈陽師范大學(xué)軟件學(xué)院472.2.3因果圖分析法案例獎(jiǎng)金計(jì)算軟件:使用該軟件時(shí),輸入員工的種類和表現(xiàn),就會(huì)輸出相應(yīng)的獎(jiǎng)金類別。請(qǐng)為該軟件設(shè)計(jì)測(cè)試用例這道題概括比較籠統(tǒng),不涉及具體細(xì)節(jié),只是一個(gè)總體的框架。
沈陽師范大學(xué)軟件學(xué)院482.2.3因果圖分析法案例找到所有的輸入條件(原因)和輸出條件(結(jié)果),并為其編號(hào):輸入條件員工類別:普通員工A1、管理人員A2員工表現(xiàn):普通B1、優(yōu)秀B2、特殊貢獻(xiàn)B3輸出條件獎(jiǎng)金類別:1類獎(jiǎng)金C1、2類獎(jiǎng)金C2......
沈陽師范大學(xué)軟件學(xué)院492.2.3因果圖分析法案例
分析輸入條件之間的關(guān)系,根據(jù)需求我們知道,A1和A2是互斥的(一個(gè)人不可能既是普通員工又是管理人員),B1和B2是互斥的(一個(gè)人不可能既表現(xiàn)普通又表現(xiàn)優(yōu)秀),B1和B3,B2和B3可以同時(shí)滿足。由此分析,我們可以列出所有的輸入條件排列組合:
沈陽師范大學(xué)軟件學(xué)院502.2.3因果圖分析法案例普通員工A1+B1C1A1+B2C2A1+B1+B3C3A1+B2+B3C4管理員工A2+B1
C5A2+B2C6A2+B1+B3C7A2+B2+B3C8
沈陽師范大學(xué)軟件學(xué)院512.2.3因果圖分析法因果圖的基本符號(hào):簡(jiǎn)單邏輯符號(hào),直線連接左右節(jié)點(diǎn)通常情況下,左部的圓中寫原因,右部的圓中寫結(jié)果兩個(gè)圓中間以直線連接,連接線上再加符號(hào)表示因與果的不同關(guān)系ci表示原因;ei表示結(jié)果各結(jié)點(diǎn)表示狀態(tài),可取值“0”或“1”?!?”表示某狀態(tài)不出現(xiàn),“1”表示某狀態(tài)出現(xiàn),有以下四種邏輯關(guān)系
沈陽師范大學(xué)軟件學(xué)院522.2.3因果圖分析法因果圖的基本符號(hào):
沈陽師范大學(xué)軟件學(xué)院532.2.3因果圖分析法原因與原因之間,結(jié)果與結(jié)果之間可能存在的約束條件:
沈陽師范大學(xué)軟件學(xué)院54a,b,c原因至少有一個(gè)必須成立a,b原因中必須且僅有一個(gè)成立當(dāng)a出現(xiàn),b也必須出現(xiàn)當(dāng)a為1時(shí),b必須為0,當(dāng)a為0時(shí),b的值不定a,b原因不會(huì)同時(shí)成立,最多有一個(gè)成立2.2.3因果圖分析法因果圖法最終生成的是判定表。利用因果圖生成測(cè)試用例的基本步驟如下:
(1)分析軟件規(guī)格說明中哪些是原因(即輸入條件或輸入條件的等價(jià)類),哪些是結(jié)果(即輸出條件),并給每個(gè)原因和結(jié)果賦予一個(gè)標(biāo)識(shí)符。(2)分析軟件規(guī)格說明中的語義,找出原因與結(jié)果之間、原因與原因之間對(duì)應(yīng)的關(guān)系,根據(jù)這些關(guān)系畫出因果圖。沈陽師范大學(xué)軟件學(xué)院552.2.3因果圖分析法
(3)由于語法或環(huán)境的限制,有些原因與原因之間、原因與結(jié)果之間的組合情況不可能出現(xiàn)。為表明這些特殊情況,在因果圖上用一些記號(hào)表明約束或限制條件。(4)把因果圖轉(zhuǎn)換為決策表。(5)根據(jù)決策表中的每一列設(shè)計(jì)測(cè)試用例。沈陽師范大學(xué)軟件學(xué)院562.2.3因果圖分析法使用因果圖法的優(yōu)點(diǎn):
(1)考慮到了輸入情況的各種組合以及各個(gè)輸入情況之間的相互制約關(guān)系。
(2)能夠幫助測(cè)試人員按照一定的步驟,高效率的開發(fā)測(cè)試用例。
(3)因果圖法是將自然語言規(guī)格說明轉(zhuǎn)化成形式語言規(guī)格說明的一種嚴(yán)格的方法,可以指出規(guī)格說明存在的不完整性和二義性。沈陽師范大學(xué)軟件學(xué)院572.2.3因果圖分析法因果圖法應(yīng)用
例子:某軟件規(guī)格說明要求:第一個(gè)字符必須是#或*第二個(gè)字符必須是一個(gè)數(shù)字,在此情況下進(jìn)行文件的修改如果第一個(gè)字符不是#或*,則給出信息N如果第二個(gè)字符不是數(shù)字,則給出信息M沈陽師范大學(xué)軟件學(xué)院582.2.3因果圖分析法例題分析:原因:c1—第一個(gè)字符是#c2—第一個(gè)字符是*c3—第二個(gè)字符是一個(gè)數(shù)字結(jié)果:e1—給出信息Ne2—修改文件e3—給出信息M沈陽師范大學(xué)軟件學(xué)院592.2.3因果圖分析法沈陽師范大學(xué)軟件學(xué)院60例題分析:
因果圖表示2.2.3因果圖分析法沈陽師范大學(xué)軟件學(xué)院61例題分析:
因果圖表示2.2.3因果圖分析法沈陽師范大學(xué)軟件學(xué)院62例題分析:
根據(jù)因果圖建立判定表2.2.3因果圖分析法沈陽師范大學(xué)軟件學(xué)院63練習(xí):如圖所示,一個(gè)網(wǎng)絡(luò)登錄對(duì)話框用于向服務(wù)器進(jìn)行登錄操作2.2.3因果圖分析法沈陽師范大學(xué)軟件學(xué)院64說明:Username只能包含字母和數(shù)字Password可以包含任何字符兩者都不能為空如果兩者為空或不合法輸入,不執(zhí)行登錄并提示輸入錯(cuò)誤信息如果兩者都不合法,則只提示Username的錯(cuò)誤信息如果兩者輸入都合法,執(zhí)行登錄操作,并顯示從服務(wù)器可能返回的3種提示信息之一Username不存在Password錯(cuò)誤登錄成功2.2.3因果圖分析法沈陽師范大學(xué)軟件學(xué)院65假設(shè)我們已經(jīng)對(duì)登錄對(duì)話框里限制了用戶名和密碼的最大長(zhǎng)度,測(cè)試時(shí)可以不考慮超長(zhǎng)字符串的情況.試為用戶名和密碼的各種組合設(shè)計(jì)測(cè)試用例.2.2.3因果圖分析法沈陽師范大學(xué)軟件學(xué)院66分析找出原因輸入的用戶名為空;輸入的用戶名包含非字母非數(shù)字字符;輸入的用戶名在服務(wù)器上存在;輸入的密碼為空;輸入錯(cuò)誤的密碼;輸入正確的密碼.2.2.3因果圖分析法沈陽師范大學(xué)軟件學(xué)院67分析找出可能的結(jié)果不執(zhí)行登錄并提示用戶名不能為空;不執(zhí)行登錄并提示用戶名不能包含非字母非數(shù)字的非法字符;不執(zhí)行登錄并提示密碼不能為空;執(zhí)行登錄并提示用戶名在服務(wù)器上不存在;執(zhí)行登錄并提示密碼錯(cuò)誤;執(zhí)行登錄并提示登錄成功.2.2.3因果圖分析法沈陽師范大學(xué)軟件學(xué)院68分析2.2.3因果圖分析法沈陽師范大學(xué)軟件學(xué)院69進(jìn)一步分析由畫出的因果圖,我們看到輸入間有約束關(guān)系C1,C2,C3之間是異的約束關(guān)系C4,C5,C6之間是唯一的約束關(guān)系統(tǒng)計(jì)最后幾種組合?轉(zhuǎn)化為判定表2.2.3因果圖分析法沈陽師范大學(xué)軟件學(xué)院70進(jìn)一步分析2.2.3因果圖分析法沈陽師范大學(xué)軟件學(xué)院71進(jìn)一步分析2.2.4決策表分析法沈陽師范大學(xué)軟件學(xué)院72因果圖法太麻煩,而且全冗余決策表是功能性測(cè)試方法中最嚴(yán)格的。決策表的完備性保證一種完備的測(cè)試2.2.4決策表分析法沈陽師范大學(xué)軟件學(xué)院73因果圖法太麻煩,而且全冗余12345678問題你覺得疲倦嗎?YYYYNNNN你對(duì)內(nèi)容感興趣嗎?YYNNYYNN書中的內(nèi)容使你糊涂?YNYNYNYN建議請(qǐng)回到本章開頭重讀××繼續(xù)讀下去××跳到下一章去讀××停止閱讀,請(qǐng)休息××ConditionStub:列出問題的所有條件ConditionEntry:針對(duì)左列條件取值,給出真假值A(chǔ)ctionStub:列出問題規(guī)定可能采取的行動(dòng)ActionEntry:在條件組合下應(yīng)采取的行動(dòng)規(guī)則2.2.4決策表分析法沈陽師范大學(xué)軟件學(xué)院74決策表的化簡(jiǎn)12345678問題你覺得疲倦嗎?YYYYNNNN你對(duì)內(nèi)容感興趣嗎?YYNNYYNN書中的內(nèi)容使你糊涂嗎?YNYNYNYN建議請(qǐng)回到本章開頭重讀××繼續(xù)讀下去××跳到下一章去讀××停止閱讀,請(qǐng)休息××YN-×NN-×不關(guān)心條目不關(guān)心條目對(duì)完整決策樹的識(shí)別有微妙影響。2.2.4決策表分析法沈陽師范大學(xué)軟件學(xué)院75決策表的化簡(jiǎn)有限條目決策表——所有條件都是二叉條件條件的順序沒有要求若有n個(gè)條件,必須有(2n)條規(guī)則,每條規(guī)則對(duì)應(yīng)一個(gè)測(cè)試用例。若存在不關(guān)心項(xiàng),則規(guī)則中每出現(xiàn)一個(gè)不關(guān)心項(xiàng),規(guī)則數(shù)乘1次2。通過增加行動(dòng),可顯示何時(shí)規(guī)則在邏輯上不可能滿足通過條件選擇,可大大擴(kuò)展決策表的規(guī)模擴(kuò)展條目決策表——條件可以有多個(gè)值若條件引用了等價(jià)類,則“—”的實(shí)際含義為:“必須失敗”2.2.4決策表分析法沈陽師范大學(xué)軟件學(xué)院76決策表組成:條件樁—列出問題的所有條件條件項(xiàng)—針對(duì)條件樁給出的條件列出所有可能的取值動(dòng)作樁—列出問題規(guī)定的可能采取的操作動(dòng)作項(xiàng)—指出在條件項(xiàng)的各組取值情況下應(yīng)采取的動(dòng)作規(guī)則:任何一個(gè)條件組合的特定取值及其相應(yīng)要執(zhí)行的操作稱為規(guī)則2.2.4決策表分析法沈陽師范大學(xué)軟件學(xué)院77構(gòu)造決策表2.2.4決策表分析法沈陽師范大學(xué)軟件學(xué)院78構(gòu)造決策表(1)列出所有的條件樁和動(dòng)作樁。
(2)確定規(guī)則的個(gè)數(shù)。
有n個(gè)條件的決策表有2n個(gè)規(guī)則(每個(gè)條件取真、假值)。
(3)填入條件項(xiàng)。
(4)填入動(dòng)作項(xiàng),得到初始決策表。
(5)簡(jiǎn)化決策表,合并相似規(guī)則。2.2.4決策表分析法沈陽師范大學(xué)軟件學(xué)院79決策表應(yīng)用實(shí)例對(duì)功率大于100馬力的機(jī)器、維修記錄不全或已經(jīng)運(yùn)行10年以上的機(jī)器,應(yīng)給予優(yōu)先的維修處理.2.2.4決策表分析法沈陽師范大學(xué)軟件學(xué)院80決策表應(yīng)用實(shí)例分析這里隱含的條件是什么?機(jī)器功率大小維修記錄運(yùn)行時(shí)間對(duì)應(yīng)的可能動(dòng)作是什么?優(yōu)先維修正常維修.——條件樁——?jiǎng)幼鳂?.2.4決策表分析法沈陽師范大學(xué)軟件學(xué)院81決策表應(yīng)用實(shí)例列出條件項(xiàng)每個(gè)條件的值分別取“是(1)”和“否(0)”組合條件項(xiàng)的值填上動(dòng)作項(xiàng)根據(jù)組合條件項(xiàng)的值,填寫對(duì)應(yīng)的動(dòng)作項(xiàng)形成初步判定表.2.2.4決策表分析法沈陽師范大學(xué)軟件學(xué)院82決策表應(yīng)用實(shí)例2.2.4決策表分析法沈陽師范大學(xué)軟件學(xué)院83化簡(jiǎn)后決策表2.2.4決策表分析法沈陽師范大學(xué)軟件學(xué)院84化簡(jiǎn)后決策表2.2.4決策表分析法沈陽師范大學(xué)軟件學(xué)院85練習(xí)三角形問題輸出的等價(jià)類R1={<a,b,c>|有三條邊a,b,c的等邊三角形}R2={<a,b,c>|有三條邊a,b,c的等腰三角形}R3={<a,b,c>|有三條邊a,b,c的不等邊三角形}R4={<a,b,c>|三條邊a,b,c不構(gòu)成三角形}能構(gòu)成三角形?三角形類型?2.2.4決
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 三年級(jí)語文上冊(cè)《一次成功的實(shí)驗(yàn)》教案
- 中國(guó)休閑零食電商行業(yè)市場(chǎng)全景調(diào)研及投資規(guī)劃建議報(bào)告
- 小班語言公開課《圓》活動(dòng)教案
- 大學(xué)生自我介紹范文集合七篇
- 銀行客服工作總結(jié)(15篇)
- 建筑實(shí)習(xí)報(bào)告模板合集七篇
- 乒乓球比賽作文300字匯編十篇
- 消防安全在我心中演講稿5篇
- 后備干部培訓(xùn)心得體會(huì)800字
- 辭職報(bào)告范文匯編15篇
- 孵化器的運(yùn)營(yíng)和服務(wù)模式
- 2024年大學(xué)試題(管理類)-公共部門決策的理論與方法筆試歷年真題薈萃含答案
- 在美術(shù)課堂中融入心理健康教育
- 2024年上海外服招聘筆試參考題庫附帶答案詳解
- 中國(guó)AED布局與投放專家共識(shí)護(hù)理課件
- 無菌注射劑生產(chǎn)線清潔驗(yàn)證方案
- 2024年健康照護(hù)師理論試題
- 2023年線路維護(hù)主管年度總結(jié)及下一年展望
- 2023年意識(shí)形態(tài)工作責(zé)任清單及風(fēng)險(xiǎn)點(diǎn)臺(tái)賬
- 《經(jīng)典動(dòng)畫賞析》課件
- 大學(xué)英語四級(jí)閱讀理解精讀100篇
評(píng)論
0/150
提交評(píng)論