



版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、測(cè)試用例的設(shè)計(jì)方法等價(jià)類劃分方法:一.方法簡(jiǎn)介1. 定義是把所有可能的輸入數(shù)據(jù),即程序的輸入域劃分成若干部分(子集),然后從每一個(gè)子集中選取少數(shù)具有代表性的數(shù)據(jù)作為測(cè)試用例。該方法是一種重要的,常用的黑盒測(cè)試用例設(shè)計(jì)方法。2. 劃分等價(jià)類:等價(jià)類是指某個(gè)輸入域的子集合。在該子集合中,各個(gè)輸入數(shù)據(jù)對(duì)于揭露程序中的錯(cuò)誤都是等效的,并合理地假定:測(cè)試某等價(jià)類的代表值就等于對(duì)這一類其它值的測(cè)試,因此,可以把全部輸入數(shù)據(jù)合理劃分為若干等價(jià)類,在每一個(gè)等價(jià)類中取一個(gè)數(shù)據(jù)作為測(cè)試的輸入條件就可以用少量代表性的測(cè)試數(shù)據(jù)取得較好的測(cè)試結(jié)果。 等價(jià)類劃分可有兩種不同的情況: 有效等價(jià)類和無效等價(jià)類。1)有效等價(jià)類
2、是指對(duì)于程序的規(guī)格說明來說是合理的、有意義的輸入數(shù)據(jù)構(gòu)成的集合。利用有效等價(jià)類可現(xiàn)了規(guī)格說明中所規(guī)定的功能和性能。檢驗(yàn)程序是否實(shí)2)無效等價(jià)類與有效等價(jià)類的定義恰巧相反。無效等價(jià)類指對(duì)程序的規(guī)格說明是不合理的或無意義的輸入合。對(duì)于具體的問題,無效等價(jià)類至少應(yīng)有一個(gè),也可能有多個(gè)。數(shù)據(jù)所構(gòu)成的集設(shè)計(jì)測(cè)試用例時(shí) ,要同時(shí)考慮這兩種等價(jià)類。因?yàn)檐浖粌H要能接收合理的數(shù)據(jù)外的考驗(yàn),這樣的測(cè)試才能確保軟件具有更高的可靠性。,也要能經(jīng)受意3. 劃分等價(jià)類的標(biāo)準(zhǔn):1)完備測(cè)試、避免冗余 ;2)戈愴等價(jià)類重要的是:集合的劃分,戈y 分為互不相交的一組子集,而子集的并是整個(gè)集合;3)并是整個(gè)集合:完備性 ;4)
3、子集互不相交:保證一種形式的無冗余性;5)同一類中標(biāo)識(shí)(選擇)一個(gè)測(cè)試用例,同一等價(jià)類中,往往處理相同,相同處理映射到同的執(zhí)行路徑 “?!毕?. 劃分等價(jià)類的方法1)在輸入條件規(guī)定了取值范圍或值的個(gè)數(shù)的情況下價(jià)類。如:輸入值是學(xué)生成績(jī),范圍是0? 100 ;,則可以確立一個(gè)有效等價(jià)類和兩個(gè)無效等叮叮小文庫(kù)2)在輸入條件規(guī)定了輸入值的集合或者規(guī)定了 "必須如何 "的條件的情況下 ,可確 立一個(gè)有效等價(jià)類和一個(gè)無效等價(jià)類;3) 在輸入條件是一個(gè)布爾量的情況下 ,可確定一個(gè)有效等價(jià)類和一個(gè)無效等價(jià)類。4) 在規(guī)定了輸入數(shù)據(jù)的一組值(假定 n 個(gè)) ,并且程序要對(duì)每一個(gè)輸入值分別
4、處理的情況下 ,可確立 n 個(gè)有效等價(jià)類和一個(gè)無效等價(jià)類。例:輸入條件說明學(xué)歷可為 :??啤⒈究?、碩士、博士四種之一,則分別取這 四種這四個(gè)值作為四個(gè)有效等價(jià)類,另外把四種學(xué)歷之外的任何學(xué)歷作為無效等價(jià)類。5)在規(guī)定了輸入數(shù)據(jù)必須遵守的規(guī)則的情況下,可確立一個(gè)有效等價(jià)類(符合規(guī)則)和若干個(gè)無效等價(jià)類(從不同角度違反規(guī)則);6)在確知已劃分的等價(jià)類中各元素在程序處理中的方式不同的情況下,則應(yīng)再將該等價(jià)類進(jìn)一步的劃分為更小的等價(jià)類。5.設(shè)計(jì)測(cè)試用例在確立了等價(jià)類后 ,可建立等價(jià)類表 ,列出所有劃分出的等價(jià)類輸入條件:有效等價(jià)類、無效等價(jià)類,然后從劃分出的等價(jià)類中按以下三個(gè)原則設(shè)計(jì)測(cè)試用例:1)為每
5、一個(gè)等價(jià)類規(guī)定一個(gè)唯一的編號(hào);2)設(shè)計(jì)一個(gè)新的測(cè)試用例 , 使其盡可能多地覆蓋尚未被覆蓋地有效等價(jià)類,重 復(fù)這一步,直到所有的有效等價(jià)類都被覆蓋為止;3)設(shè)計(jì)一個(gè)新的測(cè)試用例 , 使其僅覆蓋一個(gè)尚未被覆蓋的無效等價(jià)類,重復(fù)這 一步,直到所有的無效等價(jià)類都被覆蓋為止。二.實(shí)戰(zhàn)演習(xí)1. 某程序規(guī)定: "輸入三個(gè)整數(shù) a、b、c 分別作為三邊的邊長(zhǎng)構(gòu)成三角形。通過程序判定所構(gòu)成的三角形的類型,當(dāng)此三角形為一般三角形、等腰三角形及等邊三角形時(shí),分別作計(jì)算"。用等價(jià)類劃分方法為該程序進(jìn)行測(cè)試用例設(shè)計(jì)。(三角形問題的復(fù)雜之處在于輸入與輸出之間的關(guān)系比較復(fù)雜。)分析題目中給出和隱含的對(duì)輸
6、入條件的要求:(1)整數(shù)(2 )三個(gè)數(shù)(3)非零數(shù)(4)正數(shù)(5)兩邊之和大于第三邊(6)等腰(7 )等邊如果 a、b、c 滿足條件( 1 ) ( 4 ),則輸出下列四種情況之一:1) 如果不滿足條件( 5),則程序輸出為 "非三角形 "。2) 如果三條邊相等即滿足條件(7),則程序輸出為 "等邊三角形 "。3) 如果只有兩條邊相等、即滿足條件(6),則程序輸出為 "等腰三角形 "4) 如果三條邊都不相等,則程序輸出為"一般三角形 "。 列出等價(jià)類表并編號(hào)覆蓋有效等價(jià)類的測(cè)試用例:abc覆蓋等價(jià)類號(hào)碼345(1 )
7、-(7)445(1 )-(7 ),(8)455(1 )-(7 ),(9)545(1 )-(7 ),(10)444(1)-(7),(11)歡迎有需要的朋友下載!2叮叮小文庫(kù)覆蓋無效等價(jià)類的測(cè)試用例:2. 設(shè)有一個(gè)檔案管理系統(tǒng),要求用戶輸入以年月表示的日期。假設(shè)日期限定在1990 年 1 月2049 年 12 月,并規(guī)定日期由6 位數(shù)字字符組成,前4 位表示 年,后 2 位表示月?,F(xiàn)用等價(jià)類劃分法設(shè)計(jì)測(cè)試用例,來測(cè)試程序的 "日期檢查功能 "o1)劃分等價(jià)類并編號(hào) ,下表等價(jià)類劃分的結(jié)果輸入等價(jià)類有效等價(jià)類無效等價(jià)類日期的類型及長(zhǎng)度6 位數(shù)字字符有非數(shù)字字符歡迎有需要的朋友下載
8、!3叮叮小文庫(kù)年份范圍月份范圍少于 6 位數(shù)字字符多于 6 位數(shù)字字符在 19902049之間小于 1990大于 2049在 0112 之間等于 00大于 122)設(shè)計(jì)測(cè)試用例,以便覆蓋所有的有效等價(jià)類在表中列岀3 個(gè)有效等價(jià)類,編號(hào)分別為了、測(cè)試數(shù)據(jù)期望結(jié)果覆蓋的有效等價(jià)類200211輸入有效、3)為每一個(gè)無效等價(jià)類設(shè)計(jì)個(gè)測(cè)試用例,設(shè)計(jì)結(jié)果如下 :一覆蓋的無效等價(jià)類測(cè)試數(shù)據(jù)期望結(jié)果95June無效輸入20036無效輸入2001006無效輸入198912無效輸入200401無效輸入200100無效輸入200113無效輸入3.NextDate函數(shù)包含三個(gè)變量:month 、day 和year ,
9、函數(shù)的輸岀為輸入日期后一天的日期。例如,輸入為2006 年 3月 7 日,則函數(shù)的輸岀為2006 年 3 月 8 日。要求輸入變day量 month 、和 year 均為整數(shù)值,并且滿足下列條件: 1 < mon th < 12 1 < day < 31 1920 < year < 20501)有效等價(jià)類為:M1 = 月份: 1 w 月份 w 12D1 = 日期: 1 w 日期 w 31 Y1 = 年: 1812 w 年 w 2012 2)若條件 中任何一個(gè)條件失效,則NextDate函數(shù)都會(huì)產(chǎn)生一個(gè)輸岀,指明相應(yīng)的變量超岀取值范圍, 比如 "mo
10、nth的值不在 1-12 范圍當(dāng)中"。顯然還存在著大量的year、day的無效組合, NextDate"無效輸入日期I!mon th函數(shù)將這些組合作統(tǒng)的輸出:。其無效等價(jià)類為:M2=月月份 <1M3份:月份 >12=月D2份:日期 <1=日=期:D3日=日期 >31期:Y2 = 年:年 <1812 Y3 = 年:年 >2012 弱一般等價(jià)類測(cè)試用例 月份 日期年6151912預(yù)期輸出1912 年6月 16日歡迎有需要的朋友下載!4叮叮小文庫(kù)強(qiáng)一般等價(jià)類測(cè)試用例同弱一般等價(jià)類測(cè)試用例注:弱 -有單缺陷假設(shè);健壯 -考慮了無效值(一) 弱健壯
11、等價(jià)類測(cè)試用例 ID月份日期年預(yù)期輸出WR161519121912年 6月 16日WR2-1151912月份不在 1? 12中WR313151912月份不在 1? 12中WR46-11912日期不在 1? 31中WR56321912日期不在 1? 31中WR66151811年份不在 1812 ?-2012中WR76152013年份不在 1812 ?-2012中(二)強(qiáng)健壯等價(jià)類測(cè)試用例 ID月份日期年預(yù)期輸出SR1-1151912月份不在 1? 12 中SR26-11912日期不在 1? 31 中SR36151811年份不在 1812 ? 2012 中SR4-1-11912兩個(gè)無效一個(gè)有效SR
12、56-11811兩個(gè)無效一個(gè)有效SR6-1151811兩個(gè)無效一個(gè)有效SR7-1-11811三個(gè)無效4.傭金問題等價(jià)類測(cè)試用例,它是根據(jù)傭金函數(shù)的輸岀值域定義等價(jià)類,來改進(jìn)測(cè)試用例集合。1000 元傭金10%輸岀銷售額1000 銷售額< 1800傭金 =100+(銷售額 -1000)*15%銷售額1800傭金 =220+(銷售額 -1800)*20%測(cè)試用例槍機(jī) (45)槍托 (30)槍管 (25)銷售額傭金1555500502151515150017532525252500360根據(jù)輸出域選擇輸入值,使落在輸出域等價(jià)類內(nèi),可以結(jié)合弱健壯測(cè)試用例結(jié)合。邊界值分析方法 :一.方法簡(jiǎn)介1.定
13、義:邊界值分析法就是對(duì)輸入或輸岀的邊界值進(jìn)行測(cè)試的一種黑盒測(cè)試方法。通常邊界值分析法是作為對(duì)等價(jià)類劃分法的補(bǔ)充,這種情況下,其測(cè)試用例來自等價(jià)類的邊界。2. 與等價(jià)劃分的區(qū)別1) 邊界值分析不是從某等價(jià)類中隨便挑一個(gè)作為代表,而是使這個(gè)等價(jià)類的每個(gè)邊界都要作為測(cè)試條件。2) 邊界值分析不僅考慮輸入條件,還要考慮輸出空間產(chǎn)生的測(cè)試情況。3. 邊界值分析方法的考慮:長(zhǎng)期的測(cè)試工作經(jīng)驗(yàn)告訴我們,大量的錯(cuò)誤是發(fā)生在輸入或輸岀范圍的邊界上,而不是發(fā)生在輸入輸歡迎有需要的朋友下載!5叮叮小文庫(kù)岀范圍的內(nèi)部。因此針對(duì)各種邊界情況設(shè)計(jì)測(cè)試用例,可以查岀更多的錯(cuò)誤。使用邊界值分析方法設(shè)計(jì)測(cè)試用例,首先應(yīng)確定邊界
14、情況。通常輸入和輸岀等價(jià)類的邊界,就是應(yīng)著重測(cè)試的邊界情況。應(yīng)當(dāng)選取正好等于,剛剛大于或剛剛小于邊界的值作為測(cè)試數(shù)據(jù), 而不是選取等價(jià)類中的典型值或任意值作為測(cè)試數(shù)據(jù)。4. 常見的邊界值1)對(duì) 16-bit 的整數(shù)而言 32767 和-32768 是邊界2)屏幕上光標(biāo)在最左上、最右下位置3)報(bào)表的第一行和最后一行4)數(shù)組元素的第一個(gè)和最后一個(gè)5)循環(huán)的第 0 次、第 1 次和倒數(shù)第 2 次、最后一次5. 邊界值分析1)邊界值分析使用與等價(jià)類劃分法相同的劃分,只是邊界值分析假定錯(cuò)誤更多地存在于劃分的邊界上,因此在等價(jià)類的邊界上以及兩側(cè)的情況設(shè)計(jì)測(cè)試用例。例:測(cè)試計(jì)算平方根的函數(shù)-輸入:實(shí)數(shù)-輸出
15、:實(shí)數(shù)-規(guī)格說明:當(dāng)輸入一個(gè)0 或比 0 大的數(shù)的時(shí)候,返回其正平方根;當(dāng)輸入一個(gè)小于0的數(shù)時(shí),顯示錯(cuò)誤信息“平方根非法 -輸入值小于 0"并返回 0 ; 庫(kù)函數(shù) Print-Line 可以用來輸岀錯(cuò)誤信息。2)等價(jià)類劃分:I. 可以考慮作岀如下劃分:a、輸入(i)0 和( ii) =0b、輸岀 =0 和( b) ErrorII. 測(cè)試用例有兩個(gè):a、輸入 4,輸岀 2。對(duì)應(yīng)于 (ii)和(a)。b、輸入 -10 ,輸岀 0 和錯(cuò)誤提示。對(duì)應(yīng)于(i)和(b)。3)邊界值分析:劃分(ii)的邊界為 0 和最大正實(shí)數(shù);劃分 (i)的邊界為最小負(fù)實(shí)數(shù)和0。由此得到以下測(cè)試用例:a、 輸入最
16、小負(fù)實(shí)數(shù) b、 輸入絕對(duì)值很小的負(fù)數(shù) c、 輸入 0d、 輸入絕對(duì)值很小的正數(shù) e、 輸入最大正實(shí)數(shù) 4)通常情況下,軟件測(cè)試所包含的邊界檢驗(yàn)有幾種類型:數(shù)字、字符、位置、重量、大小、速度、方位、尺寸、空間等。5)相應(yīng)地,以上類型的邊界值應(yīng)該在:最大/最小、首位 /末歡迎有需要的朋友下載!6叮叮小文庫(kù)位、上 /下、最快 /最慢、最高 /最低、 最短 /最長(zhǎng)、空/滿等情況下。6)利用邊界值作為測(cè)試數(shù)據(jù)項(xiàng)邊界值測(cè)試用例的設(shè)計(jì)思路歡迎有需要的朋友下載!7叮叮小文庫(kù)字符數(shù)值起始 -1 個(gè)字符 /結(jié)束 +1 個(gè)字 符假設(shè)一個(gè)文本輸入?yún)^(qū)域允許輸入1 個(gè)到 255 個(gè)字符,輸入 1 個(gè)和 255 個(gè)字符作為
17、有效 等價(jià)類;輸入 0 個(gè)和 256 個(gè)字符作為無效等價(jià)類,這幾個(gè)數(shù)值都屬于邊界條件值。最小值 -1/ 最大值 +1假設(shè)某軟件的數(shù)據(jù)輸入域要求輸入5位的數(shù) 據(jù)值,可以使用 10000 作為最小值、 99999 作為最大值;然后使用剛好小于5位和大于 5位的 數(shù)值來作為邊界條件??臻g小于空余空間一點(diǎn)/大于滿空間一例如在用U 盤存儲(chǔ)數(shù)據(jù)時(shí),使用比剩余磁盤空點(diǎn)間大一點(diǎn)(幾KB )的文件作為邊界條件。7)內(nèi)部邊界值分析:在多數(shù)情況下,邊界值條件是基于應(yīng)用程序的功能設(shè)計(jì)而需要考慮的因素, 可以從軟件的規(guī)格說明或常識(shí)中得到, 也是最終用戶可以很容易發(fā)現(xiàn)問題的。 然 而,在測(cè)試用例設(shè)計(jì)過程中,某些邊界值條件
18、是不需要呈現(xiàn)給用戶的, 或者說用 戶是很難注意到的,但同時(shí)確實(shí)屬于檢驗(yàn)范疇內(nèi)的邊界條件, 稱為內(nèi)部邊界值條 件或子邊界值條件。內(nèi)部邊界值條件主要有下面幾種:a)數(shù)值的邊界值檢驗(yàn):計(jì)算機(jī)是基于二進(jìn)制進(jìn)行工作的,因此,軟件的任何數(shù)值運(yùn)算都有一定的范圍限制。項(xiàng)范圍或值位( bit )0或者 1字節(jié)( byte)0 225字( word)065535(單字)或 04294967295(雙字)千( K)1024兆( M)1048576吉( G)1073741824b)字符的邊界值檢驗(yàn):在計(jì)算機(jī)軟件中,字符也是很重要的表示元素,其中 ASCII 和 Unicode 是常見的編碼方式。下表中列出了一些常用字
19、符對(duì)應(yīng)的 ASCII 碼值。字符ASCII 碼值字符ASCII 碼值空( null )0A65空格( space )32a97斜杠(/ )47Z90048z122冒號(hào) (:)58單引號(hào)()9664c)其它邊界值檢驗(yàn)6. 基于邊界值分析方法選擇測(cè)試用例的原則1)如果輸入條件規(guī)定了值的范圍,則應(yīng)取剛達(dá)到這個(gè)范圍的邊界的值,以及剛剛超越這個(gè)范圍邊界的值作為測(cè)試輸入數(shù)據(jù)。例如,如果程序的規(guī)格說明中規(guī)定:“重量在 10 公斤至 50 公斤范圍內(nèi)的郵件,其郵費(fèi)計(jì)算公式為 " 。作為測(cè)試用例,我們應(yīng)取10 及 50,還應(yīng)取 10.01,49.99,9.99及 50.01 等。2)如果輸入條件規(guī)定了
20、值的個(gè)數(shù),則用最大個(gè)數(shù) ,最小個(gè)數(shù) ,比最小個(gè)數(shù)歡迎有需要的朋友下載!8叮叮小文庫(kù)少一,比最大個(gè)數(shù)多一的數(shù)作為測(cè)試數(shù)據(jù)。比如,一個(gè)輸入文件應(yīng)包括1? 255 個(gè)記錄,則測(cè)試用例可取1 和 255,還應(yīng)取 0 及 256等。3)將規(guī)則 1 )和 2 )應(yīng)用于輸岀條件,即設(shè)計(jì)測(cè)試用例使輸岀值達(dá)到邊界值及其左右的值。例如,某程序的規(guī)格說明要求計(jì)算岀“每月保險(xiǎn)金扣除額為0 至 1165.25 元",其測(cè)試用例可取 0.00 及 1165.24 、還可取一0.01 及 1165 .26 等。再如一程序?qū)儆谇閳?bào)檢索系統(tǒng),要求每次“最少顯示 1 條、最多顯示4 條情報(bào)摘要 ",這時(shí)我們應(yīng)
21、考慮的測(cè)試用例包括1和4,還應(yīng)包括 0和 5等。4)如果程序的規(guī)格說明給岀的輸入域或輸岀域是有序集合,則應(yīng)選取集合的第一個(gè)元素和最后一個(gè)元素作為測(cè)試用例。5)如果程序中使用了一個(gè)內(nèi)部數(shù)據(jù)結(jié)構(gòu),則應(yīng)當(dāng)選擇這個(gè)內(nèi)部數(shù)據(jù)結(jié)構(gòu)的邊界上的值作為測(cè)試用例。6)分析規(guī)格說明 ,找岀其它可能的邊界條件。二.實(shí)戰(zhàn)演習(xí)1.現(xiàn)有一個(gè)學(xué)生標(biāo)準(zhǔn)化考試批閱試卷,產(chǎn)生成績(jī)報(bào)告的程序。其規(guī)格說明如下 :程序的輸入文件由一些有 80 個(gè)字符的記錄組成 ,如右圖所示,所有記錄分為3 組:標(biāo)題:這一組只有一個(gè)記錄,其內(nèi)容為輸岀成績(jī)報(bào)告的名字。試卷各題標(biāo)準(zhǔn)答案記錄:每個(gè)記錄均在第80 個(gè)字符處標(biāo)以數(shù)字 "2"。該
22、組的第一個(gè)記錄的第 1 至第 3 個(gè)字符為題目編號(hào)(取值為1 一 999 )。第 10 至第 59 個(gè)字符給岀第 1 至第 50題的答案(每個(gè)合法字符表示一個(gè)答案)。該組的第2,第 3 個(gè)記錄相應(yīng)為第51 至第 100,第 101 至第 150, 題的答案。每個(gè)學(xué)生的答卷描述:該組中每個(gè)記錄的第80 個(gè)字符均為數(shù)字 "3"。每個(gè)學(xué)生的答卷在若干個(gè)記錄中給出。如甲的首記錄第1 至第 9 字符給出學(xué)生姓名及學(xué)號(hào),第 10 至第 59 字符列出的是甲所做的第1 至第 50 題的答案。若試題數(shù)超過50,則第 2,第 3 紀(jì)錄分別給岀他的第51 至第 100 ,第 101 至第 15
23、0 題的解答。然后是學(xué)生乙的答卷記錄。學(xué)生人數(shù)不超過200 ,試題數(shù)不超過999 。程序的輸岀有4 個(gè)報(bào)告:a) 按學(xué)號(hào)排列的成績(jī)單,列岀每個(gè)學(xué)生的成績(jī)、名次。b) 按學(xué)生成績(jī)排序的成績(jī)單。c)平均分?jǐn)?shù)及標(biāo)準(zhǔn)偏差的報(bào)告。d) 試題分析報(bào)告。按試題號(hào)排序,列岀各題學(xué)生答對(duì)的百分比。解答:分別考慮輸入條件和輸出條件,以及邊界條件。給出下表所示的輸入條件及相應(yīng)的測(cè)試用例。輸岀條件及相應(yīng)的測(cè)試用例表。2.三角形問題的邊界值分析測(cè)試用例歡迎有需要的朋友下載!9叮叮小文庫(kù)在三角形問題描述中,除了要求邊長(zhǎng)是整數(shù)外,沒有給岀其它的限制條件。在此,我們將三角形每邊邊長(zhǎng)的取范圍值設(shè)值為1,100 。3.NextD
24、ate函數(shù)的邊界值分析測(cè)試用例在 NextDate 函數(shù)中,隱含規(guī)定了變量mouth 和變量 day 的取值范圍為1 < mouth < 12 和 1 < day < 31,并設(shè)定變量 year 的取值范圍為1912 < year <2050 。錯(cuò)誤推測(cè)方法一.方法簡(jiǎn)介1.定義:基于經(jīng)驗(yàn)和直覺推測(cè)程序中所有可能存在的各種錯(cuò)誤,從而有針對(duì)性的設(shè)計(jì)測(cè)試用例的方法。2.錯(cuò)誤推測(cè)方法的基本思想:列舉岀程序中所有可能有的錯(cuò)誤和容易發(fā)生錯(cuò)誤的特殊情況,根據(jù)他們選擇測(cè)試用例。1)例如,輸入數(shù)據(jù)和輸岀數(shù)據(jù)為0 的情況;輸入表格為空格或輸入表格只有一行。這些都是容易發(fā)生錯(cuò)誤的
25、情況。可選擇這些情況下的例子作為測(cè)試用例。2)例如,前面例子中成績(jī)報(bào)告的程序,采用錯(cuò)誤推測(cè)法還可補(bǔ)充設(shè)計(jì)一些測(cè)試用例:I.程序是否把空格作為回答II.在回答記錄中混有標(biāo)準(zhǔn)答案記錄III.除了標(biāo)題記錄外,還有一些的記錄最后一個(gè)字符即不是2 也不是 3IV.有兩個(gè)學(xué)生的學(xué)號(hào)相同V.試題數(shù)是負(fù)數(shù)。3)再如,測(cè)試一個(gè)對(duì)線性表( 比如數(shù)組 ) 進(jìn)行排序的程序,可推測(cè)列岀以下幾項(xiàng)需要特別測(cè)試的情況:I.輸入的線性表為空表;II.表中只含有一個(gè)元素;III.輸入表中所有元素已排好序;IV.輸入表已按逆序排好;V.輸入表中部分或全部元素相同。二.實(shí)戰(zhàn)演習(xí)暫無因果圖方法一.方法簡(jiǎn)介1. 定義:是一種利用圖解法分
26、析輸入的各種組合情況,從而設(shè)計(jì)測(cè)試用例的方法,它適合于檢查程序輸入條件的各種組合情況。2. 因果圖法產(chǎn)生的背景:等價(jià)類劃分法和邊界值分析方法都是著重考慮輸入條件,但沒有考慮輸入條件的各種組合、輸入條件之間的相互制約關(guān)系。這樣雖然各種輸入條件可能出錯(cuò)的情況已經(jīng)測(cè)試到了,但多個(gè)輸入條件組合起來可能岀錯(cuò)的情況卻被忽視了。如果在測(cè)試時(shí)必須考慮輸入條件的各種組合,則可能的組合數(shù)目將是天文數(shù)字,因此必須歡迎有需要的朋友下載!10叮叮小文庫(kù)考慮采用一種適合于描述多種條件的組合、相應(yīng)產(chǎn)生多個(gè)動(dòng)作的形式來進(jìn)行測(cè)試用例的設(shè)計(jì),這就需要利用因果圖(邏輯模型)。3.因果圖介紹1) 4 種符號(hào)分別表示了規(guī)格說明中向4
27、種因果關(guān)系。2)因果圖中使用了簡(jiǎn)單的邏輯符號(hào),以直線聯(lián)接左右結(jié)點(diǎn)。左結(jié)點(diǎn)表示輸入狀態(tài)(或稱原因),右結(jié)點(diǎn)表示輸出狀態(tài)(或稱結(jié)果)。3) Ci 表示原因,通常置于圖的左部;ei 表示結(jié)果,通常在圖的右部。Ci 和 ei 均可取值 0 或 1,0表示某狀態(tài)不出現(xiàn), 1 表示某狀態(tài)出現(xiàn)。4. 因果圖概念1)關(guān)系恒等:若 ci 是 1,則 ei 也是 1 ;否則 ei 為 0。非:若 ci 是 1,則 ei 是 0 ;否則 ei 是 1?;颍喝?c1 或 C2 或 c3 是 1,則 ei 是 1 ;否則 ei 為 0?;颉笨捎腥我鈧€(gè)輸入。與:若 c1 和 c2 都是 1,則 ei 為 1 ;否則 ei
28、 為 0。與”也可有任意個(gè)輸入。2)約束輸入狀態(tài)相互之間還可能存在某些依賴關(guān)系,稱為約束。例如,某些輸入條件本身不可能同時(shí)岀現(xiàn)。輸岀狀態(tài)之間也往往存在約束。在因果圖中,用特定的符號(hào)標(biāo)明這些約束。A.輸入條件的約束有以下4 類:E 約束(異): a 和 b 中至多有一個(gè)可能為1,即 a 和 b 不能同時(shí)為 1。I 約束(或): a、b 和 c 中至少有一個(gè)必須是1,即 a、b 和 c 不能同時(shí)為 0。0 約束(唯一); a 和 b 必須有一個(gè),且僅有1 個(gè)為 1。 R 約束(要求): a 是 1 時(shí), b 必須是 1,即不可能 a 是 1 時(shí) b 是 0。 B. 輸出條件約束類型輸岀條件的約束只
29、有M 約束(強(qiáng)制):若結(jié)果a 是 1,則結(jié)果 b 強(qiáng)制為 0。5. 采用因果圖法設(shè)計(jì)測(cè)試用例的步驟:1)分析軟件規(guī)格說明描述中,那些是原因 (即輸入條件或輸入條件的等價(jià)類),那些是結(jié)果 ( 即輸岀條件), 并給每個(gè)原因和結(jié)果賦予一個(gè)標(biāo)識(shí)符。2)分析軟件規(guī)格說明描述中的語義,找岀原因與結(jié)果之間 , 原因與原因之間對(duì)應(yīng)的關(guān)系,根據(jù)這些關(guān)系,畫岀因果圖。3)由于語法或環(huán)境限制 , 有些原因與原因之間 ,原因與結(jié)果之間的組合情況不可能岀現(xiàn),為表明這些特殊情況 ,在因果圖上用一些記號(hào)表明約束或限制條件。4)把因果圖轉(zhuǎn)換為判定表。5)把判定表的每一列拿岀來作為依據(jù),設(shè)計(jì)測(cè)試用例。二.實(shí)戰(zhàn)演習(xí)1.某軟件規(guī)格
30、說明書包含這樣的要求:第一列字符必須是A 或 B,第二列字符必須是一個(gè)數(shù)字,在此情況下進(jìn)行文件的修改,但如果第一列字符不正確,則給岀信息 L;如果第二列字符不是數(shù)字,則給岀信息 M。解答:歡迎有需要的朋友下載!11叮叮小文庫(kù)1)根據(jù)題意,原因和結(jié)果如下:原因:1 第一列字符是A ;2 第一列字符是B ;3 第二列字符是一數(shù)字結(jié)果:21修改文件;22給岀信息 L ;23給岀信息 M。2) 其對(duì)應(yīng)的因果圖如下:11 為中間節(jié)點(diǎn);考慮到原因1 和原因 2 不可能同時(shí)為 1,因此在因果圖上施加E 約束。3)根據(jù)因果圖建立判定表。表中 8 種情況的左面兩列情況中,原因和原因同時(shí)為1,這是不可能岀現(xiàn)的,故
31、應(yīng)排除這兩種情況。表的最下一欄給岀了6 種情況的測(cè)試用例,這是我們所需要的數(shù)據(jù)。2.有一個(gè)處理單價(jià)為5 角錢的飲料的自動(dòng)售貨機(jī)軟件測(cè)試用例的設(shè)計(jì)。其規(guī)格說明如下:若投入5角錢或 1 元錢的硬幣,押下橙汁或啤酒的按鈕,則相應(yīng)的飲料就送岀來。若售貨機(jī)沒有零錢找,則一個(gè)顯示零錢找完的紅燈亮,這時(shí)在投入1 元硬幣并押下按鈕后,飲料不送岀來而且 1 元硬幣也退岀來;若有零錢找,則顯示零錢找完的紅燈滅,在送岀飲料的同時(shí)退還 5 角硬幣。1) 分析這一段說明,列岀原因和結(jié)果原因:1.售貨機(jī)有零錢找2.投入 1 元硬幣3.投入 5 角硬幣4.押下橙汁按鈕5.押下啤酒按鈕結(jié)果:21. 售貨機(jī)零錢找完燈亮22.
32、退還 1 元硬幣23. 退還 5 角硬幣24. 送岀橙汁飲料25. 送岀啤酒飲料2)畫岀因果圖,如圖所示。所有原因結(jié)點(diǎn)列在左邊,所有結(jié)果結(jié)點(diǎn)列在右邊。建立中間結(jié)點(diǎn),表示處理的中間狀態(tài)。中間結(jié)點(diǎn):11. 投入 1 元硬幣且押下飲料按鈕12. 押下橙汁或啤酒的按鈕13. 應(yīng)當(dāng)找 5 角零錢并且售貨機(jī)有零錢找14. 錢已付清3)轉(zhuǎn)換成判定表:4)在判定表中,陰影部分表示因違反約束條件的不可能岀現(xiàn)的情況,刪去。第16 列與第 32 列因什么動(dòng)作也沒做,也刪去。最后可根據(jù)剩下的16 列作為確定測(cè)試用例的依據(jù)。歡迎有需要的朋友下載!12叮叮小文庫(kù)判定表驅(qū)動(dòng)分析方法一.方法簡(jiǎn)介1. 定義:判定表是分析和表達(dá)
33、多邏輯條件下執(zhí)行不同操作的情況的工具。2. 判定表的優(yōu)點(diǎn)能夠?qū)?fù)雜的問題按照各種可能的情況全部列舉岀來,簡(jiǎn)明并避免遺漏。因此,利用判定表能夠設(shè)計(jì)岀完整的測(cè)試用例集合。在一些數(shù)據(jù)處理問題當(dāng)中,某些操作的實(shí)施依賴于多個(gè)邏輯條件的組合,即:針對(duì)不同邏輯條件的組合值,分別執(zhí)行不同的操作。判定表很適合于處理這類問題。3. “閱讀指南”判定表4. 判定表通常由四個(gè)部分組成如下圖所示。1) 條件樁( Condition Stub): 列岀了問題得所有條件。通常認(rèn)為列岀的條件的次序無關(guān)緊要。2) 動(dòng)作樁( Action Stub ): 列岀了問題規(guī)定可能采取的操作。這些操作的排列順序沒有約束。3) 條件項(xiàng)(
34、Condition Entry): 列岀針對(duì)它左列條件的取值。在所有可能情況下的真假值。4) 動(dòng)作項(xiàng)( Action Entry ) : 列岀在條件項(xiàng)的各種取值情況下應(yīng)該采取的動(dòng)作。5. 規(guī)則及規(guī)則合并1)規(guī)則:任何一個(gè)條件組合的特定取值及其相應(yīng)要執(zhí)行的操作稱為規(guī)則。在判定表中貫穿條件項(xiàng)和動(dòng)作項(xiàng)的一列就是一條規(guī)則。顯然,判定表中列岀多少組條件取值,也就有多少條規(guī)則 ,既條件項(xiàng)和動(dòng)作項(xiàng)有多少列。2)化簡(jiǎn):就是規(guī)則合并有兩條或多條規(guī)則具有相同的動(dòng)作,并且其條件項(xiàng)之間存在著極為相似的關(guān)系。6. 規(guī)則及規(guī)則合并舉例1)如下圖左端,兩規(guī)則動(dòng)作項(xiàng)一樣,條件項(xiàng)類似,在1、2 條件項(xiàng)分別取丫、 N 時(shí),無論條
35、件3取何值,都執(zhí)行同一操作。即要執(zhí)行的動(dòng)作與條件3 無關(guān)。于是可合并?!? ”表示與取值無關(guān)。2)與上類似,下圖中,無關(guān)條件項(xiàng)“-"可包含其他條件項(xiàng)取值,具有相同動(dòng)作的規(guī)則可合并。3)化簡(jiǎn)后的讀書指南判定表問題建1234你覺得疲倦嗎?-丫N你對(duì)內(nèi)容感興趣嗎?丫丫NN書中內(nèi)容使你胡涂嗎?丫N-請(qǐng)回到本章開頭重讀x歡迎有需要的朋友下載!13叮叮小文庫(kù)議繼續(xù)讀下去X跳到下一章去讀x停止閱讀,請(qǐng)休息x7.判定表的建立步驟:(根據(jù)軟件規(guī)格說明)1)確定規(guī)則的個(gè)數(shù) .假如有 n 個(gè)條件。每個(gè)條件有兩個(gè)取值(0,1 ),故有 2n 種規(guī)則2)列岀所有的條件樁和動(dòng)作樁。3)填入條件項(xiàng)。4)填入動(dòng)作項(xiàng)
36、。等到初始判定表。5)簡(jiǎn)化 .合并相似規(guī)則(相同動(dòng)作)。二.實(shí)戰(zhàn)演習(xí)1.問題要求:” 對(duì)功率大于50 馬力的機(jī)器、維修記錄不全或已運(yùn)行10 年以上的機(jī)器,應(yīng)給予優(yōu)先的維修處理 ”。這里假定,“維修記錄不全”和“優(yōu)先維修處理”均已在別處有更嚴(yán)格的定義。請(qǐng)建立判定表。解答:確定規(guī)則的個(gè)數(shù):這里有3 個(gè)條件,每個(gè)條件有兩個(gè)取值,故應(yīng)有2*2*2=8 種規(guī)則。列岀所有的條件茬和動(dòng)作樁:填入條件項(xiàng)??蓮淖詈? 行條件項(xiàng)開始,逐行向上填滿。如第三行是:丫 N 丫 N 丫 N 丫N,第二行是:丫丫NN 丫丫NN 等等。填入動(dòng)作樁和動(dòng)作頂。這樣便得到形如圖的初始判定表。12345678功率大于50馬力嗎?丫丫
37、丫丫NNNN條維修記錄不全嗎?丫丫NN丫丫NN件運(yùn)行超過10年嗎?丫N丫N丫N丫N動(dòng)進(jìn)行優(yōu)先處理xxXXX作作其他處理Xxx初始判定表 化簡(jiǎn)。合并相似規(guī)則后得到圖歡迎有需要的朋友下載!14叮叮小文庫(kù)12345功率大于 50馬力嗎?丫丫丫NN條件維修記錄不全嗎?丫NN-運(yùn)行超過 10年嗎?-丫N丫N動(dòng)進(jìn)行優(yōu)先處理xxX作作其他處理xx歡迎有需要的朋友下載!15叮叮小文庫(kù)2. NextData 函數(shù)的精簡(jiǎn)決策表M1=月份 ,每月有30 天M2=月份 ,每月有31 天M3=月份 ,2 月D1= 日期 ,1?2812D2= 日期 ,29D3= 日期 ,30D4= 日期 ,31Y1 = 年:年是閏年 Y
38、2 = 年:年不是閏年改進(jìn)為M1=月份 :每月有30 天M2=月份 :每月有31 天, 12M4=月份 :12 月M3=月份 :2 月D1= 日期 :1<= 日期 <=27 D2= 日期 :28D3= 日期 :29D4= 日期 :30D5= 日期 :31有 29= 512 條規(guī)則月末 31 日和其它 31日月份的 31 日處理不同平年 2 月 28 日處理不同于2月27日月除外 Y1 = 年:年是閏年 Y2 = 年:年不是閏年輸入變量間存在大量邏輯關(guān)系的NextData 決策表3.用決策表測(cè)試法測(cè)試以下程序:該程序有三個(gè)輸入變量month 、day 、year ( month 、d
39、ay 和year 均為整數(shù)值,并且滿足:1 < mo nth < 12 和 1 < day < 31),分別作為輸入日期的月份、日、年份,通過程序可以輸岀該輸入日期在日歷上隔一天的日期。例如,輸入為2004 年 11 月 29 日,則該程序的輸岀為2000 年 12 月 1 日。1) 分析各種輸入情況,列岀為輸入變量 month 、day 、year 劃分的有效等價(jià)類。2)分析程序規(guī)格說明,結(jié)合以上等價(jià)類歡迎有需要的朋友下載!16叮叮小文庫(kù)劃分的情況給岀問題規(guī)定的可能采取的操作(即列岀所有的動(dòng)作樁)。3)根據(jù)( 1)和( 2), 畫岀簡(jiǎn)化后的決策表。案例分析如下:1)m
40、o nth 變量的有效等價(jià)類:M1: mon th=4,6,9,11M2: mon th=1,3,5,7,8,10M3: mo nth=12M4: mo nth=22)day 變量的有效等價(jià)類:D1:1< day < 26D2: day=27D3: day=28D4:day=29D5: day=30D6: day=313)year 變量的有效等價(jià)類:Y1: year 是閏年 Y2: year不是閏年 4)考慮各種有效的輸入情況,程序中可能采取的操作有以下六種:a1:day+2a2: day=2a3:day=1a4: mon th+1a5: mon th=1a6: year+14. 判定表在功能測(cè)試中的應(yīng)用1) 一些軟件的功能需求可用判定表表達(dá)得非常清楚,在檢驗(yàn)程序的功能時(shí)判定表也就成為一個(gè)不錯(cuò)的工具。如果一個(gè)軟件的規(guī)格說明指岀:I.當(dāng)條件 1 和條件 2 滿足,并且條件3 和條件 4 不滿足,或者當(dāng)條件1、3 和條件 4 滿足時(shí),要執(zhí)行操作1。II.在任一個(gè)條件都不滿足時(shí),要執(zhí)行操作2。III. 在條件 1 不滿足,而條件 4 被滿足時(shí),要執(zhí)行操作 3。根據(jù)規(guī)格說明得到如下判定表:這里,判定表只給岀了16 種規(guī)則中的 8 種。事實(shí)上,除這8 條以外的一些規(guī)則是指當(dāng)不能滿足指定的條
溫馨提示
- 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. 人人文庫(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 45216-2025危險(xiǎn)貨物自反應(yīng)物質(zhì)和有機(jī)過氧化物包裝件爆燃試驗(yàn)方法
- 共用墻合同范本
- 兼職防疫保安合同范本
- 出售吊車合同范例
- 加裝電梯托管合同范本
- 光伏銷售質(zhì)保合同范本
- 單位二手房交易合同范本
- 勞動(dòng)合同范例 河南
- 買賣交易正規(guī)合同范本
- 個(gè)人買賣住房合同范本
- 無光纖傳輸技術(shù)Er:YAG激光口腔臨床應(yīng)用規(guī)范
- 醫(yī)療信息共享與互聯(lián)網(wǎng)醫(yī)療管理制度
- 人教版高中英語必修二詞匯表(默寫版)
- 汽車電器線束DFMEA范例
- 船模航模車模社團(tuán)教案
- 【基于上市公司數(shù)據(jù)的康芝藥業(yè)盈利能力探析(定量論文)11000字】
- 幼兒園小班學(xué)情分析案例及分析
- 2024年社區(qū)工作者考試題庫(kù)及答案
- 2024年義務(wù)教師考試招聘考試試題及答案
- 無人機(jī)紅外技術(shù)培訓(xùn)
- 2024中考英語1500詞匯默寫匯總表練習(xí)(含答案)
評(píng)論
0/150
提交評(píng)論