T4測試用例設計-因果圖與決策表課件_第1頁
T4測試用例設計-因果圖與決策表課件_第2頁
T4測試用例設計-因果圖與決策表課件_第3頁
T4測試用例設計-因果圖與決策表課件_第4頁
T4測試用例設計-因果圖與決策表課件_第5頁
已閱讀5頁,還剩87頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

SoftwareTestingFoundation第三部分:測試設計技術SoftwareTestingFoundation第三部wangchunxiu@21.黑盒測試技術常用的黑盒測試技術有:1.1等價類劃分法1.2邊界值分析法1.3狀態轉移測試1.4因果圖和決策表1.5用例測試1.6其他黑盒技術wangchunxiu@21.黑盒測試wangchunxiu@3思考以下問題一圖書銷售系統,其中一加工為“優惠處理”,條件是:顧客的營業額大于1000元,同時必須信譽好,或者雖然信譽不好,但是20年以上的老主顧。要求使用所學的方法設計測試用例,怎么做?wangchunxiu@3思考以下問題一wangchunxiu@4因果圖/決策表法因果圖決策表wangchunxiu@4因果圖/決策表wangchunxiu@51.因果圖法 把輸入條件視為“因”,把輸出條件視為“果”,將黑盒看成是從因到果的網絡圖,采用邏輯圖的形式來表達功能說明書中輸入條件的各種組合與輸出的關系。根據這種關系可選擇高效的測試用例。

方法的依據:需求規格說明中的因果關系wangchunxiu@51.因果圖法wangchunxiu@6因果圖方法舉例某程序要求:第一列字符必須是A或B,第二列字符必須是一個數字,在此情況下對文件進行修改。但第一列字符不正確,則給出信息L;若第二列字符不是一個數字,則給出信息M。分析原因1——第一列字符是A2——第一列字符是B3——第二列字符是一個數字結果21——修改文件22——給出信息L23——給出信息Mwangchunxiu@6因果圖方法舉例wangchunxiu@7因果圖21232223111∨∧E原因1——第一列字符是A2——第一列字符是B3——第二列字符是一個數字結果21——修改文件22——給出信息L23——給出信息M1或者21或者2,不可能既是A又是B既不是A又不是B,給出信息L11與3不是3給出信息Mwangchunxiu@7因果圖2123wangchunxiu@8將因果圖轉換為判定表并得出測試用例12345678條件(原因)①11110000②11001100③10101010111100動作(結果)000011101000010101測試用例A3A8ABA?B5B4BNB!C2X6SDP$23212211wangchunxiu@8將因果圖轉換為wangchunxiu@9決策表測試在所有的黑盒測試方法中,基于決策表的測試是最嚴格的、最具有邏輯性的測試方法。決策表一直被用來表示和分析復雜的邏輯關系,描述不同條件集合下采取行動的若干組合情況。wangchunxiu@9決策表測試在所wangchunxiu@10決策表(DecisionTable)

決策表是一種二維的表格,通常由四部分組成。條件框—條件定義。操作框—操作的定義。條件條目—各條件的取值及組合。操作條目—在各條件取值組合下所執行的操作。特點:可處理較復雜的組合條件,但不易理解,不易輸入計算機。

條件框條件條目操作框操作條目wangchunxiu@10決策表(Dewangchunxiu@11決策表法的步驟列出影響結果的所有條件,每種條件構成條件框的一行列出所有可能采取的動作,每種動作構成操作框的一行將每種條件的各種可能取值填入決策表的條件條目,用“Y”或“N”表示,決策表的列數是各種條件取值的組合在操作條目中對各列條件組合所采取的動作劃“X”簡化決策表wangchunxiu@11決策表法的步wangchunxiu@12Asimpleexample如果天冷,加外套;如下雨,帶傘;1.

列出所有可能的條件天冷下雨2.

列出所有可能的動作帶外套帶雨傘3.

列出所有可能條件的取值組合YYNNYNYN4.

列出各條件組合所采取的動作XXXXwangchunxiu@12Asimpwangchunxiu@13判斷表(DecisionTable)例1:一圖書銷售系統,其中一加工為“優惠處理”,條件是:顧客的營業額大于1000元,同時必須信譽好,或者雖然信譽不好,但是20年以上的老主顧。12345678>1000元YYYYNNNN信譽好YYNNYYNN>20年YNYNYNYN優惠XXX正常XXXXXY-滿足條件N-不滿足條件X-選中判定的結論條件框條件條目操作框操作條目wangchunxiu@13判斷表(Dewangchunxiu@1412345678>1000元YYYYNNNN信譽好YYNNYYNN>20年YNYNYNYN優惠XXX正常XXXXX說明不管>20年的條件滿足與否,都執行優惠1234>1000元YYYN信譽好YNN>20年YN優惠XX正常XX優化后的決策表wangchunxiu@14123456wangchunxiu@15根據決策表設計測試用例1234>1000元YYYN信譽好YNN>20年YN優惠XX正常XX測試用例1200,好,-1200,不好,25年1200,不好,12年900,不好,12wangchunxiu@15根據決策表設wangchunxiu@16例2:ATM用銀行卡在ATM取款的流程如圖所示要求:完成銀行卡取款決策表,并設計測試用例wangchunxiu@16例2:ATMwangchunxiu@17第一步:列出所有可能的條件銀行卡有效PIN正確3次錯誤PIN有錢可用wangchunxiu@17第一步:列出wangchunxiu@18第二步:列出所有可能的動作銀行卡有效PIN正確3次錯誤PIN有錢可用拒絕卡詢問新PIN吞卡詢問新金額出幣wangchunxiu@18第二步:列出wangchunxiu@19第三步:列出所有條件組合12345678910111213141516銀行卡有效NNNNYYYYNNNYYYNYPIN正確NNNYNYNNYYNYYNYY3次錯誤PINNNYNNNYNYNYYNYYY有錢可用NYNNNNNYNYYNYYYY拒絕卡詢問新PIN吞卡詢問新金額出幣××不可能wangchunxiu@19第三步:列出wangchunxiu@20第四步:列出條件組合的動作12345678910111213141516銀行卡有效NNNNYYYYNNNYYYNYPIN正確NNNYNYNNYYNYYNYY3次錯誤PINNNYNNNYNYNYYNYYY有錢可用NYNNNNNYNYYNYYYY拒絕卡XXXXXXXX詢問新PINXX吞卡XX詢問新金額X出幣X××wangchunxiu@20第四步:列出wangchunxiu@21第五步:簡化12345銀行卡有效NYYYYPIN正確-NNYY3次錯誤PIN-NYNN有錢可用---NY拒絕卡X詢問新PINX吞卡X詢問新金額X出幣Xwangchunxiu@21第五步:簡化wangchunxiu@22課后練習:用決策表法為QQ登錄界面設計測試用例申請一個QQ賬號(如已有,該步省略);列出所有可能的條件列出所有可能的動作列出所有可能條件的取值組合標出各條件組合所采取的動作完成決策表;根據決策表設計測試用例在實驗報告中給出完成的決策表及設計的測試用例。wangchunxiu@22課后練習:用wangchunxiu@23下課前完成并提交wangchunxiu@23下課前完成并wangchunxiu@24軟件測試經典案例:NextDate函數wangchunxiu@24軟件測試經典wangchunxiu@25關于Date的一些知識閏年/非閏年大月/小月/平月閏年年份能被4整除能夠被100整除且同時能夠被4整除大月/小月/平月大月:每月31天,有1、3、5、7、8、10、12小月:每月30天,有4、6、9、11平月:平年有28天,閏年有29天,有2月wangchunxiu@25關于Datewangchunxiu@26關于月份的英文月份英文月份英文1January7July2February8August3March9September4April10October5May11November6June12Decemberwangchunxiu@26關于月份的英wangchunxiu@27NextDate函數舉例:輸入期望輸出分析2009.4.62009.4.72009.4.302009.5.12009.5.302009.5.312009.5.312009.6.12008.12.312009.1.12008.2.282008.2.292009.2.282009.3.1……日期加1月份加1,日期復位日期加1年加1,月復位,日復位日期加1月份加1,日期復位思考:同樣是30日,為何處理方式不一樣?思考:同樣是31日,為何處理方式不一樣?思考:同樣是28日,為何處理方式不一樣?月份加1,日期復位wangchunxiu@27NextDawangchunxiu@28發現了什么? 變量之間在輸入定義域中存在邏輯依賴關系。 對這種情況,使用決策表方法可以較好地處理。wangchunxiu@28發現了什么?wangchunxiu@29使用決策表設計測試用例時,可以把條件解釋為輸入,把動作解釋為輸出wangchunxiu@29使用決策表設wangchunxiu@30分析NextDate中的輸入日(D)月(M)年(Y)M1:{month:month有30天}M2:{month:month有31天,12月除外}M3:{month:month是12月}M4:{month:month是2月}D1:{1≤day≤27}D2:{day=28}D3:{day=29}D4:{day=30}D5:{day=31}Y1:{year:year是閏年}Y2:{year:year不是閏年}注意:這里的每個輸入條件不是簡單的滿足或不滿足,而是可以取不同的值,當取值不同時,所采取的動作也不同。因此,必須對各種不同取值分別考慮。wangchunxiu@30分析Nextwangchunxiu@31通過前面的例子發現為了產生給定日期的下一個日期,NextDate函數的操作有5種:日期加1月份加1日期復位月份復位年份加1wangchunxiu@31通過前面的例wangchunxiu@32第一步規則選項C1:month在c2:day在C3:year在wangchunxiu@32第一步wangchunxiu@33第二步規則選項C1:month在c2:day在C3:year在A1:不可能A2:day+1A3:day復位A4:month+1A5:month復位A6:year+1wangchunxiu@33第二步wangchunxiu@34第三步規則選項1234567891011C1:month在M1M1M1M1M1M2M2M2M2M2M3c2:day在D1D2D3D4D5D1D2D3D4D5D1C3:year在-----------A1:不可能A2:day+1A3:day復位A4:month+1A5:month復位A6:year+1wangchunxiu@34第三步wangchunxiu@35第三步(續)規則選項1213141516171819202122C1:month在M3M3M3M3M4M4M4M4M4M4M4c2:day在D2D3D4D5D1D2D2D3D3D4D5C3:year在Y1Y2Y1Y2A1:不可能A2:day+1A3:day復位A4:month+1A5:month復位A6:year+1wangchunxiu@35第三步(續)wangchunxiu@36第四步:規則選項1234567891011C1:month在M1M1M1M1M1M2M2M2M2M2M3c2:day在D1D2D3D4D5D1D2D3D4D5D1C3:year在-----------A1:不可能√A2:day+1√√√√√√√√A3:day復位√√A4:month+1√√A5:month復位A6:year+1wangchunxiu@36第四步:wangchunxiu@37第四步(續)規則選項1213141516171819202122C1:month在M3M3M3M3M4M4M4M4M4M4M4c2:day在D2D3D4D5D1D2D2D3D3D4D5C3:year在Y1Y2Y1Y2A1:不可能√√√A2:day+1√√√√√A3:day復位√√√A4:month+1√√A5:month復位√A6:year+1√wangchunxiu@37第四步(續)wangchunxiu@38第五步:簡化,簡化后規則選項1-3456-91011-1415161718192021C1:month在M1M1M1M2M2M3M3M4M4M4M4M4M4c2:day在D1D2D3D4D5D1D2D3D4D5D1D2D3D4D5D1D2D2D3D3D4D5C3:year在------Y1Y2Y1Y2A1:不可能√√√A2:day+1√√√√√A3:day復位√√√√√A4:month+1√√√√A5:month復位√A6:year+1√wangchunxiu@38第五步:簡化wangchunxiu@39NextDate函數的決策表測試用例測試用例MonthDayYear預期輸出Test1-3816200117/8/2001Test483020041/9/2004Test58312001不可能Test6-9116200417/1/2004Test1013120011/2/2001Test11-141216200417/12/2004Tes1/2002Test16216200417/2/2001Tes2/2004Test1822820011/3/2001Test1922920041/3/2004Test202292001不可能Test21-222302004不可能wangchunxiu@39NextDawangchunxiu@40課上練習利用所講的NextDate問題的決策表設計的測試用例,對BlackBox.exe中的NextDate程序進行測試程序的執行方法同三角形程序wangchunxiu@40課上練習利用wangchunxiu@41測試用例文件格式:輸入數據期望結果注意:英文月份的寫法不能錯;英文字符串要在“”中;期望結果的逗號后面要有一個空格wangchunxiu@41測試用例文件wangchunxiu@42課后進階練習用決策表方法為三角形問題設計測試用例wangchunxiu@42課后進階練習wangchunxiu@43三角形問題決策表規則選項1234567891011c1:a<b+c?c2:b<a+c?c3:c<a+bc4:a=b?c5:b=c?c6:a=cA1:不可能A2:非三角形A3:一般三角形A4:等腰三角形A5:等邊三角形wangchunxiu@43三角形問題決wangchunxiu@44三角形問題測試用例測試用例ABC預期輸出Test1Test2Test3Test4Test5Test6Test7Test8Test9Test10Test11wangchunxiu@44三角形問題測wangchunxiu@45wangchunxiu@45演講完畢,謝謝觀看!演講完畢,謝謝觀看!SoftwareTestingFoundation第三部分:測試設計技術SoftwareTestingFoundation第三部wangchunxiu@481.黑盒測試技術常用的黑盒測試技術有:1.1等價類劃分法1.2邊界值分析法1.3狀態轉移測試1.4因果圖和決策表1.5用例測試1.6其他黑盒技術wangchunxiu@21.黑盒測試wangchunxiu@49思考以下問題一圖書銷售系統,其中一加工為“優惠處理”,條件是:顧客的營業額大于1000元,同時必須信譽好,或者雖然信譽不好,但是20年以上的老主顧。要求使用所學的方法設計測試用例,怎么做?wangchunxiu@3思考以下問題一wangchunxiu@50因果圖/決策表法因果圖決策表wangchunxiu@4因果圖/決策表wangchunxiu@511.因果圖法 把輸入條件視為“因”,把輸出條件視為“果”,將黑盒看成是從因到果的網絡圖,采用邏輯圖的形式來表達功能說明書中輸入條件的各種組合與輸出的關系。根據這種關系可選擇高效的測試用例。

方法的依據:需求規格說明中的因果關系wangchunxiu@51.因果圖法wangchunxiu@52因果圖方法舉例某程序要求:第一列字符必須是A或B,第二列字符必須是一個數字,在此情況下對文件進行修改。但第一列字符不正確,則給出信息L;若第二列字符不是一個數字,則給出信息M。分析原因1——第一列字符是A2——第一列字符是B3——第二列字符是一個數字結果21——修改文件22——給出信息L23——給出信息Mwangchunxiu@6因果圖方法舉例wangchunxiu@53因果圖21232223111∨∧E原因1——第一列字符是A2——第一列字符是B3——第二列字符是一個數字結果21——修改文件22——給出信息L23——給出信息M1或者21或者2,不可能既是A又是B既不是A又不是B,給出信息L11與3不是3給出信息Mwangchunxiu@7因果圖2123wangchunxiu@54將因果圖轉換為判定表并得出測試用例12345678條件(原因)①11110000②11001100③10101010111100動作(結果)000011101000010101測試用例A3A8ABA?B5B4BNB!C2X6SDP$23212211wangchunxiu@8將因果圖轉換為wangchunxiu@55決策表測試在所有的黑盒測試方法中,基于決策表的測試是最嚴格的、最具有邏輯性的測試方法。決策表一直被用來表示和分析復雜的邏輯關系,描述不同條件集合下采取行動的若干組合情況。wangchunxiu@9決策表測試在所wangchunxiu@56決策表(DecisionTable)

決策表是一種二維的表格,通常由四部分組成。條件框—條件定義。操作框—操作的定義。條件條目—各條件的取值及組合。操作條目—在各條件取值組合下所執行的操作。特點:可處理較復雜的組合條件,但不易理解,不易輸入計算機。

條件框條件條目操作框操作條目wangchunxiu@10決策表(Dewangchunxiu@57決策表法的步驟列出影響結果的所有條件,每種條件構成條件框的一行列出所有可能采取的動作,每種動作構成操作框的一行將每種條件的各種可能取值填入決策表的條件條目,用“Y”或“N”表示,決策表的列數是各種條件取值的組合在操作條目中對各列條件組合所采取的動作劃“X”簡化決策表wangchunxiu@11決策表法的步wangchunxiu@58Asimpleexample如果天冷,加外套;如下雨,帶傘;1.

列出所有可能的條件天冷下雨2.

列出所有可能的動作帶外套帶雨傘3.

列出所有可能條件的取值組合YYNNYNYN4.

列出各條件組合所采取的動作XXXXwangchunxiu@12Asimpwangchunxiu@59判斷表(DecisionTable)例1:一圖書銷售系統,其中一加工為“優惠處理”,條件是:顧客的營業額大于1000元,同時必須信譽好,或者雖然信譽不好,但是20年以上的老主顧。12345678>1000元YYYYNNNN信譽好YYNNYYNN>20年YNYNYNYN優惠XXX正常XXXXXY-滿足條件N-不滿足條件X-選中判定的結論條件框條件條目操作框操作條目wangchunxiu@13判斷表(Dewangchunxiu@6012345678>1000元YYYYNNNN信譽好YYNNYYNN>20年YNYNYNYN優惠XXX正常XXXXX說明不管>20年的條件滿足與否,都執行優惠1234>1000元YYYN信譽好YNN>20年YN優惠XX正常XX優化后的決策表wangchunxiu@14123456wangchunxiu@61根據決策表設計測試用例1234>1000元YYYN信譽好YNN>20年YN優惠XX正常XX測試用例1200,好,-1200,不好,25年1200,不好,12年900,不好,12wangchunxiu@15根據決策表設wangchunxiu@62例2:ATM用銀行卡在ATM取款的流程如圖所示要求:完成銀行卡取款決策表,并設計測試用例wangchunxiu@16例2:ATMwangchunxiu@63第一步:列出所有可能的條件銀行卡有效PIN正確3次錯誤PIN有錢可用wangchunxiu@17第一步:列出wangchunxiu@64第二步:列出所有可能的動作銀行卡有效PIN正確3次錯誤PIN有錢可用拒絕卡詢問新PIN吞卡詢問新金額出幣wangchunxiu@18第二步:列出wangchunxiu@65第三步:列出所有條件組合12345678910111213141516銀行卡有效NNNNYYYYNNNYYYNYPIN正確NNNYNYNNYYNYYNYY3次錯誤PINNNYNNNYNYNYYNYYY有錢可用NYNNNNNYNYYNYYYY拒絕卡詢問新PIN吞卡詢問新金額出幣××不可能wangchunxiu@19第三步:列出wangchunxiu@66第四步:列出條件組合的動作12345678910111213141516銀行卡有效NNNNYYYYNNNYYYNYPIN正確NNNYNYNNYYNYYNYY3次錯誤PINNNYNNNYNYNYYNYYY有錢可用NYNNNNNYNYYNYYYY拒絕卡XXXXXXXX詢問新PINXX吞卡XX詢問新金額X出幣X××wangchunxiu@20第四步:列出wangchunxiu@67第五步:簡化12345銀行卡有效NYYYYPIN正確-NNYY3次錯誤PIN-NYNN有錢可用---NY拒絕卡X詢問新PINX吞卡X詢問新金額X出幣Xwangchunxiu@21第五步:簡化wangchunxiu@68課后練習:用決策表法為QQ登錄界面設計測試用例申請一個QQ賬號(如已有,該步省略);列出所有可能的條件列出所有可能的動作列出所有可能條件的取值組合標出各條件組合所采取的動作完成決策表;根據決策表設計測試用例在實驗報告中給出完成的決策表及設計的測試用例。wangchunxiu@22課后練習:用wangchunxiu@69下課前完成并提交wangchunxiu@23下課前完成并wangchunxiu@70軟件測試經典案例:NextDate函數wangchunxiu@24軟件測試經典wangchunxiu@71關于Date的一些知識閏年/非閏年大月/小月/平月閏年年份能被4整除能夠被100整除且同時能夠被4整除大月/小月/平月大月:每月31天,有1、3、5、7、8、10、12小月:每月30天,有4、6、9、11平月:平年有28天,閏年有29天,有2月wangchunxiu@25關于Datewangchunxiu@72關于月份的英文月份英文月份英文1January7July2February8August3March9September4April10October5May11November6June12Decemberwangchunxiu@26關于月份的英wangchunxiu@73NextDate函數舉例:輸入期望輸出分析2009.4.62009.4.72009.4.302009.5.12009.5.302009.5.312009.5.312009.6.12008.12.312009.1.12008.2.282008.2.292009.2.282009.3.1……日期加1月份加1,日期復位日期加1年加1,月復位,日復位日期加1月份加1,日期復位思考:同樣是30日,為何處理方式不一樣?思考:同樣是31日,為何處理方式不一樣?思考:同樣是28日,為何處理方式不一樣?月份加1,日期復位wangchunxiu@27NextDawangchunxiu@74發現了什么? 變量之間在輸入定義域中存在邏輯依賴關系。 對這種情況,使用決策表方法可以較好地處理。wangchunxiu@28發現了什么?wangchunxiu@75使用決策表設計測試用例時,可以把條件解釋為輸入,把動作解釋為輸出wangchunxiu@29使用決策表設wangchunxiu@76分析NextDate中的輸入日(D)月(M)年(Y)M1:{month:month有30天}M2:{month:month有31天,12月除外}M3:{month:month是12月}M4:{month:month是2月}D1:{1≤day≤27}D2:{day=28}D3:{day=29}D4:{day=30}D5:{day=31}Y1:{year:year是閏年}Y2:{year:year不是閏年}注意:這里的每個輸入條件不是簡單的滿足或不滿足,而是可以取不同的值,當取值不同時,所采取的動作也不同。因此,必須對各種不同取值分別考慮。wangchunxiu@30分析Nextwangchunxiu@77通過前面的例子發現為了產生給定日期的下一個日期,NextDate函數的操作有5種:日期加1月份加1日期復位月份復位年份加1wangchunxiu@31通過前面的例wangchunxiu@78第一步規則選項C1:month在c2:day在C3:year在wangchunxiu@32第一步wangchunxiu@79第二步規則選項C1:month在c2:day在C3:year在A1:不可能A2:day+1A3:day復位A4:month+1A5:month復位A6:year+1wangchunxiu@33第二步wangchunxiu@80第三步規則選項1234567891011C1:month在M1M1M1M1M1M2M2M2M2M2M3c2:day在D1D2D3D4D5D1D2D3D4D5D1C3:year在-----------A1:不可能A2:day+1A3:day復位A4:month+1A5:month復位A6:year+1wangchunxiu@34第三步wangchunxiu@81第三步(續)規則選項1213141516171819202122C1:month在M3M3M3M3M4M4M4M4M4M4M4c2:day在D2D3D4D5D1D2D2D3D3D4D5C3:year在Y1Y2Y1Y2A1:不可能A2:day+1A3:day復位A4:month+1A5:month復位A6:year+1wangchunxiu@35第三步(續)wangchunxiu@82第四步:規則選項1234567891011C1:month在M1M1M1M1M1M2M2M2M2M2M3c2:day在D1D2D3D4D5D1D2D3D4D5D1C3:year在-----------A1:不可能√A2:day+1√√√√√√√√A3:day復位√√A4:month+1√√A5:month復位A6:year+1wangchunxiu@36第四步:wangchunxiu@83第四步(續)規則選項1213141516171819202122C1:month在M3M3M3M3M4M4M4M4M4M4M4c2:day在D2D3D4D5D1D2D

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論