軟件工程第7章:實(shí)現(xiàn)3測試方法.ppt
《軟件工程第7章:實(shí)現(xiàn)3測試方法.ppt》由會員分享,可在線閱讀,更多相關(guān)《軟件工程第7章:實(shí)現(xiàn)3測試方法.ppt(147頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
7 6白盒測試技術(shù) 白盒測試的原則 迪杰斯特拉定律 窮盡測試永遠(yuǎn)不可能 執(zhí)行路徑 520個 如果1ms完成一個測試 近似為1014個 需3170年 一 邏輯覆蓋 語句覆蓋判定覆蓋條件覆蓋判定 條件覆蓋條件組合覆蓋路徑覆蓋 1 語句覆蓋 設(shè)計(jì)測試用例 使被測程序中的每個可執(zhí)行語句至少被執(zhí)行一次 inta b doublec if a 0 例題 M N M T 且N T Case1 a 2 b 0 c 3 此語句未覆蓋 Case2輸入 a 2 b 1 c 3 Case2輸出 c 3 5 思考 如果M為 a 0 b 0 N為 a 1 c 1 測試用例與測試結(jié)果有設(shè)么變化 Case2 a 2 b 1 c 3 Case2輸出 c 3 5 語句覆蓋是弱覆蓋標(biāo)準(zhǔn) M N Bug Bug 2 判定覆蓋準(zhǔn)則 設(shè)計(jì)測試用例 使被測程序中的每個判斷的取真分支和取假分支都被測試用例至少執(zhí)行一次 例題 inta b doublecif a 0 M N M N M T 且N T M F 且N F 設(shè)計(jì)測試用例及預(yù)期結(jié)果 測試用例 條件中的取值有被忽略的情況 a 2 b 1 c 3a 2 b 1 c 3 輸出 3 5 2 判定覆蓋仍是弱覆蓋標(biāo)準(zhǔn) Bug 3 條件覆蓋準(zhǔn)則 設(shè)計(jì)測試用例 使得每個判斷中每個條件的可能取值至少滿足一次 例題 inta b doublecif a 0 M N P1 1 2 4P2 1 2 5P3 1 3 4P4 1 3 5 測試用例集 對于判定M 條件a 0 取值為真為T1 取值為假為F1條件b 0 取值為真為T2 取值為假為F2對于判定N 條件a 1 取值為真為T3 取值為假為F3條件c 1 取值為真為T4 取值為假為F4 雖然覆蓋了所有條件 但不能保證多個判定分支均被覆蓋到 4 判定 條件覆蓋準(zhǔn)則 設(shè)計(jì)足夠測試用例 使得判定中的所有條件可能取值至少執(zhí)行一次 同時 所有判定的可能結(jié)果至少執(zhí)行一次 判定 條件覆蓋能同時滿足判定 條件兩種覆蓋標(biāo)準(zhǔn) 例題 inta b doublecif a 0 M N 測試用例集 為了使被測程序得到充分測試 不僅每個條件需要被覆蓋 而且每個條件的組合也應(yīng)該被覆蓋到 判定 條件覆蓋準(zhǔn)則的不足 inta b doublec1if a 0 Bug a 2 b 1 c 3a 2 b 1 c 3 輸出 3 5 2 5 條件組合覆蓋準(zhǔn)則 設(shè)計(jì)足夠的測試用例 使得判定中每個條件的所有可能組合至少出現(xiàn)一次 并且每個判定結(jié)果也至少出現(xiàn)一次 與條件覆蓋準(zhǔn)則的區(qū)別不是簡單的要求每個條件都出現(xiàn) 真 與 假 兩種結(jié)果 而是要求所有可能組合都至少被覆蓋一次 例題 對于第一個判定 條件a 0 取值為真為T1 取值為假為F1條件b 0 取值為真為T2 取值為假為F2對于第二個判定條件 條件a 0 取值為真為T3 取值為假為F3條件c 1 取值為真為T4 取值為假為F4 所有的組合條件 測試用例集 不能保證所有路徑被覆蓋到 6 路徑覆蓋 設(shè)計(jì)測試用例 來覆蓋被測程序中的所有可能的執(zhí)行路徑 P1 1 2 4P2 1 2 5P3 1 3 4P4 1 3 5 M N 路徑覆蓋測試用例集 不滿足條件組合覆蓋準(zhǔn)則 完全覆蓋測試用例集 小結(jié) 7 覆蓋準(zhǔn)則間的層次關(guān)系 如果滿足準(zhǔn)則A的測試用例集一定滿足準(zhǔn)則B 那么我們就認(rèn)為準(zhǔn)則A包含準(zhǔn)則B 例如 判定覆蓋準(zhǔn)則包含語句覆蓋準(zhǔn)則 語句覆蓋 判定覆蓋 條件覆蓋 判定 條件覆蓋 條件組合覆蓋 路徑覆蓋 作業(yè) 為以下流程圖所示的程序段設(shè)計(jì)一組測試用例 要求分別滿足語句覆蓋 判定覆蓋 條件覆蓋 判定 條件覆蓋 組合覆蓋和路徑覆蓋 X 8 Y 5 X 0 Y 0 Z 1 Z 2 F T F T X 16 Y 10 Z 3 F T 四基本路徑測試法 基本路徑 保證被測程序的每個可執(zhí)行語句至少被執(zhí)行一次的最小路徑集 基本路徑測試法通過以下4個步驟來實(shí)現(xiàn)繪制程序控制流圖分析環(huán)路復(fù)雜度導(dǎo)出基本可執(zhí)行路徑集設(shè)計(jì)測試用例 39 流程圖 inta b doublec if a 0 步驟1 構(gòu)造程序的控制流圖 步驟2 計(jì)算程序環(huán)路復(fù)雜度 環(huán)路復(fù)雜度又稱圈復(fù)雜度或復(fù)雜度程序邏輯復(fù)雜性的度量值環(huán)路復(fù)雜度 基本路徑數(shù)目經(jīng)驗(yàn)表明 程序的可能存在的BUG數(shù)與環(huán)路復(fù)雜度有著很大的相關(guān)性 計(jì)算程序環(huán)路復(fù)雜度V G 1 2 3 V G 區(qū)域數(shù)目V G 邊的數(shù)目 節(jié)點(diǎn)數(shù)目 2V G 判斷節(jié)點(diǎn)數(shù)目 1 步驟3 確定基本路徑集 存在多個可行的基本路徑集其中一個可行的基本路徑集包含如下基本路徑A C EA B C EA B C D E 程序流程圖 步驟4 設(shè)計(jì)測試用例 例題1 確定圖示控制流流圖的基本路徑集 環(huán)路復(fù)雜度 方法1 4方法2 11 9 2 4方法3 3 1 4 基本路徑集 1 91 2 3 4 6 8 1 91 2 3 5 6 8 1 91 2 7 8 1 9 環(huán)路復(fù)雜度 方法1 3方法2 8 7 2 3方法3 2 1 3 基本路徑集 12712346271235627 例題2 確定圖示控制流流圖的基本路徑集 例題3 確定圖示控制流流圖的基本路徑集 環(huán)路復(fù)雜度 方法1 5方法2 10 7 2 5方法3 4 1 3 基本路徑集 ADFGADEFGABEFGABCBEFG 第六講黑盒測試技術(shù) 引言 本章將開始講黑盒測試的基本概念與基本方法 介紹等價類劃分 邊界值分析 決策表法 因果圖法等方法 并通過實(shí)例來介紹測試技術(shù)的應(yīng)用 一 黑盒測試概述 功能測試 基于規(guī)格說明的測試 數(shù)據(jù)驅(qū)動測試依據(jù)設(shè)計(jì)規(guī)格書 Specification 需求文檔 Requirement 設(shè)計(jì)文檔 Design 軟件 輸入 黑盒測試不深入代碼細(xì)節(jié) 輸出 測試對象描述類比 黑盒測試的內(nèi)容 黑盒測試 失敗測試 負(fù)面測試 迫使出錯 黑盒測試的兩種基本思路 正面測試 負(fù)面測試 等價類 EquivalenceClassPartitioning ECP 對于某個輸入域的集合 如果用集合中的一個輸入條件作為測試數(shù)據(jù)進(jìn)行測試不能發(fā)現(xiàn)程序中的錯誤 那么使用集合中的其他輸入條件進(jìn)行測試也不可能發(fā)現(xiàn)錯誤 對于檢測程序中的錯誤來說 集合中每個輸入條件都是等價的 就稱該集合中的條件為等價類 1 概念 二等價類劃分法 有效等價類是合理的 有意義的輸入數(shù)據(jù)所構(gòu)成的集合驗(yàn)證預(yù)期的功能和性能的實(shí)現(xiàn)無效等價類是不合理的 沒有意義的輸入數(shù)據(jù)構(gòu)成的集合對無效數(shù)據(jù)的處理能力 如果輸入條件規(guī)定了取值范圍 則可以劃分一個有效等價類和兩個無效等價類 2 等價類的劃分規(guī)則 例 輸入值是學(xué)生成績 范圍是0 100有效等價類 0 成績 100無效等價類 成績100 如果輸入數(shù)據(jù)是給定值或布爾值 則可以劃分出一個有效等價類和一個無效等價類 例 程序輸入條件x 10有效等價類 x 10無效等價類 x 10程序輸入性別 男有效等價類 男無效等價類 女 如果輸入數(shù)據(jù)是一個數(shù)組 包括n個輸入 且程序?qū)Σ煌斎胫底霾煌幚?則有n個有效等價類和一個無效等價類 例 輸入條件說明學(xué)歷可為 專科 本科 碩士 博士四種之一有效等價類 ???本科 碩士 博士無效等價類 其它任何學(xué)歷 如果輸入數(shù)據(jù)必須遵循某種規(guī)則 可確定一個有效等價類 符合規(guī)則 和若干個無效等價類 從不同角度違反規(guī)則 例 校內(nèi)電話號碼撥外線為9開頭有效等價類 9 外線號碼無效等價類 非9開頭 外線號碼 9 非外線號碼 3 測試用例的設(shè)計(jì)步驟 1 對輸入或外部條件進(jìn)行等價類劃分 形成等價類表并編號 2 設(shè)計(jì)用例 盡可能多地覆蓋尚未覆蓋的有效等價類 重復(fù) 3 設(shè)計(jì)新用例 只覆蓋一個無效等價類 重復(fù) 思考 3的順序是否可以和2顛倒 例1 報(bào)表日期 設(shè)某公司要打印2001 2005年的報(bào)表 其中報(bào)表日期為6位數(shù)字組成 其中 前4位為年份 后兩位為月份 第一步 劃分等價類 編號 第二步 為有效等價類設(shè)計(jì)測試用例 對表中編號為 的3個有效等價類用一個測試用例覆蓋 第三步 為每一個無效等價類至少設(shè)計(jì)一個測試用例 本例的10個等價類至少需要8個測試用例 不能出現(xiàn)相同的測試用例 4 等價類劃分法的特點(diǎn) 優(yōu)點(diǎn) 較少的用例 較完整的覆蓋 缺點(diǎn) 缺乏特殊用例的考慮 需要有深入的系統(tǒng)知識 才能合理的劃分等價類 對考試系統(tǒng) 成績查詢模塊 子模塊 輸入準(zhǔn)考證號查詢成績行政專業(yè)準(zhǔn)考證號碼為 110001 111215法律專業(yè)準(zhǔn)考證號碼為 210001 212006財(cái)經(jīng)專業(yè)準(zhǔn)考證號碼為 310001 314015 例2 準(zhǔn)考證號碼 例 準(zhǔn)考證號碼的等價類劃分有效等價類 1 110001 111215 2 210001 212006 3 310001 314015無效等價類 4 110000 5 111216 210000 6 212007 310000 7 314016 等價類的劃分規(guī)則 四邊界值分析法 BoundaryValueAnalysis BVA理論提出 長期的測試工作經(jīng)驗(yàn)表明 大量的錯誤是發(fā)生在輸入或輸出范圍的邊界上 而不是發(fā)生在輸入輸出范圍的內(nèi)部 因此針對各種邊界情況設(shè)計(jì)測試用例 可以查出更多的錯誤 定義 邊界值分析法就是對輸入或輸出的邊界值進(jìn)行測試的一種黑盒測試方法 通常邊界值分析法是作為對等價類劃分法的補(bǔ)充 這種情況下 其測試用例來自等價類的邊界 1 常見的邊界值 1 對16 bit的整數(shù)而言32767和 32768是邊界2 屏幕上光標(biāo)在最左上 最右下位置3 報(bào)表的第一行和最后一行4 數(shù)組元素的第一個和最后一個5 循環(huán)的第0次 第1次和倒數(shù)第2次 最后一次 邊界值分析的基礎(chǔ)思想是在輸入變量的取值區(qū)間內(nèi)取最小值 略高于最小值 正常值 略低于最大值和最大值5個值 邊界值分析 健壯性邊界值分析 2 用例設(shè)計(jì)思想 例1 一個輸入年份的輸入框 其限制條件是1900年至2012年 那么選擇測試用例為 1900 1901 1950 2011 20121899 1900 1901 1950 2011 2012 2013 例2 銀行取款機(jī) 取款金額是100 10000 提款的顆粒度為100元 那么選擇測試用例為 0 100 200 5000 9900 10000 10100 3 選擇測試用例技巧 1 輸入條件 范圍 剛剛達(dá)到這個范圍的邊界的值 以及剛剛超越這個范圍邊界的值 例如 如果程序的規(guī)格說明中規(guī)定 重量在10公斤至50公斤范圍內(nèi)的郵件 其郵費(fèi)計(jì)算公式為 測試用例 9 99 10 10 01 25 49 99 50 50 01 2 輸入條件 值的個數(shù) 最大個數(shù) 最小個數(shù) 比最小個數(shù)少一 比最大個數(shù)多一 例如 一個輸入文件應(yīng)包括1 255個記錄 則測試用 0 1 122 255 256等 3 1 2 應(yīng)用于輸出條件 例如 某程序的規(guī)格說明要求計(jì)算出 每月保險(xiǎn)金扣除額為0至1165 25元 測試用例選取應(yīng)能使計(jì)算結(jié)果為0 00和1165 25 以及 0 01及1165 26等 例如 檢索系統(tǒng)程序 要求每次 最少顯示1條 最多顯示4條檢索信息 測試用例應(yīng)能使輸出結(jié)果為 1 4 還應(yīng)包括0 5等 4 輸入 輸出域是有序集合 集合的第一個元素和最后一個元素 5 內(nèi)部數(shù)據(jù)結(jié)構(gòu) 內(nèi)部數(shù)據(jù)結(jié)構(gòu)的邊界上的值 6 分析規(guī)格說明 找出其它可能的邊界條件 7 正常值 接近取值范圍中間值即可 例 輸入3個值 輸出三角形的類型 測試用例 邊界值是特殊的等價類邊界值分析不僅考慮輸入 還要考慮輸出 4 邊界值與等價類的區(qū)別 5 邊界值的弱點(diǎn) 單缺陷 假設(shè) 即由于缺陷導(dǎo)致的程序失效極少是由兩個 或多個 缺陷的同時作用引起 程序輸入是多個獨(dú)立的變量 比較適合邊界值變量之間相互影響時 效果不好 人的身高體重 邊界值分析與等價類劃分效果與測試人員的經(jīng)驗(yàn)密切相關(guān) 組合分析法 考慮思想 錯誤的主要來源來自于各種因素的組合 而非一個因素 優(yōu)點(diǎn) 實(shí)現(xiàn)成本低 維護(hù)成本低 容易自動化 錯誤發(fā)現(xiàn)效率高 測試方式靈活 作業(yè) 1 閱讀偽代碼 完成下列任務(wù) 1 畫出程序流程圖 盒圖 2 按照不同的覆蓋準(zhǔn)則 確定測試用例的數(shù)量 并設(shè)計(jì)測試用例 語句覆蓋判定覆蓋條件覆蓋路徑覆蓋 3 畫出控制流圖 用基本路徑法設(shè)計(jì)測試用例 IfX 8andY 5thenifX 16orY 10thenZ 3endifElseIfX 0orY 0thenZ 2ElseZ 1endifendif 2 用邊界值法設(shè)計(jì)以下函數(shù)的測試用例 1 y ABS x 2 y sin x 3 用等價類劃分法測試成績輸入文本框設(shè)計(jì)測試用例 1 百分制 2 五級制 4 需要測試學(xué)號輸入文本框 學(xué)號結(jié)構(gòu)為8位數(shù)字字符組成 前兩位是年代后兩位 3 4兩位是專業(yè)編號 1 50 5 6位為班級編號 1 20 7 8位為50以內(nèi)的流水號 作業(yè) 1 為以下流程圖所示的程序段設(shè)計(jì)一組測試用例 要求分別滿足語句覆蓋 判定覆蓋 條件覆蓋和路徑覆蓋設(shè)計(jì)測試用例 2 用基本路徑法設(shè)計(jì)測試用例 X 8 Y 5 X 0 Y 0 Z 1 Z 2 F T F T X 16 Y 10 Z 3 F T 劃分等價類 編號 判定表又稱決策表定義 把輸入條件各種組合以及對應(yīng)輸出值都羅列出來而形成的表格 是一個典型的組合分析方法把問題的各種可能都列舉出來 簡明且不會遺漏 是最嚴(yán)格 最具有邏輯性的黑盒測試方法 五判定表方法 DecisionTable 判定表的結(jié)構(gòu) 1 基本概念 電力公司將用戶分為兩類 單費(fèi)率用戶 實(shí)行單一電價復(fù)費(fèi)率用戶 在規(guī)定時間內(nèi)實(shí)行優(yōu)惠電價 在其他時間內(nèi)實(shí)行普通電價 條件樁 問題的所有條件 動作樁 所有可能采取的操作 規(guī)則 一個條件組合的取值及其執(zhí)行的操作 動作 通常使用 0 和 1 表示不執(zhí)行動作和執(zhí)行動作條件 通常使用 0 和 1 表示條件不滿足和條件滿足 判定表的結(jié)構(gòu) 條件樁 動作樁 行動項(xiàng) 在條件條目下采取的動作或操作 在判定表中貫穿條件項(xiàng)和動作項(xiàng)的一列就是一個規(guī)則 條件項(xiàng) 條件樁的所有可能取值 真 假 或其它 測試用例集 1 判定表中條件的組合方式有多少 就有多少條規(guī)則 就有多少列 每列對應(yīng)一個測試用例 2 如果條件都是二叉條件 稱為有限條目判定表 如果條件有多個值 甚至對應(yīng)于變量的等價類 稱為擴(kuò)展條目判定表 如條件 ATM交易類型 可以取 存款 查詢 和 取款 三種值 3 由于判定表是機(jī)械地強(qiáng)制完備的 因此具有測試用例的完整性 2 判定表的特點(diǎn) 輸入 輸出 輸入的等價類 功能處理 測試用例 3 判定表的應(yīng)用 測試用例 構(gòu)造判定表可采用以下5個步驟 1 列出條件樁和動作樁 2 確定規(guī)則的個數(shù) 3 填入條件項(xiàng) 4 填入動作項(xiàng) 得到初始判定表 5 簡化判定表 合并相似規(guī)則 4 判定表的構(gòu)造及化簡 判定表的化簡對于n個條件的判定表 相應(yīng)有2n個規(guī)則 每個條件分別取真 假值 判定表的化簡是以合并相似規(guī)則為目標(biāo)若表中有兩條以上規(guī)則具有相同的動作 并且在條件項(xiàng)之間存在極為相似的關(guān)系 便可以合并 例題 打印機(jī)能否打印出正確的內(nèi)容有多個影響因素 包括驅(qū)動程序 紙張 墨粉等 打印機(jī)會自動提示 驅(qū)動是否正確 提示沒有紙張 提示沒有墨粉 根據(jù)這些信息決定決定是否打印內(nèi)容 請?jiān)O(shè)計(jì)出影響條件與動作的判定表并化簡 為了簡化問題 不考慮中途斷電 卡紙等因素 假定優(yōu)先警告缺紙 然后警告沒有墨粉 最后警告驅(qū)動程序不正確 規(guī)則數(shù) 8 構(gòu)造判定表 簡化判定表 例題 某商場舉行一次假日商品促銷活動 在活動期間 對持會員卡的顧客 實(shí)行8 5折優(yōu)惠 滿1000元實(shí)行7折優(yōu)惠 對其他顧客 消費(fèi)滿1000元的 實(shí)行9折優(yōu)惠 并免費(fèi)辦理會員卡 請給出相應(yīng)的判定表及測試用例集 1 規(guī)則 4 判定表 測試用例集 什么是因果關(guān)系 拿破侖說 六 因果圖方法 失一個釘子 壞了一只蹄鐵 壞了一只蹄鐵 折了一匹戰(zhàn)馬 折了一匹戰(zhàn)馬 傷了一位騎士 傷了一位騎士 輸了一場戰(zhàn)斗 輸了一場戰(zhàn)斗 亡了一個帝國 這就是因果關(guān)系 因果圖方法 Cause effectDiagram 是借助圖形 分析輸入條件的各種組合 每種組合是 因 必然有一個輸出為 果 因果圖方法最終生成判定表 適用檢查程序輸入條件的各種組合情況 因果圖中使用了簡單的邏輯符號 以直線聯(lián)接左右結(jié)點(diǎn) 左結(jié)點(diǎn)表示輸入狀態(tài) 或稱原因 右結(jié)點(diǎn)表示輸出狀態(tài) 或稱結(jié)果 1 因果圖 ci表示原因 通常置于圖的左部 ei表示結(jié)果 通常在圖的右部 ci和ei均可取值0或1 0表示某狀態(tài)不出現(xiàn) 1表示某狀態(tài)出現(xiàn) c1 e1 恒等 c1 e1 非 恒等 若ci是1 則ei也是1 否則ei為0 非 若ci是1 則ei是0 否則ei是1 c2 e1 或or c1 c3 c2 e1 與and c1 c3 或 若c1或c2或c3是1 則ei是1 否則ei為0 或 可有任意個輸入 與 若c1 c2和c2都是1 則ei為1 否則ei為0 與 也可有任意個輸入 因果圖 2 狀態(tài)約束 狀態(tài)相互之間存在依賴關(guān)系 稱為約束 輸入 輸出狀態(tài)之間都存在約束 在因果圖中 用特定的符號標(biāo)明這些約束 1 輸入條件之間的約束有以下4類 E約束 異 A B至多有一個為1 即A和B不能同時為1 I約束 或 A B至少有一個必須是1 即A B不能同時為0 A B I 異 或 O約束 唯一 A B中有且僅有1個為1 R約束 要求 A是1時 B必須是1 即A B必須相同 A B R 唯一 要求 2 輸出條件約束類型輸出條件的約束只有M約束 強(qiáng)制 若結(jié)果E是1 則結(jié)果F強(qiáng)制為1 E F M 強(qiáng)制 約束條件 3 利用因果圖生成測試用例的步驟 分析 分析 關(guān)聯(lián) 原因與原因之間 原因與結(jié)果之間的組合有不可能出現(xiàn)的情況 找出這些約束或限制條件 3 利用因果圖生成測試用例的步驟 分析 轉(zhuǎn)換 關(guān)聯(lián) 因果圖轉(zhuǎn)換為判定表 3 利用因果圖生成測試用例的步驟 分析 轉(zhuǎn)換 輸出 關(guān)聯(lián) 判定表的每一列轉(zhuǎn)化成一個測試用例 3 利用因果圖生成測試用例的步驟 例1 某軟件規(guī)格說明書包含這樣的要求 第一列字符必須是A或B 第二列字符必須是一個數(shù)字 在此情況下進(jìn)行文件的修改 但如果第一列字符不正確 則給出信息L 如果第二列字符不是數(shù)字 則給出信息M 請畫出因果圖 生成判定表和測試用例 原因 1 第一列字符是A 2 第一列字符是B 3 第二列字符是一數(shù)字 結(jié)果 21 修改文件 22 給出信息L 23 給出信息M 1 分析 對應(yīng)的因果圖 其對應(yīng)的因果圖如下 11為中間節(jié)點(diǎn) 考慮到原因1和原因2不可能同時為1 因此在因果圖上施加E約束 如圖所示 根據(jù)因果圖建立判定表 把判定表的每一列拿出來作為依據(jù) 設(shè)計(jì)測試用例 4 使用因果圖法的優(yōu)點(diǎn) 1 充分考慮了輸入的各種組合以及它們之間的相互制約關(guān)系 2 可以幫助測試人員按照一定的步驟 高效率的開發(fā)測試用例 3 因果圖法將自然語言規(guī)格說明轉(zhuǎn)化成形式語言規(guī)格說明的一種方法 可以找出規(guī)格說明存在的不完整性和二義性 案例分析 有一個處理單價為1元5角的盒裝飲料的自動售貨機(jī)軟件 若投入1元5角硬幣 按下 可樂 雪碧 或 紅茶 按鈕 相應(yīng)的飲料就送出來 若投入的是兩元硬幣 在送出飲料的同時退還5角硬幣 1 分析 2 因果圖 3 判定表 4 設(shè)計(jì)測試用例 案例分析 中國象棋中走馬的測試用例設(shè)計(jì)為例學(xué)習(xí)因果圖的使用方法 下面未注明的均指的是對馬的說明 一 分析中國象棋中走馬的實(shí)際情況 如果落點(diǎn)在棋盤外 則不移動棋子 如果落點(diǎn)與起點(diǎn)不構(gòu)成日字型 則不移動棋子 如果在落點(diǎn)方向的鄰近交叉點(diǎn)有棋子 絆馬腿 則不移動棋子 如果不屬于1 3條 落點(diǎn)處有己方棋子 則不移動棋子 如果不屬于1 3條 落點(diǎn)處無棋子 則移動棋子 如果不屬于1 3條 落點(diǎn)處為對方棋子 非老將 則移動棋子并除去對方棋子 如果不屬于1 3條 且落點(diǎn)處為對方老將 則移動棋子 并提示戰(zhàn)勝對方 游戲結(jié)束 二 根據(jù)分析明確原因和結(jié)果 原因 C1 落點(diǎn)在棋盤上 C2 落點(diǎn)與起點(diǎn)構(gòu)成日字 C3 落點(diǎn)方向的鄰近交叉點(diǎn)無棋子 C4 落點(diǎn)處為自己方棋子 C5 落點(diǎn)處無棋子 C6 落點(diǎn)處為對方棋子 非老將 C7 落點(diǎn)處為對方老將 結(jié)果 E1 不移動棋子E2 移動棋子E3 移動棋子 并除去對方棋子E4 移動棋子 并提示戰(zhàn)勝對方 結(jié)束游戲 中間狀態(tài) 11 落點(diǎn)合理且無半馬腿 可以前進(jìn) 添加中間節(jié)點(diǎn)11 目的是作為導(dǎo)出結(jié)果的進(jìn)一步原因 簡化因果圖導(dǎo)出的判定表一 判定表分解 七 正交試驗(yàn)法 正交試驗(yàn)法在各個領(lǐng)域都有廣泛的應(yīng)用 是一種高效 快速 經(jīng)濟(jì)的試驗(yàn)設(shè)計(jì)方法 在應(yīng)用系統(tǒng)測試中 如果對系統(tǒng)采用組合測試 工作量非常大 這就需要從大量的數(shù)據(jù)中選出適量的具有代表性的測試用例 正交試驗(yàn)法可以解決用例選擇這一問題 如圖是個人信息查詢系統(tǒng)中的一個窗口 要測試的控件有三個 姓名 身份證號碼 手機(jī)號碼 而每個因素的狀態(tài)有兩個 填與不填 請用正交試驗(yàn)法選擇測試用例 1 確定影響因子表中的因素?cái)?shù) 3 即至少有3個因素?cái)?shù) 行數(shù)最少為3 2 1 1 4 2 選擇正交表從正交表中查找 結(jié)果為L4 23 3 變量映射 4 測試用例填寫姓名 填寫身份證號 填寫手機(jī)號填寫姓名 不填身份證號 不填手機(jī)號不填姓名 填寫身份證號 不填手機(jī)號不填姓名 不填身份證號 填寫手機(jī)號根據(jù)其他測試方法增補(bǔ)以下測試用例作為補(bǔ)充 不填姓名 不填身份證號 不填手機(jī)號從測試用例可以看出 如果按每個因素兩個水平數(shù)來考慮的話 需要8個測試用例 而通過正交實(shí)驗(yàn)法只需要5個 減少了測試用例個數(shù) 用最小的測試用例集獲得最大的測試覆蓋率 八功能圖法 使用功能圖形式化的方式表示程序的功能 并機(jī)械地生成功能圖的測試用例 功能圖模型 狀態(tài)遷移圖用于表示輸入數(shù)據(jù)序列以及相應(yīng)的輸出數(shù)據(jù) 由輸入和當(dāng)前的狀態(tài)決定輸出數(shù)據(jù)和后續(xù)狀態(tài) 邏輯功能模型用于表示狀態(tài)輸入條件和輸出條件之間的對應(yīng)關(guān)系 只適合于描述靜態(tài)說明 輸出數(shù)據(jù)僅由輸入數(shù)據(jù)決定 實(shí)例 Windows的屏幕保護(hù)程序測試 空閑狀態(tài) 等待輸入密碼 ESC鍵按下顯示密碼輸入框 初始化屏幕 不正確的密碼清空密碼輸入框 正確的密碼屏幕初始化 程序流程圖 1 狀態(tài)遷移圖 空閑狀態(tài) 等待輸入密碼 初始化屏幕 ESC鍵按下 正確的密碼輸入 錯誤的密碼輸入 2 邏輯功能表 3 根據(jù)邏輯功能表 按照輸入輸出信息及狀態(tài)來生成所需的節(jié)點(diǎn)和路徑 形成基本路徑組合 4 利用基本路徑測試法來設(shè)計(jì)測試用例 九錯誤推測法 有經(jīng)驗(yàn)的測試人員根據(jù)自己的經(jīng)驗(yàn)和直覺推測出程序可能存在的錯誤 進(jìn)行針對性測試 基于如下思想 某處發(fā)現(xiàn)缺陷 則可能會隱藏更多的缺陷 列出所有可能出現(xiàn)的錯誤和容易發(fā)現(xiàn)錯誤的地方 然后依據(jù)測試人員經(jīng)驗(yàn)做出選擇 該方法不是一個系統(tǒng)方法 可以作為其他方法的輔助 具體實(shí)施 如果軟件要求輸入數(shù)字 就輸入字母 如果軟件只接受正數(shù) 就輸入負(fù)數(shù) 如果輸入時間 就輸入五位數(shù)以上的年份等等 用好錯誤推測法應(yīng)具備如下條件 充分了解業(yè)務(wù)具有開發(fā)和測試的實(shí)際經(jīng)驗(yàn)掌握全面測試技術(shù)- 1.請仔細(xì)閱讀文檔,確保文檔完整性,對于不預(yù)覽、不比對內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
14.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 軟件工程 實(shí)現(xiàn) 測試 方法
鏈接地址:http://www.hcyjhs8.com/p-6051758.html