10-用例設(shè)計(jì)方法

思考: 任意輸入三角形三邊筛谚,判斷能夠構(gòu)成三角形磁玉?
輸入3個(gè)整數(shù)a、b驾讲、c構(gòu)成三角形蚊伞,設(shè)計(jì)測試用例數(shù)量。
假設(shè)在16位計(jì)算機(jī)上運(yùn)行吮铭,則整數(shù)可能的取值是216时迫,那么a、b谓晌、c三條邊的各種可能組合大約有3*1013種掠拳,假設(shè)執(zhí)行1次需要1ms,執(zhí)行完所有的測試數(shù)據(jù)也需要1萬年纸肉。

一溺欧、常用測試用例設(shè)計(jì)分析法

  • 等價(jià)類分析法
  • 邊界值分析法
  • 判定表分析法
  • 因果圖分析法
  • 正交試驗(yàn)法
  • 流程分析法(場景分析法)
  • 狀態(tài)遷移法
  • 錯(cuò)誤推測法
  • 異常處理法

二、等價(jià)分析法

某個(gè)輸入域的集合柏肪,在這個(gè)集合中每個(gè)輸入條件都是等效的姐刁,如果其中一個(gè)的輸入不能導(dǎo)致問題發(fā)生,那么集合中其他輸入條件進(jìn)行測試也不可能發(fā)現(xiàn)錯(cuò)誤烦味。

  1. 通常等價(jià)類劃分為2種情況:
  • 有效等價(jià)類:對(duì)程序規(guī)格說明有意義的聂使、合理的輸入數(shù)據(jù);
  • 無效等價(jià)類:對(duì)程序規(guī)格說明無意義的谬俄、不合理的輸入數(shù)據(jù)柏靶;
  1. 劃分的原則:
  • 規(guī)定了輸入值的范圍或值的個(gè)數(shù),可以定義一個(gè)有效等價(jià)類和兩個(gè)無效等價(jià)類(如: 0<a<33或輸入6~8個(gè)字符)溃论;
  • 輸入值為布爾值(如:真/假)屎蜓;
  • 規(guī)定了輸入數(shù)據(jù)的一組值(文化程度:初中、高中蔬芥、大學(xué))梆靖;
  • 規(guī)定了輸入規(guī)則時(shí),可以劃分出一個(gè)有效的等價(jià)類(符合規(guī)則)和若干個(gè)無效等價(jià)類(從不同角度違反規(guī)則)笔诵;
  • 如果輸入數(shù)據(jù)是一組值返吻,且程序?qū)Σ煌妮斎胱霾煌幚恚瑒t每個(gè)允許的輸入值是一個(gè)有效等價(jià)類乎婿,并有一個(gè)無效等價(jià)類测僵;
  1. 等價(jià)類劃分的步驟:
  • 找輸入條件;
  • 為每個(gè)輸入條件找有效、無效等價(jià)類捍靠;
  • 為每個(gè)等價(jià)類編號(hào)沐旨;
  • 用最少的用例覆蓋最多的有效等價(jià)類,重復(fù)這一步驟直到覆蓋完全榨婆;
  • 每一個(gè)無效等價(jià)類都有一個(gè)用例磁携;
  • 并非所有有效等價(jià)類都有無效;
  • 等價(jià)類的覆蓋可以重復(fù)覆蓋良风;
  1. 常見的能夠劃分等價(jià)類場景
  • 數(shù)值范圍
  • 重復(fù)次數(shù)
  • 字符串長度
  • 字符串組中字符的個(gè)數(shù)
  • 文件命名
  • 文件大小
  • 屏幕的顏色種類
  • 超時(shí)時(shí)間;
  1. 等價(jià)類的優(yōu)缺點(diǎn)
  • 優(yōu)點(diǎn): 是考慮了單個(gè)輸入域的各種情況谊迄,避免了盲目或隨機(jī)選取輸入數(shù)據(jù)的不完整性和覆蓋的不穩(wěn)定性;
  • 缺點(diǎn): 分法雖簡單易用烟央,但沒有對(duì)組合情況進(jìn)行充分的考慮统诺。需要結(jié)合其他測試用例設(shè)計(jì)的方法進(jìn)行補(bǔ)充;

案例1: QQ注冊,密碼輸入框

案例2: 根據(jù)內(nèi)容提煉需求寫用例
現(xiàn)有一個(gè)檔案管理系統(tǒng)疑俭,容許用戶輸入年月對(duì)檔案文件進(jìn)行檢索粮呢,系統(tǒng)對(duì)查詢條件年月的輸入限定為1990年1月~2049年12月,并規(guī)定由6位數(shù)字字符組成钞艇,前4位表示年啄寡,后2位表示月;

案例3: 根據(jù)要求寫用例
a香璃、驗(yàn)證長度6~16個(gè)
b这难、不能包含空格
c、不能是9位以下純數(shù)字
d葡秒、密碼不能與名字相同

三、邊界值分析法

邊界值分析法是對(duì)等價(jià)類分析方法的一種補(bǔ)充嵌溢, 所以邊界值的條件落在等價(jià)類的邊界上眯牧。

  1. 邊界條件分析:
  • 輸入條件明確了一個(gè)值的取值范圍,或規(guī)定了值的個(gè)數(shù)赖草;
  • 輸入條件明確了一個(gè)有序集合学少;
  1. 邊界點(diǎn)定義
  • 上點(diǎn): 邊界上的點(diǎn);
  • 離點(diǎn): 離上點(diǎn)最近的點(diǎn)秧骑,如果域的邊界是封閉的版确,離點(diǎn)就在域范圍外,如果域的邊界值是開發(fā)的乎折,離點(diǎn)就在域范圍內(nèi)绒疗;
  • 內(nèi)點(diǎn): 顧名思義,就是在域范圍內(nèi)的任意一個(gè)點(diǎn)骂澄;

閉區(qū)間: [10,20] 即 10<=i<=20;
開區(qū)間: (5,8) 即 5<i<8;


邊界點(diǎn)定義
  1. 邊界值分析原則:
  • 如果輸入(輸出)條件規(guī)定了取值范圍吓蘑,或是規(guī)定了值的個(gè)數(shù),則應(yīng)該以該范圍的邊界內(nèi)及邊界附近的值作為測試用例;
  • 如果輸入(輸出)條件規(guī)定了值的個(gè)數(shù)磨镶,則用最大個(gè)數(shù)溃蔫,最小個(gè)數(shù),比最小個(gè)數(shù)少一琳猫,比最大個(gè)數(shù)多一的數(shù)作為測試數(shù)據(jù)伟叛;
  • 如果程序規(guī)格說明中提到的輸入或輸出是一個(gè)有序的集合,應(yīng)該注意選取有序集合的第一個(gè)或最后一個(gè)元素作為測試數(shù)據(jù)脐嫂;
  • 如果程序中使用了一個(gè)內(nèi)部數(shù)據(jù)結(jié)構(gòu)统刮,則應(yīng)當(dāng)選擇這個(gè)內(nèi)部數(shù)據(jù)結(jié)構(gòu)的邊界上的值作為測試數(shù)據(jù);
  1. 設(shè)計(jì)用例的步驟:
  • 分析輸入?yún)?shù)的類型: 從測試規(guī)格中分析得到輸入?yún)?shù)類型雹锣;
  • 等價(jià)類劃分(可選): 對(duì)于輸入等價(jià)類劃分方法進(jìn)行等價(jià)類的劃分网沾;
  • 確定邊界: 運(yùn)用域測試分析方法確定域范圍的邊界(上點(diǎn)、離點(diǎn)蕊爵、內(nèi)點(diǎn));
  • 相關(guān)性分析(可選): 如果存在多個(gè)輸入域辉哥,則需要運(yùn)用因果圖、判定表方法對(duì)這些輸入域邊界值的組合情況進(jìn)行進(jìn)一步分析攒射;
  • 形成測試項(xiàng): 選擇這些上點(diǎn)醋旦、離點(diǎn)、內(nèi)點(diǎn)或者這些點(diǎn)的組合形成測試項(xiàng)会放;
  1. 邊界值的優(yōu)缺點(diǎn)
  • 優(yōu)點(diǎn): 通用的測試設(shè)計(jì)方法饲齐,測試比較充分;
  • 缺點(diǎn): 效果換效率咧最,用例多捂人,細(xì)分程度取決于測試的人力和進(jìn)度;
  • 使用范圍: 把輸入條件劃分成多個(gè)子條件矢沿,各個(gè)子條件之間相對(duì)是獨(dú)立的滥搭,沒有制約關(guān)系;
  • 關(guān)鍵: 將輸入背后的隱藏信息和條件挖掘出來捣鲸;

案例:
萬年歷查詢軟件瑟匆,要求用戶輸入以年月日表示的日期,然后系統(tǒng)會(huì)換算出該日期的農(nóng)歷表示法及相關(guān)黃歷信息栽惶。假設(shè)日期限定在1900年1月1日~2049年12月31日愁溜,并規(guī)定日期由8位數(shù)字字符組成,前4位表示年外厂,中間2位表示月冕象,最后2位表示日期。其中4酣衷、6交惯、9、11月只有30天,平年的2月份只有28天席爽,閏年的2月份有29天意荤。

四、判定表分析法

判定表分析法是分析和表達(dá)多種輸入條件下系統(tǒng)執(zhí)行不同動(dòng)作的工具只锻,它可以把復(fù)雜的邏輯關(guān)系和多種條件組合的情況表達(dá)的既具體又明確玖像;

  1. 判定表的組成
  • 條件樁: 列出了系統(tǒng)的所有輸入,列出的輸入次序無關(guān)緊要齐饮;
  • 動(dòng)作樁: 列出了系統(tǒng)可能采取的操作捐寥,這些操作的排序順序沒有約束;
  • 條件項(xiàng): 列出針對(duì)左列輸入的取值祖驱,在所有可能情況下的真假值握恳;
  • 動(dòng)作項(xiàng): 列出輸入項(xiàng)的各種取值情況下應(yīng)該采取的動(dòng)作;
  1. 判定表的合并
    化簡工作是以合并相似規(guī)則為目標(biāo)的捺僻,如果表中有兩條或多條規(guī)則具有相同的動(dòng)作乡洼,并且其條件項(xiàng)之間存在極為相似的關(guān)系,我們便可以將其合并匕坯;


    3.2判定表的合并
  2. 判定表設(shè)計(jì)步驟

  • 找出條件樁與動(dòng)作樁
  • 找出每個(gè)條件計(jì)算規(guī)則格式
  • 填入條件項(xiàng)束昵、動(dòng)作項(xiàng)(規(guī)則: 全組合)
  • 合并簡化(合并原則: 動(dòng)作一致,條件項(xiàng)N-1個(gè)項(xiàng)目可以合并)
  • 每一列為一個(gè)用例
  1. 判定表的適用場景
  • 規(guī)格說明以判定表形式給出葛峻,或很容易裝換成判定表锹雏;
  • 條件的排列順序不會(huì)也不影響執(zhí)行哪些操作;
  • 規(guī)則的排列順序不會(huì)也不影響執(zhí)行那些操作术奖;
  • 每當(dāng)某一規(guī)則的條件已經(jīng)滿足礁遵,并確定要執(zhí)行的操作后,不必檢驗(yàn)別的規(guī)則采记;
  • 如果某一規(guī)則得到滿足要執(zhí)行多個(gè)操作榛丢,這些操作的執(zhí)行順序無關(guān)緊要;
  1. 判定表的優(yōu)缺點(diǎn)
  • 優(yōu)點(diǎn): 它能把復(fù)雜的問題按各種可能的情況一一列舉出來挺庞,簡明而易于理解,也可避免遺漏稼病;
  • 缺點(diǎn): 合并存在遺漏的風(fēng)險(xiǎn)选侨。一個(gè)顯然易見的原因是,雖然某個(gè)輸入條件在輸出接口上是無關(guān)的然走,但在軟件設(shè)計(jì)上援制,內(nèi)部針對(duì)這個(gè)條件走了不同的程序分支;
  1. 案例

案例1:若用戶欠費(fèi)或停機(jī)芍瑞,則不允許主被叫
第一步:找出條件樁和動(dòng)作樁
條件樁:用戶欠費(fèi)晨仑、用戶停機(jī)
動(dòng)作樁:可以主被叫
第二步:計(jì)算規(guī)則個(gè)數(shù)
2×2=4
第三步: 設(shè)計(jì)表將條件項(xiàng)、動(dòng)作項(xiàng)填入


第三步

第四步: 簡化合并


第四步

第五步: 生成用例(略)

案例2:
a. 如果覺得疲倦并且對(duì)書的內(nèi)容感興趣,同時(shí)書中的內(nèi)容讓你糊涂的話洪己,回到本章重讀;
b. 如果覺得疲倦并且對(duì)書的內(nèi)容感興趣妥凳,同時(shí)書中的內(nèi)容不讓你糊涂,繼續(xù)讀下去;
c. 不覺得疲倦并且對(duì)書的內(nèi)容感興趣答捕,但是書中的內(nèi)容讓你糊涂的話逝钥,回到本章重讀;
d. 如果覺得疲倦并且對(duì)書中的內(nèi)容不感興趣,同時(shí)書中的內(nèi)容不讓你糊涂拱镐,停止閱讀艘款,請休息;
e. 如果覺得疲倦并且對(duì)書的內(nèi)容不感興趣,并且書中的內(nèi)容讓你糊涂沃琅,請停止閱讀哗咆,休息;
f. 不疲倦,對(duì)書的內(nèi)容感興趣益眉,書中的內(nèi)容不糊涂晌柬,繼續(xù)讀下去;
g. 不疲倦,不感興趣呜叫,書中內(nèi)容糊涂空繁,跳到下一章去讀;
h. 不疲倦,不感興趣朱庆,書中內(nèi)容不糊涂盛泡,跳到下一章去讀;

案例3:
問題要求:"對(duì)功率大于50馬力的機(jī)器,維修記錄不全或已運(yùn)行10年以上的機(jī)器娱颊,應(yīng)給予優(yōu)先的維修處理"這里假定“維修記錄不全”和"優(yōu)先維修處理"均已在別處有更嚴(yán)格的定義傲诵。請建立判定表。

案例4:
航空行李托運(yùn)費(fèi)的計(jì)算:按規(guī)定重量不超過30公斤的行李可免費(fèi)托運(yùn)箱硕,重量超過30公斤時(shí)拴竹,對(duì)超運(yùn)部分進(jìn)行收費(fèi),標(biāo)準(zhǔn)是頭等艙國內(nèi)乘客收取4元/公斤剧罩;其它艙位國內(nèi)乘客收取6元/公斤栓拜;國外乘客收費(fèi)為國內(nèi)乘客的2倍;殘疾乘客的收費(fèi)為正常乘客的一半惠昔。

五幕与、流程分析法(場景分析法)

流程分析主要是針對(duì)測試場景類型的,流程分析是將軟件系統(tǒng)的某個(gè)流程看成路徑镇防,用路徑分析的方法來設(shè)計(jì)測試用例啦鸣。根據(jù)流程的順序依次進(jìn)行組合诫给,使得流程的各個(gè)分支都能走到中狂。這是從白盒測試中路徑覆蓋分析法中推廣到黑盒測試中來的測試分析方法证鸥。

  1. 場景分析法步驟
  • 畫出業(yè)務(wù)流程圖(描述正常流程和異常流程)
  • 確定條件分支(設(shè)計(jì)路徑的優(yōu)先級(jí))
  • 確定測試路徑(考慮路徑覆蓋率)
  • 選擇數(shù)據(jù)構(gòu)造用例(選數(shù)據(jù)要結(jié)合等價(jià)類、邊界值分析)
  1. 案例
  1鸟蜡、用戶登錄網(wǎng)站進(jìn)行文獻(xiàn)檢索
  2揉忘、查找到自己需要的文獻(xiàn)后就對(duì)文獻(xiàn)進(jìn)行訂購
  3、用戶確認(rèn)訂購后您朽,系統(tǒng)自動(dòng)生成訂單(此時(shí)訂單的狀態(tài)為“未處理”)
  4哗总、對(duì)于未處理的訂單用戶可以進(jìn)行撤銷
  5倍试、后臺(tái)訂單管理員查看到“未處理”的訂單后县习,和用戶確認(rèn)訂購事項(xiàng)后躁愿,對(duì)該訂單進(jìn)行處理
  6、首先接受該訂單
  7样勃、然后核對(duì)訂單的信息及所需文獻(xiàn)內(nèi)容剧防,進(jìn)行訂單的處理
  8、將用戶訂購的文獻(xiàn)打印后,裝訂成冊搬男,打印出投遞清單缔逛,并郵寄給用戶
  9备埃、訂單被接受后褐奴,管理員可以隨時(shí)將訂單修改為錯(cuò)誤狀態(tài)

備注: 
案例
  1. 練習(xí)
1、針對(duì)ATM機(jī)的取款流程進(jìn)行測試敦冬;
2、淘寶購物

六匪补、狀態(tài)遷移法

狀態(tài)轉(zhuǎn)換圖是對(duì)特定系統(tǒng)需求設(shè)計(jì)測試用例的工具之一伞辛,它描述了測試對(duì)象和測試數(shù)據(jù)之間的關(guān)系夯缺。測試對(duì)象的輸入行為不僅僅和當(dāng)前的輸入數(shù)據(jù)有關(guān)踊兜,而且和測試對(duì)象當(dāng)前的狀態(tài)有關(guān)。狀態(tài)轉(zhuǎn)換圖是設(shè)計(jì)狀態(tài)轉(zhuǎn)換測試用例的基礎(chǔ)垫言,基于狀態(tài)轉(zhuǎn)換圖進(jìn)行的測試就是狀態(tài)轉(zhuǎn)換測試蚌成;

  - 通過構(gòu)造能導(dǎo)致狀態(tài)遷移的事件來測試狀態(tài)之間的轉(zhuǎn)換前痘,常用語協(xié)議測試;
  - 用這種方法可以設(shè)計(jì)逆向的測試用例担忧,如狀態(tài)和事件的非法組合芹缔;
  1. 狀態(tài)遷移圖步驟
  • 畫出狀態(tài)遷移圖
  • 列出狀態(tài) --- 事件表
  • 通過狀態(tài)遷移圖轉(zhuǎn)做出狀態(tài)轉(zhuǎn)換樹
  • 從狀態(tài)住轉(zhuǎn)換樹推到出測試路徑
  • 根據(jù)測試路徑編寫合法測試用例
  • 編寫非法測試用例
  1. 案例
1、向航空公司打電話預(yù)定機(jī)票 -> 此時(shí)機(jī)票信息出于"完成"狀態(tài)
2瓶盛、顧客支付了機(jī)票費(fèi)用后 -> 機(jī)票信息就變?yōu)?已支付"狀態(tài)
3最欠、旅游當(dāng)天到達(dá)機(jī)場后,打印機(jī)票后 -> 機(jī)票信息就變?yōu)?已出票"狀態(tài)
4惩猫、登記檢票后 -> 機(jī)票信息就變?yōu)?已使用"狀態(tài)
5芝硬、在登上飛機(jī)之前任何時(shí)間可以取消自己的訂票信息,如果已經(jīng)支付了機(jī)票的費(fèi)用帆锋,則還可以得到退款吵取,取消后 -> 訂票信息處于"已被取消"狀態(tài)
狀態(tài)轉(zhuǎn)換樹

路徑
  1. 練習(xí)
練習(xí)1 --- 電話系統(tǒng)
- 空閑: 電話初始狀態(tài)
- 響撥號(hào)音: 拿起電話,未撥號(hào)锯厢,系統(tǒng)響撥號(hào)音
- 撥號(hào)中: 輸入號(hào)碼狀態(tài)
- 連接中: 號(hào)碼完畢皮官,等待連接的狀態(tài)
- 響鈴: 線路通后,響鈴的狀態(tài)
- 通話: 對(duì)方拿起電話狀態(tài)
- 斷開: 對(duì)方掛斷或已方掛斷
- 超時(shí)狀態(tài): 拿起電話实辑,一直未撥號(hào)
- 忙音: 撥打?qū)Ψ诫娫捳季€狀態(tài)
- 播放錄音: 撥號(hào)錯(cuò)誤捺氢,系統(tǒng)狀態(tài)

練習(xí)2 --- 打印機(jī)
- 打印機(jī)開啟后,進(jìn)入就緒態(tài)剪撬,同時(shí)就緒燈亮
- 如果收到打印命令后摄乒,將進(jìn)行打印,在打印過程中如果缺紙残黑,將停止打印馍佑,缺紙指示燈亮,放入紙張后恢復(fù)打印
- 如果打印過程中出現(xiàn)故障梨水,將停止打印拭荤,故障指示燈亮,故障修復(fù)后繼續(xù)打印
- 打印完成后疫诽,打印機(jī)進(jìn)入就緒狀態(tài)舅世,同時(shí)就緒指示燈亮

七、錯(cuò)誤推測法

錯(cuò)誤猜測法奇徒,根據(jù)經(jīng)驗(yàn)猜想可能有什么問題并依此設(shè)計(jì)測試用例雏亚。錯(cuò)誤猜測法只能作為測試設(shè)計(jì)的補(bǔ)充而不能單獨(dú)用來設(shè)計(jì)測試用例,否則可能會(huì)造成測試的不充分摩钙。

  1. 常見的錯(cuò)誤推測法


    常見的錯(cuò)誤推測法
  2. 優(yōu)缺點(diǎn)
    錯(cuò)誤推測法不是一種系統(tǒng)的測試方法罢低,所以只能用作輔助手段,即先用其他方法設(shè)計(jì)測試用例胖笛,再用此方法補(bǔ)充一些例子奕短。

  • 優(yōu)點(diǎn): 測試者能夠快速且容易地切入宜肉,并能夠體會(huì)到程序的易用與否;
  • 缺點(diǎn): 難以知道測試的覆蓋率翎碑,可能丟失大量未知的區(qū)域,并且這種測試行為帶有一定的主觀性之斯。況且日杈,如果外部特性本身設(shè)計(jì)有問題或規(guī)格說明書的規(guī)定有誤,此測試方法是發(fā)現(xiàn)不了的佑刷;
  1. 案例
測試計(jì)算平方根的函數(shù) 為例莉擒,假如在界面文本框中進(jìn)行x值的輸入。
根據(jù)題意瘫絮,可知x要求為非負(fù)數(shù)涨冀,且是數(shù)字÷笥可設(shè)計(jì)錯(cuò)
誤推斷的測試用例:
? x為負(fù)數(shù)鹿鳖,如:-2
? x為非數(shù)字,如:a, $等
? x為0的情況壮莹。
? 針對(duì)不合法的輸入翅帜,系統(tǒng)能否給出必要的判斷提示信息?

八命满、異常處理法

系統(tǒng)異常分析法就是針對(duì)系統(tǒng)有可能存在的異常操作涝滴、軟硬件缺陷引起的故障進(jìn)行分析,依此設(shè)計(jì)測試用例胶台。主要針對(duì)系統(tǒng)的容錯(cuò)能力歼疮、故障恢復(fù)能力進(jìn)行測試。

九诈唬、因果圖分析法

因果圖提供了一個(gè)把規(guī)格轉(zhuǎn)化為判定表的系統(tǒng)化方法韩脏,從該圖中可以產(chǎn)生測試數(shù)據(jù)。其中讯榕,原因是表示輸入條件骤素,結(jié)果是對(duì)輸入執(zhí)行的一系列計(jì)算后得到的輸出。
因果圖方法最終生成的就是判定表愚屁。它適合于檢查軟件輸入條件的各種組合情況济竹。

  1. 因果圖符號(hào)


    因果圖符號(hào)
  2. 約束符號(hào)


    約束符號(hào)
  3. 因果圖的步驟

  • 把大的系統(tǒng)規(guī)格劃分解成可以測試的規(guī)格片段
  • 分析分解后待測的系統(tǒng)規(guī)格,找出哪些是原因霎槐,哪些是結(jié)果送浊,可以見助中間件
  • 畫出因果圖
  • 把因果圖轉(zhuǎn)換成判定表
  • 簡化判定表
  • 用判定表中的每一項(xiàng)生成測試用例
  1. 案例
    經(jīng)典的因果圖案例: 一個(gè)處理單價(jià)為5角錢的飲料的自動(dòng)售貨機(jī)。
    其規(guī)格說明如下: 若投入5角錢或1元錢的硬幣丘跌,押下〖橙汁〗或〖啤酒〗的按鈕袭景,則相應(yīng)的飲料就送出來唁桩。若售貨機(jī)沒有零錢找,則一個(gè)顯示〖零錢找完〗的紅燈亮耸棒,這時(shí)在投入1元硬幣并押下按鈕后荒澡,飲料不送出來而且1元硬幣也退出來;若有零錢找与殃,則顯示〖零錢找完〗的紅燈滅单山,在送出飲料的同時(shí)退還5角硬幣。


    找出原因結(jié)果并進(jìn)行編號(hào)

    畫因果圖

    因果圖轉(zhuǎn)換判定表的方法:
    將因果圖中的所有條件(因)填入判定表的條件樁中幅疼;
    將因果圖中的所有動(dòng)作(果)填入判定表的動(dòng)作樁中米奸;
    根據(jù)因果圖確定各個(gè)條件組合對(duì)應(yīng)的動(dòng)作,并且確定判定表中各個(gè)規(guī)則的條件項(xiàng)和動(dòng)作項(xiàng)爽篷,在需要時(shí)優(yōu)化判定表悴晰。


    因果圖轉(zhuǎn)換判定表
  2. 因果圖的優(yōu)點(diǎn)缺點(diǎn)

  • 優(yōu)點(diǎn):
    等價(jià)類法盡管各個(gè)輸入條件可能出錯(cuò)的情況都考慮到了,但是多個(gè)輸入條件組合起來出錯(cuò)的情況卻被忽略了;
    因果圖法能夠幫助我們按一定步驟逐工,高效的選擇測試用例铡溪,設(shè)計(jì)多個(gè)輸入條件組合用例;
    因果圖分析還能為我們指出,程序規(guī)格照說明描述中存在什么問題;
  • 缺點(diǎn):
    輸入條件與輸出結(jié)果的因果關(guān)系钻弄,有時(shí)難以從軟件需求規(guī)格說明書得到;
    即使得到了這些因果關(guān)系佃却,也會(huì)因?yàn)橐蚬P(guān)系復(fù)雜導(dǎo)致因果圖非常龐大,測試用例數(shù)目及其龐大;

十窘俺、正交試驗(yàn)法

正交試驗(yàn)設(shè)計(jì)法饲帅,是從大量的試驗(yàn)點(diǎn)中挑選出適量的、有代表性的點(diǎn)瘤泪,應(yīng)用依據(jù)迦羅瓦理論導(dǎo)出的“正交表”灶泵,合理的安排試驗(yàn)的一種科學(xué)的試驗(yàn)設(shè)計(jì)方法。

正交常用的術(shù)語:
  - 指標(biāo):通常把判斷試驗(yàn)結(jié)果優(yōu)劣的標(biāo)準(zhǔn)叫做試驗(yàn)的指標(biāo)
  - 因子:所有影響試驗(yàn)指標(biāo)的條件
  - 因子的狀態(tài):影響試驗(yàn)因子的取值对途,叫做因子的狀態(tài)
  1. 正交表表示形式: Lr(mn)或Lr(mn,pq)
N赦邻、 Q代表因子數(shù),即正交表中的列
M实檀、P代表水平數(shù)也稱狀態(tài)惶洲,單個(gè)因子取的最大數(shù)
R代表行數(shù),正交表中行的數(shù)量膳犹,即測試用例數(shù)

行數(shù)的計(jì)算r=(m-1)*n+1或r=(m-1)*n+(p-1)*q+1
正交表表達(dá)式1

正交表表達(dá)式2
  1. 正交分析步驟:
  • 提取功能說明恬吕,構(gòu)造因子-狀態(tài)表加權(quán)篩選,生成因素分析表
  • 計(jì)算各因子和狀態(tài)的權(quán)值须床,刪去一部分權(quán)值較小铐料,即重要性較小的因子或狀態(tài),使最后生成的測試用例集縮減到允許范圍
  • 利用正交表構(gòu)造測試數(shù)據(jù)集
    • 如果各個(gè)因子的狀態(tài)數(shù)是不統(tǒng)一的,幾乎不可能出現(xiàn)均勻的情況钠惩。必須首先用邏輯命令來組合各因子的狀態(tài)柒凉,作出布爾圖
    • 根據(jù)布爾圖查找最接近的相應(yīng)階數(shù)的正交表
    • 依照因果圖上根節(jié)點(diǎn)到葉子節(jié)點(diǎn)的順序逐步替換正交表上的中間節(jié)點(diǎn),得到最終的正交表
  • 利用正交表每行數(shù)據(jù)構(gòu)造測試用例
  1. 正交實(shí)際應(yīng)用
  • 單個(gè)功能測試:每個(gè)輸入是因子篓跛,每個(gè)輸入的取值是狀態(tài)
  • 功能組合測試:每個(gè)功能是因子膝捞,是否包含功能是狀態(tài),也就是每個(gè)功能2個(gè)狀態(tài)愧沟。比如手機(jī)有多個(gè)功能:接聽電話绑警、接收短信、游戲央渣、音樂、拍照等
  • 配置測試:每個(gè)配置項(xiàng)是因子渴频,每個(gè)具體配置是狀態(tài)芽丹。比如針對(duì)CPU測試,需要考慮CPU與主板卜朗、內(nèi)存拔第、顯卡、聲卡等組合到一起能不能正常工作

正交的原則:兩兩組合!

十一场钉、總結(jié)

總結(jié)
  1. 使用各種測試方法
  • 在任何情況下都必須使用邊界值分析方法蚊俺,經(jīng)驗(yàn)表明用這種方法設(shè)計(jì)出測試用例發(fā)現(xiàn)程序錯(cuò)誤的能力最強(qiáng);
  • 必要時(shí)用等價(jià)類劃分方法補(bǔ)充一些測試用例逛万;
  • 用錯(cuò)誤推測法再追加一些測試用例泳猬,依靠經(jīng)驗(yàn);
  • 如果程序的功能說明中含有輸入條件的組合情況宇植,則一開始就可選用因果圖得封;
  • 對(duì)業(yè)務(wù)流程場景清晰的系統(tǒng),使用流程分析貫穿這個(gè)測試案例的過程指郁;
  • 檢查已設(shè)計(jì)的測試用例的覆蓋程度忙上;
  • 最后要考慮異常分析,在進(jìn)行綜合使用闲坎。
  1. 測試用例的設(shè)計(jì)步驟
  • 構(gòu)造根據(jù)設(shè)計(jì)規(guī)格得出的基本功能測試用例
  • 邊界值測試用例
  • 狀態(tài)轉(zhuǎn)換測試用例
  • 錯(cuò)誤猜測測試用例
  • 異常測試用例
  • 性能測試用例
  • 壓力測試用例
  1. 優(yōu)化測試用例的方法
  • 利用設(shè)計(jì)測試用例的8種方法不斷的對(duì)測試用例進(jìn)行分解與合并
  • 采用遺傳算法理論進(jìn)化測試用例
  • 在測試時(shí)利用發(fā)散思維構(gòu)造測試用例
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末疫粥,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子腰懂,更是在濱河造成了極大的恐慌梗逮,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,252評(píng)論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件悯恍,死亡現(xiàn)場離奇詭異库糠,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,886評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門瞬欧,熙熙樓的掌柜王于貴愁眉苦臉地迎上來贷屎,“玉大人,你說我怎么就攤上這事艘虎“χ叮” “怎么了?”我有些...
    開封第一講書人閱讀 168,814評(píng)論 0 361
  • 文/不壞的土叔 我叫張陵野建,是天一觀的道長属划。 經(jīng)常有香客問我,道長候生,這世上最難降的妖魔是什么同眯? 我笑而不...
    開封第一講書人閱讀 59,869評(píng)論 1 299
  • 正文 為了忘掉前任,我火速辦了婚禮唯鸭,結(jié)果婚禮上须蜗,老公的妹妹穿的比我還像新娘。我一直安慰自己目溉,他們只是感情好明肮,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,888評(píng)論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著缭付,像睡著了一般柿估。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上陷猫,一...
    開封第一講書人閱讀 52,475評(píng)論 1 312
  • 那天秫舌,我揣著相機(jī)與錄音,去河邊找鬼烙丛。 笑死舅巷,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的河咽。 我是一名探鬼主播钠右,決...
    沈念sama閱讀 41,010評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼忘蟹!你這毒婦竟也來了飒房?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,924評(píng)論 0 277
  • 序言:老撾萬榮一對(duì)情侶失蹤媚值,失蹤者是張志新(化名)和其女友劉穎狠毯,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體褥芒,經(jīng)...
    沈念sama閱讀 46,469評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡嚼松,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,552評(píng)論 3 342
  • 正文 我和宋清朗相戀三年嫡良,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片献酗。...
    茶點(diǎn)故事閱讀 40,680評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡寝受,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出罕偎,到底是詐尸還是另有隱情很澄,我是刑警寧澤,帶...
    沈念sama閱讀 36,362評(píng)論 5 351
  • 正文 年R本政府宣布颜及,位于F島的核電站甩苛,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏俏站。R本人自食惡果不足惜讯蒲,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,037評(píng)論 3 335
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望肄扎。 院中可真熱鬧爱葵,春花似錦、人聲如沸反浓。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,519評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽雷则。三九已至,卻和暖如春肪笋,著一層夾襖步出監(jiān)牢的瞬間月劈,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,621評(píng)論 1 274
  • 我被黑心中介騙來泰國打工藤乙, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留猜揪,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,099評(píng)論 3 378
  • 正文 我出身青樓坛梁,卻偏偏與公主長得像而姐,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子划咐,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,691評(píng)論 2 361