![黑盒測試-測試人員的數(shù)學(xué)知識_第1頁](http://file4.renrendoc.com/view/e340bca2eaabdda2b547cf75221d2005/e340bca2eaabdda2b547cf75221d20051.gif)
![黑盒測試-測試人員的數(shù)學(xué)知識_第2頁](http://file4.renrendoc.com/view/e340bca2eaabdda2b547cf75221d2005/e340bca2eaabdda2b547cf75221d20052.gif)
![黑盒測試-測試人員的數(shù)學(xué)知識_第3頁](http://file4.renrendoc.com/view/e340bca2eaabdda2b547cf75221d2005/e340bca2eaabdda2b547cf75221d20053.gif)
![黑盒測試-測試人員的數(shù)學(xué)知識_第4頁](http://file4.renrendoc.com/view/e340bca2eaabdda2b547cf75221d2005/e340bca2eaabdda2b547cf75221d20054.gif)
![黑盒測試-測試人員的數(shù)學(xué)知識_第5頁](http://file4.renrendoc.com/view/e340bca2eaabdda2b547cf75221d2005/e340bca2eaabdda2b547cf75221d20055.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、黑盒測試 測試人員的數(shù)學(xué)知識黑盒測試的概念黑盒測試的實施過程黑盒測試的數(shù)學(xué)知識 測試用例設(shè)計技術(shù)黑盒測試黑盒測試的概念 什么是黑盒測試? 黑盒測試又稱功能測試、數(shù)據(jù)驅(qū)動測試或基于規(guī)格說明書的測試,是一種從用戶觀點出發(fā)的測試。 黑盒測試示意圖 測試人員把被測程序當(dāng)作一個黑盒子。黑盒測試黑盒測試主要測試的錯誤類型有:不正確或遺漏的功能;接口、界面錯誤; 性能錯誤;數(shù)據(jù)結(jié)構(gòu)或外部數(shù)據(jù)訪問錯誤;初始化或終止條件錯誤等等。黑盒測試黑盒測試用于回答以下問題:1)如何測試功能的有效性?2)何種類型的輸入會產(chǎn)生好的測試用例?3)系統(tǒng)是否對特定的輸入值尤其敏感?4)如何分隔數(shù)據(jù)類的邊界?5)系統(tǒng)能夠承受何種數(shù)據(jù)
2、率和數(shù)據(jù)量?6)特定類型的數(shù)據(jù)組合會對系統(tǒng)產(chǎn)生何種影響?黑盒測試運用黑盒測試方法,可以導(dǎo)出滿足以下標(biāo)準的測試用例集:1)所設(shè)計的測試用例能夠減少達到合理測試所需的附加測試用例數(shù);2)所設(shè)計的測試用例能夠告知某些類型錯誤的存在或不存在,而不是僅僅與特定測試相關(guān)的錯誤。 黑盒測試用黑盒測試發(fā)現(xiàn)程序中的錯誤,必須在所有可能的輸入條件和輸出條件中確定測試數(shù)據(jù),來檢查程序是否都能產(chǎn)生正確的輸出。但這是不可能的,因為窮舉測試數(shù)量太大,無法完成。黑盒測試假設(shè)一個程序P有輸入量X和Y及輸出量Z。在字長為32位的計算機上運行。若X、Y取整數(shù),按黑盒方法進行窮舉測試:可能采用的測試數(shù)據(jù)組: 232232264如果
3、測試一 組數(shù)據(jù)需要1毫秒,一年工作365 24小時,完成所有測試需5億年。因此,我們只能在大量可能的數(shù)據(jù)中,選取其中一部分作為測試用例。黑盒測試黑盒測試的實施過程(1)測試計劃階段(2)測試設(shè)計階段依據(jù)程序需求規(guī)格說明書或用戶手冊,按照一定規(guī)范化的方法進行軟件功能劃分和設(shè)計測試用例。(3)測試執(zhí)行階段按照設(shè)計的測試用例執(zhí)行測試;自由測試(作為測試用例測試的補充)。(4)測試總結(jié)階段測試人員的數(shù)學(xué)知識集合論1 集合與成員 M30 = 4月,6月,9月,11月2 集合的定義 列出集合元素 如M30 給出集合元素判定規(guī)則 如 Y=年| 1900年100 無效等價類 成績0等價類劃分在輸入條件規(guī)定了輸
4、入值的集合或者規(guī)定了“必須如何”的條件的情況下,可確立一個有效等價類和一個無效等價類。在輸入條件是一個布爾量的情況下,可確定一個有效等價類和一個無效等價類。等價類劃分3)劃分等價類的方法在規(guī)定了輸入數(shù)據(jù)的一組值(假定n個),并且程序要對每一個輸入值分別處理的情況下,可確立n個有效等價類和一個無效等價類。例:輸入條件說明學(xué)歷可為:???、本科、碩士、博士四種之一,則分別取這四種這四個值作為四個有效等價類,另外把四種學(xué)歷之外的任何學(xué)歷作為無效等價類。等價類劃分在規(guī)定了輸入數(shù)據(jù)必須遵守的規(guī)則的情況下,可確立一個有效等價類(符合規(guī)則)和若干個無效等價類(從不同角度違反規(guī)則)。在確知已劃分的等價類中各元素
5、在程序處理中的方式不同的情況下,則應(yīng)再將該等價類進一步的劃分為更小的等價類。等價類劃分4)設(shè)計測試用例在確立了等價類后,可建立等價類表,列出所有劃分出的等價類輸入條件 有效等價類 無效等價類. . . . .然后從劃分出的等價類中按以下三個原則設(shè)計測試用例:為每一個等價類規(guī)定一個唯一的編號。設(shè)計一個新的測試用例,使其盡可能多地覆蓋尚未被覆蓋地有效等價類,重復(fù)這一步,直到所有的有效等價類都被覆蓋為止。設(shè)計一個新的測試用例,使其僅覆蓋一個尚未被覆蓋的無效等價類,重復(fù)這一步,直到所有的無效等價類都被覆蓋為止。等價類劃分舉例例1:某程序規(guī)定:“輸入三個整數(shù) a 、 b 、 c 分別作為三邊的邊長構(gòu)成三
6、角形。通過程序判定所構(gòu)成的三角形的類型,當(dāng)此三角形為一般三角形、等腰三角形及等邊三角形時,分別作計算 ”。用等價類劃分方法為該程序進行測試用例設(shè)計。(三角形問題的復(fù)雜之處在于輸入與輸出之間的關(guān)系比較復(fù)雜。 )等價類劃分分析題目中給出和隱含的對輸入條件的要求: (1)整數(shù) (2)三個數(shù) (3)非零數(shù)(4)正數(shù) (5)兩邊之和大于第三邊 (6)等腰 (7)等邊 如果 a 、 b 、 c 滿足條件( 1 ) ( 4 ),則輸出下列四種情況之一:如果不滿足條件(5),則程序輸出為 “ 非三角形 ” 。如果三條邊相等即滿足條件(7),則程序輸出為 “ 等邊三角形 ” 。如果只有兩條邊相等、即滿足條件(6
7、),則程序輸出為 “ 等腰三角形 ” 。如果三條邊都不相等,則程序輸出為 “ 一般三角形 ” 。 列出等價類表并編號 等價類劃分等價類表并編號(續(xù)上表)邊等價類劃分覆蓋有效等價類的測試用例:a b c 覆蓋等價類號碼3 4 5 (1)-(7)4 4 5 (1)-(7),(8)4 5 5 (1)-(7),(9) 5 4 5 (1)-(7),(10)4 4 4 (1)-(7),(11)無效等價類覆蓋無效等價類的測試用例:等價類劃分例2:設(shè)有一個檔案管理系統(tǒng),要求用戶輸入以年月表示的日期。假設(shè)日期限定在1990年1月2049年12月,并規(guī)定日期由6位數(shù)字字符組成,前4位表示年,后2位表示月。現(xiàn)用等價
8、類劃分法設(shè)計測試用例,來測試程序的“日期檢查功能”。等價類劃分1)劃分等價類并編號下表等價類劃分的結(jié)果輸入等價類有效等價類無效等價類日期的類型及長度6位數(shù)字字符有非數(shù)字字符少于6位數(shù)字字符多于6位數(shù)字字符年份范圍在19902049之間小于1990大于2049月份范圍在0112之間等于00大于12等價類劃分2)設(shè)計測試用例,以便覆蓋所有的有效等價類在表中列出了3個有效等價類,編號分別為、,設(shè)計的測試用例如下:測試數(shù)據(jù) 期望結(jié)果 覆蓋的有效等價類200211 輸入有效 、無效等價類3)為每一個無效等價類設(shè)計一個測試用例,設(shè)計結(jié)果如下:測試數(shù)據(jù) 期望結(jié)果 覆蓋的無效等價類95June 無效輸入 20
9、036 無效輸入 2001006 無效輸入 198912 無效輸入 200401 無效輸入 200100 無效輸入 200113 無效輸入 NextDate 函數(shù)等價類測試用例NextDate 函數(shù)包含三個變量:month 、 day 和 year ,函數(shù)的輸出為輸入日期后一天的日期。 例如,輸入為 2006年3月 7日,則函數(shù)的輸出為 2006年3月8日 。要求輸入變量 month 、 day 和 year 均為整數(shù)值,并且滿足下列條件:(1)1month12(2)1day31(3)1920year2050 NextDate 函數(shù)等價類測試用例有效等價類為:M1月份:1月份12D1日期:1日
10、期31Y1年:1812年2012若條件( 1 ) ( 3 )中任何一個條件失效,則 NextDate 函數(shù)都會產(chǎn)生一個輸出,指明相應(yīng)的變量超出取值范圍,比如 “month 的值不在 1-12 范圍當(dāng)中 ” 。顯然還存在著大量的 year 、 month 、 day 的無效組合, NextDate 函數(shù)將這些組合作統(tǒng)一的輸出: “ 無效輸入日期 ” 。其無效等價類為:M2月份:月份12D2日期:日期31Y2年:年2012NextDate 函數(shù)等價類測試用例弱一般等價類測試用例月份 日期 年 預(yù)期輸出 6 15 1912 1912年6月16日強一般等價類測試用例同弱一般等價類測試用例注:弱有單缺陷
11、假設(shè) 健壯考慮了無效值 NextDate 函數(shù)等價類測試用例弱健壯等價類測試用例ID 月份 日期 年 預(yù)期輸出WR1 6 15 1912 1912年6月16日WR2 1 15 1912 月份不在112中WR3 13 15 1912 月份不在112中WR4 6 1 1912 日期不在131中WR5 6 32 1912 日期不在131中WR6 6 15 1811 年份不在18122012中WR7 6 15 2013 年份不在18122012中NextDate 函數(shù)等價類測試用例強健壯等價類測試用例ID 月份 日期 年 預(yù)期輸出SR1 1 15 1912 月份不在112中SR2 6 1 1912 日
12、期不在131中SR3 6 15 1811 年份不在18122012中SR4 1 1 1912 兩個無效一個有效SR5 6 1 1811 兩個無效一個有效SR6 1 15 1811 兩個無效一個有效SR7 1 1 1811 三個無效傭金問題等價類測試用例它是根據(jù)傭金函數(shù)的輸出值域定義等價類,來改進測試用例集合輸出銷售額1000元 傭金1010001800 傭金=220+(銷售額-1800)*20%測試用例 槍機(45) 槍托(30) 槍管(25) 銷售額 傭金 1 5 5 5 500 50 2 15 15 15 1500 175 3 25 25 25 2500 360 根據(jù)輸出域選擇輸入值,使落
13、在輸出域等價類內(nèi),可以結(jié)合弱健壯測試用例結(jié)合。問題討論問題:給出下面的有效和無效等價類輸入條件:“統(tǒng)計全國各省、市、自治區(qū)的人口” 輸入條件:“標(biāo)識符應(yīng)以字母開頭” 輸入條件:長度為1-20的字符串輸入條件:數(shù)據(jù)庫中的值域, CHAR(20), NOT NULL邊界值分析法 邊界值分析方法是對等價類劃分方法的補充. 1)邊界值分析方法的考慮:長期的測試工作經(jīng)驗告訴我們,大量的錯誤是發(fā)生在輸入或輸出范圍的邊界上,而不是發(fā)生在輸入輸出范圍的內(nèi)部.因此針對各種邊界情況設(shè)計測試用例,可以查出更多的錯誤。使用邊界值分析方法設(shè)計測試用例,首先應(yīng)確定邊界情況。通常輸入和輸出等價類的邊界,就是應(yīng)著重測試的邊界
14、情況.應(yīng)當(dāng)選取正好等于,剛剛大于或剛剛小于邊界的值作為測試數(shù)據(jù),而不是選取等價類中的典型值或任意值作為測試數(shù)據(jù).邊界值分析法與等價劃分的區(qū)別邊界值分析不是從某等價類中隨便挑一個作為代表,而是使這個等價類的每個邊界都要作為測試條件。邊界值分析不僅考慮輸入條件,還要考慮輸出空間產(chǎn)生的測試情況。邊界值分析法(2)基于邊界值分析方法選擇測試用例的原則1)如果輸入條件規(guī)定了值的范圍,則應(yīng)取剛達到這個范圍的邊界的值,以及剛剛超越這個范圍邊界的值作為測試輸入數(shù)據(jù)。例如,如果程序的規(guī)格說明中規(guī)定:“重量在10公斤至50公斤范圍內(nèi)的郵件,其郵費計算公式為”。作為測試用例,我們應(yīng)取10及50,還應(yīng)取10.01,4
15、9.99,9.99及50.01等。邊界值分析法2)如果輸入條件規(guī)定了值的個數(shù),則用最大個數(shù),最小個數(shù),比最小個數(shù)少一,比最大個數(shù)多一的數(shù)作為測試數(shù)據(jù)。比如,一個輸入文件應(yīng)包括1255個記錄,則測試用例可取1和255,還應(yīng)取0及256等。邊界值分析法3)將規(guī)則1)和2)應(yīng)用于輸出條件,即設(shè)計測試用例使輸出值達到邊界值及其左右的值。 例如,某程序的規(guī)格說明要求計算出“每月保險金扣除額為0至1165.25元”,其測試用例可取0.00及1165.24、還可取一0.01及116526等。再如一程序?qū)儆谇閳髾z索系統(tǒng),要求每次”最少顯示1條、最多顯示4條情報摘要”,這時我們應(yīng)考慮的測試用例包括1和4,還應(yīng)包
16、括0和5等。 邊界值分析法5)如果程序的規(guī)格說明給出的輸入域或輸出域是有序集合,則應(yīng)選取集合的第一個元素和最后一個元素作為測試用例。6)如果程序中使用了一個內(nèi)部數(shù)據(jù)結(jié)構(gòu),則應(yīng)當(dāng)選擇這個內(nèi)部數(shù)據(jù)結(jié)構(gòu)的邊界上的值作為測試用例。7)分析規(guī)格說明,找出其它可能的邊界條件。邊界值分析法 - 舉例(3)例3現(xiàn)有一個學(xué)生標(biāo)準化考試批閱試卷,產(chǎn)生成績報告的程序。其規(guī)格說明如下:程序的輸入文件由一些有80個字符的記錄組成,如右圖所示,所有記錄分為3組:邊界值分析法 - 舉例 標(biāo)題: 這一組只有一個記錄,其內(nèi)容為輸出成績報告的名字。邊界值分析法 - 舉例試卷各題標(biāo)準答案記錄: 每個記錄均在第80個字符處標(biāo)以數(shù)字“
17、2”。該組的第一個記錄的第1至第3個字符為題目編號(取值為1一999)。第10至第59個字符給出第1至第50題的答案(每個合法字符表示一個答案)。該組的第2,第3個記錄相應(yīng)為第51至第100,第101至第150,題的答案。邊界值分析法 - 舉例每個學(xué)生的答卷描述: 該組中每個記錄的第80個字符均為數(shù)字“3”。每個學(xué)生的答卷在若干個記錄中給出。如甲的首記錄第1至第9字符給出學(xué)生姓名及學(xué)號,第10至第59字符列出的是甲所做的第1至第50題的答案。若試題數(shù)超過50,則第2,第3紀錄分別給出他的第51至第100,第101至第150題的解答。然后是學(xué)生乙的答卷記錄。學(xué)生人數(shù)不超過200,試題數(shù)不超過99
18、9。 邊界值分析法 - 舉例程序的輸出有4個報告:a)按學(xué)號排列的成績單,列出每個學(xué)生的成績、名次。b)按學(xué)生成績排序的成績單。c)平均分數(shù)及標(biāo)準偏差的報告。d)試題分析報告。按試題號排序,列出各題學(xué)生答對的百分比。 解答:分別考慮輸入條件和輸出條件,以及邊界條件。給出下表所示的輸入條件及相應(yīng)的測試用例。邊界值分析法 - 舉例邊界值分析法 - 舉例邊界值分析法 - 舉例右表為輸出條件及相應(yīng)的測試用例表。 錯誤推測法 錯誤推測法: 基于經(jīng)驗和直覺推測程序中所有可能存在的各種錯誤, 從而有針對性的設(shè)計測試用例的方法。錯誤推測方法的基本思想: 列舉出程序中所有可能有的錯誤和容易發(fā)生錯誤的特殊情況,根
19、據(jù)他們選擇測試用例。例如, 輸入數(shù)據(jù)和輸出數(shù)據(jù)為0的情況;輸入表格為空格或輸入表格只有一行. 這些都是容易發(fā)生錯誤的情況??蛇x擇這些情況下的例子作為測試用例。錯誤推測法例如,針對例3,采用錯誤推測法還可補充設(shè)計一些測試用例:1、 程序是否把空格作為回答2、 在回答記錄中混有標(biāo)準答案記錄3、 除了標(biāo)題記錄外,還有一些的記錄最后一個字符即不是2也不是34、 有兩個學(xué)生的學(xué)號相同5、試題數(shù)是負數(shù)。 錯誤推測法再如,測試一個對線性表(比如數(shù)組)進行排序的程序,可推測列出以下幾項需要特別測試的情況:1)輸入的線性表為空表;2)表中只含有一個元素;3)輸入表中所有元素已排好序;4)輸入表已按逆序排好;5)
20、輸入表中部分或全部元素相同。因果圖方法 前面介紹的等價類劃分方法和邊界值分析方法,都是著重考慮輸入條件,但未考慮輸入條件之間的聯(lián)系, 相互組合等。考慮輸入條件之間的相互組合,可能會產(chǎn)生一些新的情況. 但要檢查輸入條件的組合不是一件容易的事情, 即使把所有輸入條件劃分成等價類,他們之間的組合情況也相當(dāng)多. 因此必須考慮采用一種適合于描述對于多種條件的組合,相應(yīng)產(chǎn)生多個動作的形式來考慮設(shè)計測試用例。這就需要利用因果圖( Cause一Effect Graphics )方法。采用因果圖方法能夠幫助我們按一定步驟,高效率地選擇測試用例,同時還能為我們指出,程序規(guī)格說明描述中存在著什么問題。 因果圖介紹4
21、種符號分別表示了規(guī)格說明中向4種因果關(guān)系。因果圖介紹因果圖中使用了簡單的邏輯符號,以直線聯(lián)接左右結(jié)點。左結(jié)點表示輸入狀態(tài)(或稱原因),右結(jié)點表示輸出狀態(tài)(或稱結(jié)果)。 Ci表示原因,通常置于圖的左部;ei表示結(jié)果,通常在圖的右部。ci和ei均可取值0或1,0表示某狀態(tài)不出現(xiàn),1表示某狀態(tài)出現(xiàn)。 因果圖概念關(guān)系恒等:若ci是1,則ei也是1;否則ei為0。非:若ci是1,則ei是0;否則ei是1?;颍喝鬰1或c2或c3是1,則ei是1;否則ei為0?!盎颉笨捎腥我鈧€輸入。與:若c1和c2都是1,則ei為1;否則ei為0。“與”也可有任意個輸入。因果圖概念約束輸入狀態(tài)相互之間還可能存在某些依賴關(guān)系
22、,稱為約束。例如, 某些輸入條件本身不可能同時出現(xiàn)。輸出狀態(tài)之間也往往存在約束。在因果圖中,用特定的符號標(biāo)明這些約束。因果圖概念因果圖概念輸入條件的約束有以下4類: E約束(異):a和b中至多有一個可能為1,即a和b不能同時為1。 I約束(或):a、b和c中至少有一個必須是1,即 a、b 和c不能同時為0。 O約束(唯一);a和b必須有一個,且僅有1個為1。R約束(要求):a是1時,b必須是1,即不可能a是1時b是0。輸出條件約束類型輸出條件的約束只有M約束(強制):若結(jié)果a是1,則結(jié)果b強制為0。因果圖方法因果圖方法最終生成的是判定表。它適合于檢查程序輸入條件的各種組合情況。利用因果圖生成測
23、試用例的基本步驟:(1) 分析軟件規(guī)格說明描述中, 那些是原因(即輸入條件或輸入條件的等價類),那些是結(jié)果(即輸出條件), 并給每個原因和結(jié)果賦予一個標(biāo)識符。(2) 分析軟件規(guī)格說明描述中的語義.找出原因與結(jié)果之間, 原因與原因之間對應(yīng)的關(guān)系. 根據(jù)這些關(guān)系,畫出因果圖。(3) 由于語法或環(huán)境限制, 有些原因與原因之間,原因與結(jié)果之間的組合情況不不可能出現(xiàn). 為表明這些特殊情況, 在因果圖上用一些記號表明約束或限制條件。(4) 把因果圖轉(zhuǎn)換為判定表。(5) 把判定表的每一列拿出來作為依據(jù),設(shè)計測試用例。因果圖方法舉例例4:某軟件規(guī)格說明書包含這樣的要求:第一列字符必須是A或B,第二列字符必須是
24、一個數(shù)字,在此情況下進行文件的修改,但如果第一列字符不正確,則給出信息L;如果第二列字符不是數(shù)字,則給出信息M。解答:根據(jù)題意,原因和結(jié)果如下:因果圖方法舉例原因: 1第一列字符是A; 2第一列字符是B; 3第二列字符是一數(shù)字。結(jié)果: 21修改文件; 22 給出信息L; 23給出信息M。因果圖方法舉例其對應(yīng)的因果圖如下: 11為中間節(jié)點;考慮到原因1和原因2不可能同時為1,因此在因果圖上施加E約束。原因: 1第一列字符是A; 2第一列字符是B; 3第二列字符是一數(shù)字。結(jié)果: 21修改文件; 22 給出信息L; 23給出信息M。根據(jù)因果圖建立判定表。 表中8種情況的左面兩列情況中,原因和原因同時
25、為1,這是不可能出現(xiàn)的,故應(yīng)排除這兩種情況。表的最下一欄給出了6種情況的測試用例,這是我們所需要的數(shù)據(jù)。 因果圖方法舉例例5:有一個處理單價為5角錢的飲料的自動售貨機軟件測試用例的設(shè)計。 其規(guī)格說明如下:若投入5角錢或1元錢的硬幣,押下橙汁或啤酒的按鈕,則相應(yīng)的飲料就送出來。若售貨機沒有零錢找,則一個顯示零錢找完的紅燈亮,這時在投入1元硬幣并押下按鈕后,飲料不送出來而且1元硬幣也退出來;若有零錢找,則顯示零錢找完的紅燈滅,在送出飲料的同時退還5角硬幣。因果圖方法舉例分析這一段說明,列出原因和結(jié)果原因:1.售貨機有零錢找2.投入1元硬幣3.投入5角硬幣 4.押下橙汁按鈕5.押下啤酒按鈕 結(jié)果:
26、21. 售貨機零錢找完燈亮 22. 退還1元硬幣23. 退還5角硬幣 24. 送出橙汁飲料25. 送出啤酒飲料畫出因果圖,如圖所示。所有原因結(jié)點列在左邊,所有結(jié)果結(jié)點列在右邊。建立中間結(jié)點,表示處理的中間狀態(tài)。中間結(jié)點: 11. 投入1元硬幣且押下飲料按鈕 12. 押下橙汁或啤酒的按鈕 13. 應(yīng)當(dāng)找5角零錢并且售貨機有零錢找 14. 錢已付清轉(zhuǎn)換成判定表: 因果圖方法舉例在判定表中,陰影部分表示因違反約束條件的不可能出現(xiàn)的情況,刪去。第16列與第32列因什么動作也沒做,也刪去。最后可根據(jù)剩下的16列作為確定測試用例的依據(jù)。因果圖方法小結(jié)因果圖方法是一個非常有效的黑盒測試方法,它能夠生成沒有重
27、復(fù)性的且發(fā)現(xiàn)錯誤能力強的測試用例,而且對輸入、輸出同時進行了分析。從因果圖生成的測試用例(局部,組合關(guān)系下的)包括了所有輸入數(shù)據(jù)的取TRUE與取FALSE的情況,構(gòu)成的測試用例數(shù)目達到最少,且測試用例數(shù)目隨輸入數(shù)據(jù)數(shù)目的增加而線性地增加。如果哪個開發(fā)項目在設(shè)計階段就采用了判定表,也就不必再畫因果圖,而是可以直接利用判定表設(shè)計測試用例了。判定表驅(qū)動測試方法前面因果圖方法中已經(jīng)用到了判定表。判定表(Decision Table)是分析和表達多邏輯條件下執(zhí)行不同操作的工具。在程序設(shè)計發(fā)展的初期,判定表就已被當(dāng)作編寫程序的輔助工具了,因為它可以把復(fù)雜的邏輯關(guān)系和多種條件組合的情況表達得既具體又明確。判
28、定表驅(qū)動測試方法下表是一張關(guān)于科技書閱讀指南的判定驅(qū)動表:3個問題8種情況判定表組成判定表通常由四個部分組成:條件樁動作樁條件項動作項判定表組成判定表通常由四個部分組成:條件樁(Condition Stub):列出了問題的所有條件,通常認為列出得條件的次序無關(guān)緊要。動作樁(Action Stub):列出了問題規(guī)定可能采取的操作,這些操作的排列順序沒有約束。條件項(Condition Entry):列出針對它左列條件的取值,在所有可能情況下的真假值。動作項(Action Entry):列出在條件項的各種取值情況下應(yīng)該采取的動作。規(guī)則及規(guī)則合并規(guī)則:任何一個條件組合的特定取值及其相應(yīng)要執(zhí)行的操作稱
29、為規(guī)則。在判定表中貫穿條件項和動作項的一列就是一條規(guī)則。顯然,判定表中列出多少組條件取值,也就有多少條規(guī)則,既條件項和動作項有多少列。化簡:就是規(guī)則合并有兩條或多條規(guī)則具有相同的動作,并且其條件項之間存在著極為相似的關(guān)系。規(guī)則及規(guī)則合并舉例如右圖左端,兩規(guī)則動作項一樣,條件項類似,在1、2條件項分別取Y、N時,無論條件3取何值,都執(zhí)行同一操作。即要執(zhí)行的動作與條件3無關(guān)。于是可合并。“-”表示與取值無關(guān)。規(guī)則及規(guī)則合并舉例與上類似,右圖中,無關(guān)條件項“-”可包含其他條件項取值,具有相同動作的規(guī)則可合并判定表驅(qū)動測試方法判定表的建立步驟:(根據(jù)軟件規(guī)格說明)確定規(guī)則的個數(shù).假如有n個條件。每個條
30、件有兩個取值(0,1),故有2n種規(guī)則。列出所有的條件樁和動作樁。填入條件項。填入動作項。等到初始判定表。簡化.合并相似規(guī)則(相同動作)。建立判定表舉例例5:問題要求:”對功率大于50馬力的機器、維修記錄不全或已運行10年以上的機器,應(yīng)給予優(yōu)先的維修處理” 。這里假定,“維修記錄不全”和“優(yōu)先維修處理”均已在別處有更嚴格的定義 。請建立判定表。建立判定表舉例解答:確定規(guī)則的個數(shù):這里有3個條件,每個條件有兩個取值,故應(yīng)有2*2*2=8種規(guī)則。列出所有的條件茬和動作茬:建立判定表舉例填人條件項??蓮淖詈?行條件項開始,逐行向上填滿。如第三行是: Y N Y N Y N Y N第二行是: Y Y
31、N N Y Y N N等等。 填人動作樁和動作頂。這樣便得到形如圖的初始判定表。化簡。合并相似規(guī)則后得到圖。NextData函數(shù)的精簡決策表NextData函數(shù)的精簡決策表M1月份, 每月有30天M2月份, 每月有31天M3月份, 2月 有29512條規(guī)則D1日期,128 12月末31日和其它31D2日期,29 日月份的31日處理不同D3日期,30 平年2月28日處理不同D4日期,31 于2月27日Y1 年:年是閏年Y2 年:年不是閏年改進為M1月份: 每月有30天M2月份: 每月有31天, 12月除外M4月份:12月M3月份: 2月 D1日期:1=日期=27D2日期:28D3日期:29D4日期:30D5日期:31Y1 年:年是閏年Y2 年:年不是閏年輸入變量間存在大量邏輯關(guān)系的NextData決策表 13 4 5 69 10 1114 15 16 17 18 19 20 2122C1月份在 M1 M1 M1 M2 M2 M3 M3 M4 M4 M4 M4 M4 M4C2日期在 D1 D1 D1 D4 D2 D4 D5 D2 D5 D2 D5 D1 D2 D2
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 股東間股權(quán)轉(zhuǎn)讓協(xié)議
- 月嫂家政服務(wù)合同
- 廣告位租賃的合同
- 設(shè)備維護服務(wù)合同
- 停車車位租賃合同
- 模具鋼材采購合同
- 一兒一女夫妻離婚協(xié)議書
- 2025年日照貨運從業(yè)資格證模擬考試駕考
- 2025年德州貨運從業(yè)資格證模擬考試下載安裝
- 電梯管理方維修方及業(yè)主方三方合同(2篇)
- 梅大高速塌方災(zāi)害調(diào)查評估報告及安全警示學(xué)習(xí)教育
- 2025年供應(yīng)鏈管理培訓(xùn)課件
- 2025中智集團招聘高頻重點提升(共500題)附帶答案詳解
- 幼兒園2025年春季學(xué)期保教工作計劃
- 2025云南中煙再造煙葉限責(zé)任公司招聘高頻重點提升(共500題)附帶答案詳解
- DB13-T 6033-2024 半導(dǎo)體器件低濃度氫效應(yīng)試驗方法
- 《保利公司簡介》課件
- 中藥硬膏熱貼敷治療
- 醫(yī)保藥店員工培訓(xùn)管理制度
- 2025年中考語文文言文專項訓(xùn)練:《愚公移山》對比閱讀(含答案)
- 《攜程旅行營銷環(huán)境及營銷策略研究》10000字(論文)
評論
0/150
提交評論