版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第三章
黑盒測(cè)試方法授課教師:
鄭煒第三章黑盒測(cè)試方法3.1測(cè)試用例綜述3.1.1測(cè)試用例設(shè)計(jì)原則3.1.2測(cè)試用例設(shè)計(jì)步驟3.1.3測(cè)試用例的構(gòu)成3.2等價(jià)類設(shè)計(jì)方法3.2.1等價(jià)類劃分3.2.2等價(jià)類劃分方法3.2.4等價(jià)類劃分的測(cè)試運(yùn)用第三章黑盒測(cè)試方法3.3邊界值設(shè)計(jì)方法3.3.1邊界值分析法原理3.3.2邊界值分析原則3.3.3健壯性分析3.3.4邊界值分析法的測(cè)試運(yùn)用3.4因果圖和決策表設(shè)計(jì)方法3.4.1因果圖原理3.4.2因果圖法應(yīng)用3.4.3決策表法及其應(yīng)用
第三章黑盒測(cè)試方法3.5正交試驗(yàn)設(shè)計(jì)方法3.5.1正交試驗(yàn)設(shè)計(jì)法原理3.5.2利用正交試驗(yàn)法設(shè)計(jì)測(cè)試用例3.6組合測(cè)試方法3.6.1基本概念3.6.2構(gòu)造方法3.6.3組合測(cè)試工具的使用
第三章黑盒測(cè)試方法3.1測(cè)試用例綜述3.1.1測(cè)試用例設(shè)計(jì)原則3.1.2測(cè)試用例設(shè)計(jì)步驟3.1.3測(cè)試用例的構(gòu)成3.1.1測(cè)試用例設(shè)計(jì)原則測(cè)試用例替代產(chǎn)品文檔功能原則測(cè)試結(jié)果分析和調(diào)試最簡(jiǎn)單化原則單次投入成本和多次投入成本原則單個(gè)測(cè)試用例最小化原則測(cè)試用例覆蓋邊界更清晰,測(cè)試結(jié)果對(duì)軟件缺陷指向性更強(qiáng),用例間耦合度低,彼此間干擾低;測(cè)試用例設(shè)計(jì)應(yīng)對(duì)測(cè)試成本的考慮全面地體現(xiàn)在測(cè)試的設(shè)計(jì)、執(zhí)行和維護(hù)的各個(gè)階段;使測(cè)試結(jié)果分析和測(cè)試調(diào)試更簡(jiǎn)單;測(cè)試用例忠實(shí)反應(yīng)產(chǎn)品功能;重點(diǎn)考慮測(cè)試代碼的可讀性和描述性;3.1.2測(cè)試用例設(shè)計(jì)步驟測(cè)試用例更新完善業(yè)務(wù)流程分析明確軟件主流程,條件備選流程,數(shù)據(jù)流向,關(guān)鍵判斷條件測(cè)試需求分析明確測(cè)試軟件、模塊需求,測(cè)試需求測(cè)試用例設(shè)計(jì)確定測(cè)試套件,測(cè)試場(chǎng)景,針對(duì)測(cè)試場(chǎng)景,確定測(cè)試用例,增加測(cè)試數(shù)據(jù),完成測(cè)試用例測(cè)試用例評(píng)審確保測(cè)試過程和方法的正確性,以及是否有遺漏的測(cè)試點(diǎn)3.1.3測(cè)試用例的構(gòu)成測(cè)試輸入預(yù)期輸出結(jié)果執(zhí)行條件測(cè)試用例的預(yù)期輸出結(jié)果預(yù)期輸出結(jié)果與實(shí)際輸出結(jié)果是否一致測(cè)試用例斷言(TestOracle)第三章黑盒測(cè)試方法3.2等價(jià)類設(shè)計(jì)方法3.2.1等價(jià)類劃分3.2.2等價(jià)類劃分方法3.2.4等價(jià)類劃分的測(cè)試運(yùn)用3.2.1等價(jià)類劃分等價(jià)類劃分法是把所有可能的輸入數(shù)據(jù),即程序的輸入劃分成若干部分(子集),然后從每一個(gè)子集中選取少量具有代表性的數(shù)據(jù)作為測(cè)試用例;基本概念等價(jià)類的劃分的兩種情況有效等價(jià)類是指對(duì)程序的規(guī)格說明而言,合理且有意義的輸入數(shù)據(jù)構(gòu)成的集合。是指對(duì)程序的規(guī)格說明而言,不合理的、無意義的輸入數(shù)據(jù)構(gòu)成的集合。此處應(yīng)注意,正確的術(shù)語(yǔ)應(yīng)該是“無效值的等價(jià)類”,而不是“無效等價(jià)類”,因?yàn)榈葍r(jià)類本身并不是無效的,只是這個(gè)等價(jià)類對(duì)于某個(gè)特定的輸入值是無效的。無效等價(jià)類3.2.2等價(jià)類劃分方法如果一個(gè)輸入條件規(guī)定了輸入值的范圍,那么可以得到三個(gè)等價(jià)類:一個(gè)有效等價(jià)類和兩個(gè)無效等價(jià)類。例:規(guī)定輸入值的范圍是1~99,如圖所示,那么可以得到3個(gè)等價(jià)類:一個(gè)合法等價(jià)類{1,...,99};兩個(gè)非法等價(jià)類{x|x<1}和{x|x>99}。3.2.2等價(jià)類劃分方法如果輸入條件規(guī)定了必須滿足的情形,那么生成兩個(gè)等價(jià)類:一個(gè)為有效等價(jià)類;另一個(gè)為無效等價(jià)類。例:輸入的第一個(gè)字符必須是一個(gè)數(shù)字,那么得到兩個(gè)等價(jià)類—一個(gè)為有效等價(jià)類{s|s的第一個(gè)字符是數(shù)字};另一個(gè)為無效等價(jià)類{s|s的第一個(gè)字符不是數(shù)字}。3.2.2等價(jià)類劃分方法如果處理每個(gè)有效輸入的方式都不相同,那么為每個(gè)有效輸入生成一個(gè)有效等價(jià)類。例:如果在一個(gè)菜單中選擇菜單項(xiàng)作為輸入,那么應(yīng)該為每個(gè)菜單項(xiàng)定義一個(gè)等價(jià)類。如果輸入條件規(guī)定了有效輸入的數(shù)量(假定為N),那么為正確的輸入數(shù)量定義一個(gè)有效等價(jià)類,同時(shí)定義兩個(gè)無效等價(jià)類。3.2.2等價(jià)類劃分方法如果輸入條件規(guī)定了必須滿足的情形,那么生成兩個(gè)等價(jià)類:一個(gè)為有效等價(jià)類;另一個(gè)為無效等價(jià)類。例:輸入的第一個(gè)字符必須是一個(gè)數(shù)字,那么得到兩個(gè)等價(jià)類—一個(gè)為有效等價(jià)類{s|s的第一個(gè)字符是數(shù)字};另一個(gè)為無效等價(jià)類{s|s的第一個(gè)字符不是數(shù)字}。如果一個(gè)等價(jià)類中的元素被程序處理的方式不同,那么就把該等價(jià)類分割為更小的等價(jià)類。一種直觀的識(shí)別方式是簡(jiǎn)單值、普通值、極端值和典型值等。3.2.2等價(jià)類劃分方法測(cè)試用例的選擇原則設(shè)計(jì)一個(gè)新的測(cè)試用例,使其僅覆蓋一個(gè)尚未被覆蓋的無效等價(jià)類,重復(fù)這一步,直到所有的無效等價(jià)類都被覆蓋為止。設(shè)計(jì)一個(gè)新的測(cè)試用例,使其盡可能多地覆蓋尚未被覆蓋的有效等價(jià)類,重復(fù)這一步,直到所有的有效等價(jià)類都被覆蓋為止為每個(gè)劃分好的等價(jià)類規(guī)定唯一編號(hào)3.2.2等價(jià)類劃分方法等價(jià)類劃分的四個(gè)類別類型
缺陷假設(shè)類型是否考慮異常區(qū)域弱一般等價(jià)類單軟件缺陷假設(shè)不考慮強(qiáng)一般等價(jià)類多軟件缺陷假設(shè)不考慮弱健壯等價(jià)類單軟件缺陷假設(shè)考慮強(qiáng)健壯等價(jià)類多軟件缺陷假設(shè)考慮單軟件缺陷假設(shè)是指“失效極少是由兩個(gè)或兩個(gè)以上的軟件缺陷同時(shí)發(fā)生引起的”。多軟件缺陷假設(shè),則是指“失效是由兩個(gè)或兩個(gè)以上軟件缺陷同時(shí)作用引起的”,要求在選取測(cè)試用例時(shí)同時(shí)讓多個(gè)變量取極值。3.2.2等價(jià)類劃分方法不考慮無效數(shù)據(jù),測(cè)試用例使用每個(gè)等價(jià)類中的一個(gè)值。它選取的測(cè)試用例只需要覆蓋到有效等價(jià)類,弱一般等價(jià)類測(cè)試每個(gè)等價(jià)類至少要選擇一個(gè)測(cè)試用例。它不考慮無效等價(jià)類,選取測(cè)試用例時(shí),各個(gè)有效區(qū)間的組合都要覆蓋到強(qiáng)一般等價(jià)類測(cè)試弱健壯等價(jià)類測(cè)試強(qiáng)健壯等價(jià)類測(cè)試對(duì)于有效輸入,使用每個(gè)有效等價(jià)類的一個(gè)值;對(duì)于無效輸入,測(cè)試用例只使用一個(gè)無效值,其余值都是有效的。
每個(gè)無效等價(jià)類和有效等價(jià)類的組合都要覆蓋到,考慮所有的有效和無效情況,3.2.2等價(jià)類劃分方法例:某函數(shù)F有兩個(gè)輸入變量x1、x2,要求兩個(gè)輸入變量的取值范圍如下:a≤x1≤d,區(qū)間為[a,b],(b,c),[c,d];e≤x2≤g,區(qū)間為[e,f),[f,g],求各類等價(jià)類測(cè)試示例。弱一般等價(jià)類測(cè)試示例強(qiáng)一般等價(jià)類測(cè)試示例分析x1和x2的無效區(qū)間為:x1<a;x2>d;x2<e;x2>g。弱健壯等價(jià)類測(cè)試示例強(qiáng)健壯等價(jià)類測(cè)試示例3.2.3等價(jià)類劃分的測(cè)試運(yùn)用1、三角形問題的等價(jià)類測(cè)試?yán)狠斎?個(gè)整數(shù)a、b和c分別作為三角形的3條邊,通過程序判斷這3條邊的組成情況是等邊三角形、等腰三角形、一般三角形,還是不構(gòu)成三角形。有效等價(jià)類編號(hào)無效等價(jià)類編號(hào)整數(shù)1一邊為非整數(shù)兩邊為非整數(shù)三邊均為非整數(shù)4563個(gè)數(shù)2只有一條邊只有兩條邊多于三條邊7891≤a≤1001≤b≤1001≤c≤1003一邊為0兩邊為0三邊為0101112一邊<0兩邊<0三邊<0131415一邊>100兩邊>100三邊>100161718三角形問題的等價(jià)類3.2.3等價(jià)類劃分的測(cè)試運(yùn)用測(cè)試用例輸入a,b,c期望輸出覆蓋等價(jià)類Test21.5,4,5提示“請(qǐng)輸入1~100的整數(shù)”4Test33.5,2.5,5提示“請(qǐng)輸入1~100的整數(shù)”5Test42.5,4.5,5.5提示“請(qǐng)輸入1~100的整數(shù)”6Test53提示“請(qǐng)輸入3條邊長(zhǎng)”7Test64,5提示“請(qǐng)輸入3條邊長(zhǎng)”8Test72,3,4,5提示“請(qǐng)輸入3條邊長(zhǎng)”9Test83,0,8提示“邊長(zhǎng)不能為0”10Test90,6,0提示“邊長(zhǎng)不能為0”11Test100,0,0提示“邊長(zhǎng)不能為0”12Test11?3,4,6提示“邊長(zhǎng)不能為負(fù)”13Test122,?7,?5提示“邊長(zhǎng)不能為負(fù)”14Test13?3,?4,?5提示“邊長(zhǎng)不能為負(fù)”15Test14101,4,5提示“請(qǐng)輸入1~100的整數(shù)”16Test153,101,102提示“請(qǐng)輸入1~100的整數(shù)”17Test16101,104,105提示“請(qǐng)輸入1~100的整數(shù)”18覆蓋無效類的測(cè)試用例表3.2.3等價(jià)類劃分的測(cè)試運(yùn)用2、NextDate函數(shù)問題NextDate函數(shù)包含3個(gè)變量,即月份(month)、日期(day)和年份(year),函數(shù)的輸出為輸入日期的后一天。例如,輸入為2017年4月25日,則函數(shù)的輸出為2017年4月26日。函數(shù)要求輸入變量均為整數(shù)值,并且滿足下列條件:(1)1≤month≤12;(2)1≤day≤31;(3)1912≤year≤2050。使用簡(jiǎn)單等價(jià)類劃分方法,可以劃分為以下有效等價(jià)類:M1={month:1≤month≤12}D1={day:1≤day≤31}Y1={year:1912≤year≤2050}若M1、D1、Y1這3個(gè)條件中的任意一個(gè)無效,那么NextDate函數(shù)都會(huì)產(chǎn)生一個(gè)輸出,其無效等價(jià)類:M2={month:month<1}M3={month:month>12}D2={day:day<1}D3={day:day>31}Y2={year:year<1912}Y3={year:year>2050}3.2.3等價(jià)類劃分的測(cè)試運(yùn)用測(cè)試用例
輸入期望輸出
daymonthyearTestCase125420172017年4月26日NextDate函數(shù)的一般等價(jià)類測(cè)試用例NextDate函數(shù)的弱健壯等價(jià)類測(cè)試用例測(cè)試用例
輸入期望輸出daymonthyearTestCase125420172017年4月26日TestCase22502017month不在1~12中TestCase325132017month不在1~12中TestCase4042017day不在1~31中TestCase53242017day不在1~31中TestCase62541911year不在1912~2050中TestCase72542051year不在1912~2050中弱健壯等價(jià)類測(cè)試中的無效測(cè)試用例則只包含一個(gè)無效值,其他都是有效值,即含有單軟件缺陷假設(shè)。3.2.3等價(jià)類劃分的測(cè)試運(yùn)用
NextDate函數(shù)的強(qiáng)健壯等價(jià)類測(cè)試用例測(cè)試用例輸入期望輸出daymonthyearTestCase125?12017month不在1~12中TestCase2?2542017day不在1~31中TestCase32541900year不在1912~2050中TestCase4?1?42017變量day、month無效,變量year有效TestCase5?141900變量day、year無效,變量month有效TestCase625?41911變量month、year無效,變量day有效TestCase7?25?42051變量day、month、year無效強(qiáng)健壯等價(jià)類測(cè)試考慮了更多的無效值情況。強(qiáng)健壯等價(jià)類測(cè)試中的無效測(cè)試用例可以包含多個(gè)無效值,即包含多個(gè)軟件缺陷假設(shè)。因?yàn)镹extDate函數(shù)有3個(gè)變量,所以對(duì)應(yīng)的強(qiáng)健壯等價(jià)類測(cè)試用例可以包含一個(gè)無效值,2個(gè)無效值或3個(gè)無效值。3.2.3等價(jià)類劃分的測(cè)試運(yùn)用改進(jìn)等價(jià)類劃分測(cè)試NextDate函數(shù)測(cè)試用例輸入期望輸出daymonthyearTestCase130620172017年7月1日TestCase231820172017年9月1日TestCase327220172017年2月28日TestCase428220172017年3月1日TestCase529220162016年3月1日TestCase6311220172018年1月1日TestCase73192017不可能的輸入日期TestCase82922017不可能的輸入日期TestCase93022017不可能的輸入日期TestCase109152017變量month無效TestCase113592017變量day無效TestCase12992100變量year無效關(guān)于每個(gè)月的天數(shù)問題,可以詳細(xì)劃分為以下等價(jià)類。M1={month:month有30天}M2={month:month有31天,除去12月}M3={month:month是2月}M4={month:month是12月}D1={day:1≤day≤27}D2={day:day=28}D3={day:day=29}D4={day:day=30}D5={day:day=31}Y1={year:year是閏年}Y2={year:year不是閏年}NextDate函數(shù)的改進(jìn)等價(jià)類劃分測(cè)試用例第三章黑盒測(cè)試方法3.3邊界值設(shè)計(jì)方法3.3.1邊界值分析法原理3.3.2邊界值分析原則3.3.3健壯性分析3.3.4邊界值分析法的測(cè)試運(yùn)用
3.3.1邊界值分析法原理1.邊界值測(cè)試原理邊界值分析法的基本思想是在等價(jià)類的極端情況下考慮軟件測(cè)試工作,因?yàn)殄e(cuò)誤很容易發(fā)生在輸入值的關(guān)鍵點(diǎn),即從合法變?yōu)榉欠ǖ哪且稽c(diǎn)。2.邊界條件邊界條件即輸入定義域或輸出值域的邊界,而不是內(nèi)部。通常情況下,軟件測(cè)試所包含的邊界檢驗(yàn)有以下幾種類型:數(shù)字、字符、位置、質(zhì)量、大小、速度、方位、尺寸、空間等。3.邊界值分析法的優(yōu)缺點(diǎn)邊界值分析法在測(cè)試范圍的邊界值上進(jìn)行考慮,相對(duì)來說是比較簡(jiǎn)便易行的,生成測(cè)試數(shù)據(jù)的成本也很低。但對(duì)于整個(gè)測(cè)試過程來說,它的測(cè)試用例不夠充分,也不能發(fā)現(xiàn)測(cè)試變量之間的依賴關(guān)系,因此只能作為初步測(cè)試用例使用。3.3.2邊界值分析原則如果輸入條件規(guī)定了一個(gè)取值范圍,就從范圍的邊界生成合法測(cè)試用例,并為恰好超出邊界的輸入值生成非法測(cè)試用例。如果輸入條件規(guī)定了值的個(gè)數(shù),就用最大個(gè)數(shù)、最小個(gè)數(shù)、比最小個(gè)數(shù)少1、比最大個(gè)數(shù)多1的個(gè)數(shù)創(chuàng)建測(cè)試用例。如果輸出條件規(guī)定了一個(gè)取值范圍,就為輸出范圍的邊界生成合法測(cè)試用例,并為恰好超出邊界的輸出值生成非法測(cè)試用例。如果程序的輸入或輸出是一個(gè)有序的集合(如順序文件、線性列表、表格等),就需要關(guān)注第一個(gè)和最后一個(gè)元素。尋找其他邊界條件。例如,如果合法范圍是?999~999,那么測(cè)試用例包括合法測(cè)試用例?999、合法測(cè)試用例999、非法測(cè)試用例?1000、非法測(cè)試用例1000。3.3.3健壯性分析健壯性指軟件在發(fā)生異常的情況下還能正常運(yùn)行的能力。健壯性測(cè)試是邊界值分析的一種簡(jiǎn)單擴(kuò)展。除了對(duì)變量的5個(gè)邊界分析取值,還要考慮略超過最大值(max+)和略小于最小值(min?)時(shí)的情況。
在進(jìn)行健壯性測(cè)試時(shí),需要注意以下幾點(diǎn):(1)健壯性測(cè)試需要注意預(yù)期的輸出。(2)健壯性測(cè)試的主要價(jià)值是觀察異常情況的處理。(3)軟件質(zhì)量要素的衡量標(biāo)準(zhǔn)包括軟件的容錯(cuò)性。(4)軟件的容錯(cuò)性度量可以是軟件從非法輸入中恢復(fù)的能力。對(duì)于一個(gè)有兩個(gè)輸入變量的程序而言,健壯性邊界值測(cè)試用例選取如圖所示3.3.4邊界值分析法的測(cè)試運(yùn)用1.三角形問題的邊界值分析測(cè)試用例設(shè)計(jì)在三角形問題中,除了要求邊長(zhǎng)是整數(shù),沒有給出其他限制條件。假設(shè)輸入在1~100取值,則邊長(zhǎng)下界為1,上界為100。測(cè)試用例abc預(yù)期輸出Test160601等腰三角形Test260602等腰三角形Test3606060等邊三角形Test4505099等腰三角形Test55050100非三角形Test660160等腰三角形Test760260等腰三角形Test8509950等腰三角形Test95010050非三角形Test1016060等腰三角形Test1126060等腰三角形Test12995050等腰三角形Test131005050非三角形
三角形問題的邊界值分析測(cè)試用例3.3.4邊界值分析法的測(cè)試運(yùn)用在使用等價(jià)類劃分進(jìn)行測(cè)試時(shí),還需要注意以下問題(1)如果實(shí)現(xiàn)的語(yǔ)言是強(qiáng)類型語(yǔ)言(無效值輸入會(huì)引起系統(tǒng)運(yùn)行時(shí)出錯(cuò)),則沒有必要使用健壯等價(jià)類測(cè)試。(2)如果錯(cuò)誤輸入檢查非常重要,則應(yīng)進(jìn)行健壯等價(jià)類測(cè)試。(3)如果輸入數(shù)據(jù)以離散區(qū)間或集合的形式定義,則等價(jià)類測(cè)試是合適的,當(dāng)然也適用于變量值越界會(huì)造成故障的系統(tǒng)。(4)在發(fā)現(xiàn)合適的等價(jià)關(guān)系之前,可能需要許多次的嘗試。第三章黑盒測(cè)試方法3.4因果圖和決策表設(shè)計(jì)方法3.4.1因果圖原理3.4.2因果圖法應(yīng)用3.4.3決策表法及其應(yīng)用
3.4.1因果圖原理因果圖使用簡(jiǎn)單的邏輯符號(hào),用直線連接左右節(jié)點(diǎn)。左節(jié)點(diǎn)表示輸入狀態(tài),是因果圖的原因;右節(jié)點(diǎn)表示輸出狀態(tài),是結(jié)果。因果圖中的4種符號(hào)分別表示
4種因果關(guān)系。其中,ci表示原因,通常位于圖左;ei表示結(jié)果,通常位于圖右。ci與ei可以取值0或1,0表示狀態(tài)不出現(xiàn),1表示狀態(tài)出現(xiàn)。4
種因果關(guān)系(1)恒等:若c1為1,則e1也為1。(2)非:若c1為1,則e1為0。(3)或:c1或c2或c3為1,則e1為1;否則e1為0?;蚩梢杂腥我鈧€(gè)輸入。(4)與:若c1和c2都為1,則e1為1;否則e1為0。與可以有任意個(gè)輸入。3.4.1因果圖原理因果圖的約束的類別(1)異或:a和b最多有一個(gè)為1,即a和b不能同時(shí)為1。(2)或:a和b至少有一個(gè)為1,即a和b不能同時(shí)為0。(3)唯一:a和b有且僅有一個(gè)為1。(4)要求:a為1時(shí),b必須為1。(5)強(qiáng)制:強(qiáng)制約束是關(guān)于輸出條件的約束。若結(jié)果a是1,則結(jié)果b強(qiáng)制為0。3.4.1因果圖原理因果圖法設(shè)計(jì)測(cè)試用例的步驟1、根據(jù)程序規(guī)格說明書識(shí)別出輸入條件或輸入條件的等價(jià)類(原因)以及輸出條件(結(jié)果),并給每個(gè)原因和結(jié)果賦予一個(gè)標(biāo)識(shí)符。2、找出原因與原因之間、原因與結(jié)果之間的對(duì)應(yīng)關(guān)系,將其表示成連接各個(gè)原因與各個(gè)結(jié)果之間的“因果圖”。3、由于語(yǔ)法及環(huán)境限制,有些原因與原因之間、原因與結(jié)果之間的組合情況是不可能出現(xiàn)的,在因果圖上用記號(hào)表明約束或限制條件。4、將因果圖轉(zhuǎn)換成決策表。5、根據(jù)決策表中每一列設(shè)計(jì)測(cè)試用例。3.4.2因果圖法應(yīng)用例:需要設(shè)計(jì)這樣一個(gè)軟件,其程序的規(guī)格要求如下:輸入的第1個(gè)字符必須是“#”或“*”,第2個(gè)字符必須是一個(gè)數(shù)字,在此情況下進(jìn)行文件的修改;如果第1個(gè)字符不是“#”或“*”,則給出信息N;如果第2個(gè)字符不是數(shù)字,則給出信息M。步驟一:對(duì)程序設(shè)計(jì)要求進(jìn)行分析,分別給出原因和結(jié)果,并對(duì)每一個(gè)原因?qū)?yīng)的結(jié)果都給定一個(gè)標(biāo)識(shí)。原因結(jié)果c1:第1個(gè)字符是“#”e1:給出信息“N”c2:第1個(gè)字符是“*”e2:修改文件c3:第2個(gè)字符是一個(gè)數(shù)字e3:給出信息“M”3.4.2因果圖法應(yīng)用步驟二:找出原因與原因之間、原因與結(jié)果之間的對(duì)應(yīng)關(guān)系,將其表示成連接各個(gè)原因與各個(gè)結(jié)果之間的“因果圖”。將得出的原因和結(jié)果進(jìn)行連接,可以得到程序的因果圖,如圖3-11所示。其中編號(hào)為10的中間節(jié)點(diǎn)是導(dǎo)出結(jié)果的進(jìn)一步原因。繪制過程中,發(fā)現(xiàn)原因c1與c2不可能同時(shí)為1,即第一個(gè)字符不可能既是“#”又是“*”,所以在因果圖上加上E約束。因果圖表示3.4.2因果圖法應(yīng)用步驟三:將因果圖轉(zhuǎn)換成決策表
12345678條件c111110000c211001100c31010101010
111100動(dòng)作e1
√√e2
√
√
e3
√
√
√不可能√√
根據(jù)因果圖建立的決策表3.4.3決策表法及其應(yīng)用1.決策表決策表(也稱為判定表)是分析和表達(dá)多邏輯條件下執(zhí)行不同操作情況的工具。在所有的黑盒測(cè)試方法中,基于決策表的測(cè)試是最為嚴(yán)格、最具有邏輯性的測(cè)試方法。決策表的4個(gè)組成部分①條件樁—列出問題的所有條件;②條件項(xiàng)—針對(duì)條件樁給出的條件列出所有的可能值;③動(dòng)作樁—列出問題規(guī)定的可能采取的操作;④動(dòng)作項(xiàng)—指出在條件項(xiàng)的各組取值情況下應(yīng)采取的動(dòng)作。動(dòng)作項(xiàng)和條件項(xiàng)緊密相關(guān),指出在條件項(xiàng)的各組取值情況下應(yīng)采取的動(dòng)作。3.4.3決策表法及其應(yīng)用2.構(gòu)建決策表的步驟步驟一:確定規(guī)則的個(gè)數(shù)。一般來說,有n個(gè)條件的決
策表有2n個(gè)規(guī)則。步驟二:列出所有的條件樁和動(dòng)作樁。步驟三:填入條件項(xiàng)。步驟四:填入動(dòng)作項(xiàng),得到初始決策表。步驟五:簡(jiǎn)化決策表,合并相似規(guī)則。3.4.3決策表法及其應(yīng)用
當(dāng)決策表較煩瑣時(shí),會(huì)對(duì)它進(jìn)行簡(jiǎn)化。有兩條或多條規(guī)則具有相同的動(dòng)作,并且其條件項(xiàng)之間存在著極為相似的關(guān)系,就可以將規(guī)則合并,合并后的條件項(xiàng)用符號(hào)“—”表示
當(dāng)對(duì)規(guī)則進(jìn)行進(jìn)一步合并時(shí),若需要被合并的條件項(xiàng)分別為“—”和一個(gè)任意值,可以直接合并為“—”。兩條規(guī)則合并為一條兩條規(guī)則進(jìn)一步合并3.4.3決策表法及其應(yīng)用3.以三角形問題為例構(gòu)建決策表①、列出問題的條件樁為C1:a、b、c能構(gòu)成三角形嗎?C2:a=b?C3:a=c?C4:b=c?②、計(jì)算這個(gè)問題的規(guī)則數(shù)共有4個(gè)條件,每個(gè)條件的取值為“是”或“否”,因此共有24=16條規(guī)則。③、列出動(dòng)作樁A1:非三角形A2:不等邊三角形A3:等腰三角
形A4:等邊三角形A5:不構(gòu)成三角形3.4.3決策表法及其應(yīng)用123456789條件a、b、c能構(gòu)成三角形嗎?NYYYYYYYYa=b?—YYYYNNNNa=c?—YYNNYYNNb=c?—YNYNYNYN動(dòng)作非三角形√
不等邊三角形
√等腰三角形
√
√√
等邊三角形
√
不構(gòu)成三角形
√√
√
三角形問題的決策表第三章黑盒測(cè)試方法3.5正交試驗(yàn)設(shè)計(jì)方法3.5.1正交試驗(yàn)設(shè)計(jì)法原理3.5.2利用正交試驗(yàn)法設(shè)計(jì)測(cè)試用例
3.5.1正交試驗(yàn)設(shè)計(jì)法原理1.正交試驗(yàn)法正交試驗(yàn)設(shè)計(jì)方法是依據(jù)伽羅瓦(Galois)理論,從大量的試驗(yàn)數(shù)據(jù)(測(cè)試用例)中挑選適量的、有代表性的點(diǎn)(例),從而合理地安排試驗(yàn)(測(cè)試)的一種科學(xué)試驗(yàn)設(shè)計(jì)方法。2.利用正交試驗(yàn)設(shè)計(jì)測(cè)試用例的步驟提取功能說明,構(gòu)造因子—狀態(tài)表加權(quán)篩選,生成因素分析表利用正交表構(gòu)造測(cè)試數(shù)據(jù)集3.5.1正交試驗(yàn)設(shè)計(jì)法原理3.正交表的構(gòu)成(1)行數(shù)(Rows):正交表中行的數(shù)量,即試驗(yàn)的次數(shù),也是我們通過正交試驗(yàn)法設(shè)計(jì)的測(cè)試用例的個(gè)數(shù)。(2)因素?cái)?shù)(Factors):正交表中列的數(shù)量,即我們要測(cè)試的功能點(diǎn)。(3)水平數(shù)(Levels):任何單個(gè)因素能夠取得的值的最大個(gè)數(shù)。列號(hào)
1234567行號(hào)1111111121110000310011004100001150101010601010107001100180010110正交表中包含的值為從0到“水平數(shù)?1”或從1到“水平數(shù)”,即要測(cè)試功能點(diǎn)的輸入條件。正交表一般使用L行數(shù)(水平數(shù)因素?cái)?shù))來表示,如L8(27),代表的是8行7列,水平數(shù)為2的正交表,如表3-15所示,其中加粗?jǐn)?shù)字為因素,而底紋所在處為幾個(gè)水平值正交表示例3.5.1正交試驗(yàn)設(shè)計(jì)法原理4.交互作用每張正交表后都附有相應(yīng)的交互作用表,它是專門用來安排交互作用試驗(yàn)的。安排交互作用的試驗(yàn)時(shí),是將兩個(gè)因素的交互作用當(dāng)作一個(gè)新的因素,占用一列,為交互作用列,L8(27)交互作用表交互作用表中可查出L8(27)正交表中的任何兩列的交互作用列。表中帶“()”的為主因素的列號(hào),它與另一主因素的交互列為第1個(gè)列號(hào)從左向右,第2個(gè)列號(hào)順次由下向上,二者相交的號(hào)為二者的交互作用列。3.5.1正交試驗(yàn)設(shè)計(jì)法原理正交試驗(yàn)的表頭設(shè)計(jì)是正交設(shè)計(jì)的關(guān)鍵,它承擔(dān)著將各因素及交互作用合理安排到正交表的各列中的重要任務(wù),正交試驗(yàn)的表頭設(shè)計(jì)的主要步驟如下:組織實(shí)施方案確定列數(shù)確定各因素的水平數(shù)選定正交表表頭安排3.5.2正交試驗(yàn)法設(shè)計(jì)測(cè)試用例1.用正交表設(shè)計(jì)測(cè)試用例的步驟(1)有哪些因素(變量)。(2)每個(gè)因素有哪幾個(gè)水平(變量的取值)。(3)選擇一個(gè)合適的正交表。(4)把正交表中變量的值映射到表中。(5)把正交表中每行的各因素水平的組合作為一個(gè)測(cè)試用例。(6)加上可疑且沒有在正交表中出現(xiàn)的組合。2.如何選擇正交表(1)考慮因素(變量)的個(gè)數(shù)。(2)考慮因素水平(變量的取值)的個(gè)數(shù)。(3)考慮正交表的行數(shù)。(4)取行數(shù)最少的一個(gè)。3.5.2正交試驗(yàn)法設(shè)計(jì)測(cè)試用例3.選擇正交表的基本原則(1)先看水平數(shù)。若各因素全是二水平,就選用L(2*)表;若各因素全是三水平,就選L(3*)表。若各因素的水平數(shù)不相同,就選擇適用的混合水平表。(2)每一個(gè)交互作用在正交表中應(yīng)占1列或2列。(3)要看試驗(yàn)精度的要求。若要求高,則宜取試驗(yàn)次數(shù)多的L表。(4)若試驗(yàn)費(fèi)用很昂貴、試驗(yàn)的經(jīng)費(fèi)很有限或人力和時(shí)間都比較緊張,則不宜選試驗(yàn)次數(shù)太多的L表。(5)按原來考慮的因素、水平和交互作用去選擇正交表,若無正好適用的正交表可選,簡(jiǎn)便且可行的辦法是適當(dāng)修改原定的水平數(shù)。(6)對(duì)某因素或某交互作用的影響是否確實(shí)存在沒有把握的情況下,選擇L表時(shí)常為該選大表還是選小表而猶豫。若條件許可,應(yīng)盡量選用大表,讓影響存在的可能性較大的因素和交互作用各占適當(dāng)?shù)牧?。第三章黑盒測(cè)試方法3.6組合測(cè)試方法3.6.1基本概念3.6.2構(gòu)造方法3.6.3組合測(cè)試工具的使用
3.6.1組合測(cè)試基本概念正交試驗(yàn)設(shè)計(jì)方法存在的問題構(gòu)造正交表需要輸入?yún)?shù)的可能取值數(shù)保持一致,并且輸入?yún)?shù)的個(gè)數(shù)與參數(shù)的取值數(shù)需要滿足一定的條件。實(shí)際測(cè)試時(shí),抽取的輸入?yún)?shù)和參數(shù)的可能取值很難滿足該條件測(cè)試人員基于自身的測(cè)試經(jīng)驗(yàn),可能希望部分參數(shù)之間實(shí)現(xiàn)更高強(qiáng)度的組合覆蓋或部分參數(shù)之間的約束關(guān)系,正交試驗(yàn)設(shè)計(jì)方法難以滿足。3.6.1組合測(cè)試基本概念組合測(cè)試(CombinatorialTesting)方法則可以有效地解決上述問題,組合測(cè)試步驟如下:
對(duì)被測(cè)項(xiàng)目進(jìn)行分析,借助之前介紹的等價(jià)類劃分和邊界值分析等方
法,識(shí)別出被測(cè)項(xiàng)目的輸入?yún)?shù),并依次確定每個(gè)參數(shù)的可能取值。
確定組合測(cè)試要使用的t-way組合覆蓋準(zhǔn)則。
將可以覆蓋t-way組合覆蓋準(zhǔn)則的測(cè)試用例稱為組合測(cè)試用例集。3.6.1組合測(cè)試基本概念假設(shè)需要對(duì)部署的系統(tǒng)做兼容性測(cè)試識(shí)別出影響到系統(tǒng)兼容性的4個(gè)因素,分別是數(shù)據(jù)庫(kù)服務(wù)器、Web
服務(wù)器、瀏覽器和路由器。依次分析出每個(gè)因素的可能取值數(shù)據(jù)庫(kù)服務(wù)器Web服務(wù)器瀏覽器路由器OracleApacheIECiscoSQLServerJBossFirefoxHuaweiMySQLWebSphereChromeAlcatel
系統(tǒng)兼容性測(cè)試的輸入得到最優(yōu)成對(duì)組合測(cè)試用例集數(shù)據(jù)庫(kù)服務(wù)器Web服務(wù)器瀏覽器路由器OracleApacheIECiscoOracleJBossFirefoxHuaweiOracleWebSphereChromeAlcatelSQLServerApacheFirefoxAlcatelSQLServerWebSphereIEHuaweiSQLServerJBossChromeCiscoMySQLApacheChromeHuaweiMySQLJBossIEAlcatelMySQLWebSphereFirefoxCisco3.6.1組合測(cè)試基本概念組合測(cè)試的優(yōu)點(diǎn)組合測(cè)試通過僅關(guān)注部分參數(shù)間的組合覆蓋可以有效減小構(gòu)造出的測(cè)試用例集規(guī)模;組合測(cè)試技術(shù)可以有效地檢測(cè)出由于參數(shù)間交互所觸發(fā)的各種軟件缺陷;部分實(shí)證研究也表明,在一些測(cè)試場(chǎng)景下,組合測(cè)試技術(shù)可以用小規(guī)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年政府公共安全監(jiān)控技術(shù)合同范本3篇
- 2024年版建設(shè)項(xiàng)目招標(biāo)協(xié)調(diào)合同
- 三年級(jí)教學(xué)計(jì)劃3篇
- 員工工作計(jì)劃
- 2024-2030年中國(guó)羥甲煙胺片行業(yè)發(fā)展?jié)摿︻A(yù)測(cè)及投資戰(zhàn)略研究報(bào)告
- 服裝銷售工作計(jì)劃
- 學(xué)習(xí)部工作計(jì)劃4篇
- 去超市實(shí)習(xí)報(bào)告范文集合7篇
- 銀行員工辭職信
- 關(guān)于教師職稱述職報(bào)告匯編5篇
- 2024年小學(xué)教師聽課、評(píng)課制度
- 精品解析:河北省衡水市衡水中學(xué)2023-2024學(xué)年高一上學(xué)期期末數(shù)學(xué)試題(解析版)
- 2023年《鐵道概論》考試復(fù)習(xí)題庫(kù)附答案(含各題型)
- (電焊工)勞務(wù)分包合同
- 陜西省西安市西咸新區(qū)2023-2024學(xué)年七年級(jí)上學(xué)期1月期末歷史試題
- 北師大版數(shù)學(xué)三年級(jí)下冊(cè)全冊(cè)教案教學(xué)設(shè)計(jì)及教學(xué)反思
- 重難點(diǎn)06讀后續(xù)寫-2023年高考英語(yǔ)【熱點(diǎn)·重點(diǎn)·難點(diǎn)】(新高考專用)
- 眼科手術(shù)圍手術(shù)期的護(hù)理
- 人事行政主管打造高效團(tuán)隊(duì)提升員工滿意度實(shí)現(xiàn)人力資源的優(yōu)化管理和企業(yè)文化的建設(shè)
- 《腰椎穿刺術(shù)》課件
- 2023年MC工程師年度總結(jié)及下一年計(jì)劃
評(píng)論
0/150
提交評(píng)論