第三單元 測試用例設(shè)計(jì)方法(一)
3.1 用例介紹
3.1.1 定義
為某個業(yè)務(wù)目標(biāo)哼丈,而編制的一組由測試輸入敛助,執(zhí)行條件以及預(yù)期結(jié)果組成的案例
3.1.2 為什么要學(xué)習(xí)測試用例?
- 在開始實(shí)施測試之前設(shè)計(jì)好測試用例侨颈,可以避免盲目測試并提高測試效率。
- 測試用例的使用令軟件測試的實(shí)施重點(diǎn)突出、目的明確辟灰。
- 在軟件版本更新后只需修正少部分的測試用例便可展開測試工作,降低工作強(qiáng)度篡石、縮短項(xiàng)目周期芥喇。
- 檢驗(yàn)軟件是否滿足客戶需求、體現(xiàn)一個測試人員的工作量凰萨、展現(xiàn)測試用例的設(shè)計(jì)思路继控。
3.1.3 用例核心要素(16個)
- 必須掌握:用例編號(如何命名)、所屬模塊胖眷、用例標(biāo)題(驗(yàn)證誰在什么情況下武通,去做什么,最后結(jié)果是什么)珊搀、優(yōu)先級冶忱、前置條件、操作步驟境析、測試數(shù)據(jù)囚枪、預(yù)期結(jié)果、實(shí)際結(jié)果
-
了解內(nèi)容:通過否劳淆、bugID链沼、編寫人員、編寫時間沛鸵、測試人員忆植、測試時間、備注
3.1.4 什么是高質(zhì)量的測試用例
- 測試用例覆蓋所有的用戶需求
- 測試用例要簡單明了
- 各類型的測試用例要齊全
- 用最少的用例覆蓋最多的需求
3.2 等價類劃分法
3.2.1 定義
等價類劃分是把所有可能輸入的數(shù)據(jù)分為若干個區(qū)域,然后從每個區(qū)域中取少量有代表性的數(shù)據(jù)進(jìn)行測試即可朝刊。
等價類 :何為等價類耀里,某個輸入域的集合,在這個集合中每個輸入條件都是等效的拾氓。
3.2.2 分類
一般可分為有效等價類和無效等價類冯挎。
- 有效等價類:指符合《需求規(guī)格說明書》,輸入合理的數(shù)據(jù)集合
- 無效等價類:指不符合《需求規(guī)格說明書》咙鞍,輸入不合理的數(shù)據(jù)集合
3.2.3 類型
取值范圍型: 輸入學(xué)生成績 0-100
恒等類型 : 只有一個結(jié)果是正確的房官,其他都是錯誤的 例如 彩票的特等獎
布爾值型: 通過是否來進(jìn)行選擇,如同意協(xié)議
枚舉類型: 給出選項(xiàng)內(nèi)容续滋,只要符合其中任意一個就可以 例如選擇學(xué)歷
規(guī)則類型: 給定要求翰守,滿足要求的就可以,比如郵箱
在任意文本輸入框中可以填寫的字符類型: 中文疲酌、英文蜡峰、特殊符號、空格朗恳、數(shù)字湿颅。
3.2.4 案例
-
案例一:
劃分等價類并編號,下表為等價類劃分的結(jié)果
-
案例二:
3.3 邊界值分析法
3.3.1 定義
定義:邊界值分析是取稍高于或稍低于邊界的一些數(shù)據(jù)進(jìn)行測試。
原因:程序開發(fā)循環(huán)體時的取數(shù)可能會因?yàn)?lt;,<=搞錯粥诫。
比如下面代碼:
//有效等價劃分 -1 0 100 101
for(int i = 0;i <100; i ++) {
int j = i+1;
System.out.println("循環(huán)第“+j+"次")//循環(huán)地做某件事情
}
這里的程序是循環(huán)了100次油航,所以會做100次;
如果程序員不小心,把i <100寫成i <= 100怀浆,則會溢出谊囚,這時候邊界值檢查是一個很好的測試方法。
3.3.2 確定邊界值的方法
- 上點(diǎn):是指邊界上的點(diǎn)执赡,無論此時的域是開區(qū)間還是閉區(qū)間镰踏,開區(qū)間的話,上點(diǎn)就是在域外搀玖,閉區(qū)間的話余境,上點(diǎn)就是在域內(nèi)驻呐。
-
離點(diǎn):是指離上點(diǎn)最近的點(diǎn)灌诅,這里就跟是閉區(qū)間還是開區(qū)間就有關(guān)系了,如果是開區(qū)間含末,那么離點(diǎn)就在域內(nèi)猜拾,如果是閉區(qū)間,那么離點(diǎn)就在域外佣盒。(開內(nèi)閉外)
遵循的原則:開內(nèi)閉外 開區(qū)間往中間找挎袜,閉區(qū)間往外找 - 內(nèi)點(diǎn):域內(nèi)的任意點(diǎn)都是內(nèi)點(diǎn)。
0<=x<=10 左上點(diǎn) 0 左離點(diǎn) -1 右離點(diǎn) 11 右上點(diǎn) 10 內(nèi)點(diǎn) 5
0<x<10 左上點(diǎn) 0 左離點(diǎn) 1 右離點(diǎn) 9 右上點(diǎn) 10 內(nèi)點(diǎn) 5
0<=x<10 左上點(diǎn) 0 左離點(diǎn) -1 右離點(diǎn) 9 右上點(diǎn) 10 內(nèi)點(diǎn) 5
3.3.3 邊界值與等價類去重
-
案例一:檔案管理系統(tǒng),用戶輸入日期格式為“年月日”盯仪,范圍是1990年1月~2049年12月紊搪。示例:19900101-20491231
-
案例二:
測試點(diǎn)分析:
1、熟讀需求 3-5遍
2全景、斷句
3耀石、逆向思維
4、疑問點(diǎn)
第四單元 測試用例設(shè)計(jì)方法(二)- 了解爸黄、知道即可
4.1 因果圖
4.1.1 定義
因果圖法比較適合輸入條件比較多的情況滞伟,測試所有的輸入條件的排列組合。所謂的原因就是輸入炕贵,所謂的結(jié)果就是輸出梆奈。
4.1.2 因果圖測試用例的編寫過程
1、確定原因称开、結(jié)果亩钟、中間過程
2、連接因果圖
3钥弯、標(biāo)明約束條件
4径荔、輸出測試用例
4.1.3 案例:自動售貨機(jī)
需求說明:
有一個處理單價為2.5元的盒裝飲料的自動售貨機(jī)軟件。若投入2.5元硬幣脆霎,按“可樂”总处、“啤酒”、或“奶茶”按鈕睛蛛,相應(yīng)的飲料就送出來鹦马。若投入的是3元硬幣,在送出飲料的同時退還5角硬幣忆肾。
分析:
原因(輸入): 中間狀態(tài) 結(jié)果(輸出)
投入2.5元硬幣荸频; 已投幣/已按鈕 退還5角硬幣;
投入3元客冈;
按“可樂”按鈕旭从; 送出“可樂”飲料;
按“啤酒”按鈕场仲; 送出“啤酒”飲料和悦;
按“奶茶”按鈕。 送出“奶茶”飲料渠缕;
4.2 錯誤推測法
4.2.1 定義
錯誤猜測法是測試經(jīng)驗(yàn)豐富的人喜歡使用的一種測試用例設(shè)計(jì)方法鸽素。
一般這種方法是基于經(jīng)驗(yàn)和直覺推測程序中可能發(fā)送的各種錯誤,有針對性地設(shè)計(jì)亦鳞。只能作為一種補(bǔ)充馍忽。
4.2.2 應(yīng)用
輸入一串?dāng)?shù)字棒坏,程序可自動從小到大排序
郵箱格式@符合的全角以及半角情況
4.2.3 案例
測試手機(jī)終端的通話功能,可以設(shè)計(jì)各種通話失敗的情況來補(bǔ)充測試用 例:
無SIM 卡插入時進(jìn)行呼出(非緊急呼叫)
插入已欠費(fèi)SIM卡進(jìn)行呼出
射頻器件損壞或無信號區(qū)域插入有效SIM卡呼出
網(wǎng)絡(luò)正常遭笋,插入有效SIM卡坝冕,呼出無效號碼(如1、888瓦呼、333333徽诲、不輸入任何號碼等)
網(wǎng)絡(luò)正常,插入有效SIM卡吵血,使用“快速撥號”功能呼出設(shè)置無效號碼的數(shù)字
4.2.4 技巧
最重要的是要思考和分析測試對象的各個方面谎替,多參考以前發(fā)現(xiàn)的bug的相關(guān)數(shù)據(jù),總結(jié)的經(jīng)驗(yàn)蹋辅,個人多考慮異常的情況辛萍、反面的情況酿傍、特殊的輸入鳖谈,以一個攻擊者的態(tài)度對待程序军俊,就能設(shè)計(jì)出比較完善的測試用例來。
4.3 判定表
4.3.1定義:
設(shè)計(jì)測試用例時褒傅,分析和表達(dá)多輸入條件下執(zhí)行不同操作的黑盒測試方法弃锐。
注意:該方法和因果圖法相似。
4.3.2 判定表測試用例編寫過程
1殿托、確定原因和動作
2霹菊、排列組合
3、標(biāo)明結(jié)果關(guān)系
4支竹、輸出測試用例
4.3.3 案例
要求:
掃槍掃描車身機(jī)器碼自動識別汽車品牌和型號旋廷,對于發(fā)動機(jī)功率大于100馬力的汽車并且維修記錄不全或里程超過20萬公里的汽車,應(yīng)給予合作4s店優(yōu)先的維修處理
分析:
條件 1 2 3 4 5 6 7 8
功率大于100馬力
維修記錄不全
里程超過20萬公里
動作
4s店進(jìn)行優(yōu)先處理
進(jìn)行其他處理
4.4 正交實(shí)驗(yàn)法
4.4.1 概述
- 日本人提出
- 使用工具:正交表
- 正交實(shí)驗(yàn)法就是利用排列整齊的表 -正交表來對試驗(yàn)進(jìn)行整體設(shè)計(jì)礼搁、綜合比較饶碘、統(tǒng)計(jì)分析,實(shí)現(xiàn)通過少數(shù)的實(shí)驗(yàn)次數(shù)找到較好的生產(chǎn)條件馒吴,以達(dá)到最高生產(chǎn)工藝效果扎运。
- 這種試驗(yàn)設(shè)計(jì)法是從大量的試驗(yàn)點(diǎn)中挑選適量的具有代表性的點(diǎn),利用已經(jīng)造好的表格—正交表來安排試驗(yàn)并進(jìn)行數(shù)據(jù)分析的方法饮戳。
- 正交表能夠在因素變化范圍內(nèi)均衡抽樣豪治,使每次試驗(yàn)都具有較強(qiáng)的代表性,由于正交表具備均衡分散的特點(diǎn)莹捡,保證了全面實(shí)驗(yàn)的某些要求鬼吵,這些試驗(yàn)往往能夠較好或更好的達(dá)到實(shí)驗(yàn)的目的扣甲。
- 正交實(shí)驗(yàn)設(shè)計(jì)包括兩部分內(nèi)容:第一篮赢,是怎樣安排實(shí)驗(yàn)齿椅;第二,是怎樣分析實(shí)驗(yàn)結(jié)果启泣。
4.4.2 應(yīng)用場景
在一個界面中有多個控件涣脚,每個控件有多個取值,控件之間可以相互組合寥茫,不可能(也沒有必要)為每一種組合編寫一條用例遣蚀,如何使用最少最優(yōu)的組合進(jìn)行測試∩闯埽——正交排列法
4.4.3 使用正交設(shè)計(jì)助手
(1)下載解壓正交設(shè)計(jì)助手
(2)文件新建工程
(3)實(shí)驗(yàn)新建實(shí)驗(yàn)
①實(shí)驗(yàn)說明
②選擇正交表
③因素與水平
④確定
- 正交表測試用例設(shè)計(jì)方法的特點(diǎn)是什么芭梯?
1、用最少的實(shí)驗(yàn)覆蓋最多的操作弄喘,測試用例設(shè)計(jì)很少玖喘,效率高,但是很復(fù)雜蘑志;
2累奈、對于基本的驗(yàn)證功能,以及二次集成引起的缺陷急但,一般都能找出來澎媒;但是更深的缺陷,更復(fù)雜的缺陷波桩,還是無能為力 的戒努;
3、體的環(huán)境下镐躲,正交表一般都很難做的柏卤。大多數(shù),只在系統(tǒng)測試的時候使用此方法匀油。
第五單元 測試用例設(shè)計(jì)方法(三)- 場景法
5.1 定義
通過模擬業(yè)務(wù)場景來對系統(tǒng)的功能點(diǎn)或業(yè)務(wù)流程的描述缘缚,從而提高測試效果的黑盒測試方法
5.2 ATM引入場景法
5.3 原理圖
5.4 兩個流
5.4.1 基本流
- 概念
正確完成的流程 - 流程
插卡 → 輸入密碼 → 選擇服務(wù) → 取款 → 選擇金額 → 等待出鈔 → 取出卡片
5.3.2 備選流
- 概念
存在異常的流程,對于基本流每一步都取反 - 流程
插卡 → 輸入密碼 → 密碼錯誤 → 重新輸入 → 密碼正確 → 選擇服務(wù) → 取款 → 選擇金額 → 等待出鈔 → 取出卡片
5.4 場景法測試用例編寫過程
- 分析用戶場景
- 設(shè)計(jì)場景覆蓋基本流和備選流
- 輸出測試用例
5.6 案例
-
需求說明:
注冊網(wǎng)站一共需要三個步驟敌蚜,輸入手機(jī)號桥滨,密碼,輸入正確的手機(jī)驗(yàn)證碼弛车、并同意服務(wù)協(xié)議后齐媒,點(diǎn)擊立即申請,注冊成功纷跛。信息填寫錯誤時給出友好的提示信息喻括,說明錯誤原因。注冊成功后給注冊用戶發(fā)一條信息贫奠,信息內(nèi)容如下:“您好唬血!Xxx用戶望蜡,歡迎您注冊,請及時完成實(shí)名認(rèn)證拷恨〔甭桑” -
分析方法:
①熟讀需求:熟讀3-5遍,讀需求
②斷句:將需求整理成一段段要求
③分類:流程/規(guī)則
④逆向思維:從不同地的方面進(jìn)行考慮
⑤質(zhì)疑:將自己有疑問地方找出來
⑥應(yīng)用測試用例分析方法
使用相應(yīng)的測試用例方法對測試點(diǎn)進(jìn)行用例的編寫腕侄,一個測試點(diǎn)對應(yīng)一個或多個測試用例小泉,而測試用例只能對應(yīng)某個測試點(diǎn)。
5.7 作業(yè):
第六單元 測試用例綜合案例
6.1 案例分析
6.1.1 案例一
-
要求
- 相關(guān)測試點(diǎn)
1冕杠、收貨人姓名:20位以內(nèi)中文微姊、字母,不能為空和空格
2分预、所在地區(qū):根據(jù)等價類劃分選擇的地區(qū)
3柒桑、詳細(xì)地址:中文、字母和符號組合噪舀,不能為空和空格
4魁淳、手機(jī)號碼:號碼11位數(shù)字,不能為空和空格
5与倡、固定電話:與手機(jī)號碼互斥
-
思維導(dǎo)圖
- 編寫測試用例
根據(jù)測試點(diǎn)編寫測試用例
6.2 案例分析
-
要求
- 測試點(diǎn)
添加一個商品界逛,添加多個商品;添加多個不同商家商品纺座;添加多個不同支付方式的商品息拜;添加多個不同地區(qū)的商品;添加一種商品多個數(shù)量净响;添加最大數(shù)量的商品少欺;不登錄添加多個商品,然后再登錄馋贤;登錄成功后再添加多個商品赞别。 - 思維導(dǎo)圖
- 測試用例