目錄
1、測試用例的基本要素
2、根據(jù)測試用例去測試帶來的好處
3、測試用例的設計方法
3.1、等價類
3.2、邊界值
3.3、錯誤猜測法
3.4、場景法
3.5、因果圖法
?3.6、正交排列
4、怎樣判斷一個測試用例是好的測試用例
1、測試用例的基本要素
????????測試用例是為了實施測試而向被測試的系統(tǒng)提供的一組集合,這組集合包含:測試環(huán)境、操作步驟、測試數(shù)據(jù)、預期結(jié)果等要素
萬能公式:
功能測試 + 性能測試 + 界面測試 + 兼容性測試 + 易用性測試 + 安全性測試
2、根據(jù)測試用例去測試帶來的好處
2.1、思路清晰,避免遺漏
????????有了測試用例,我們就需要將大的項目細細劃分,根據(jù)每個不同的功能來編寫不同的測試用例,來整理我們對整個被測試項目的思路,避免遺漏要測試的功能點
2.2、重復性——自動化測試的基礎
????????我們測試一個系統(tǒng)不是一個人測一遍就算結(jié)束了,而需要多人進行反復測試,因此我們可以利用測試用例來規(guī)范和指導我們的測試行為
2.3、跟蹤測試進展
通過編寫測試用例,執(zhí)行測試用例,我們可以清楚的知道我們的測試進度
2.4、歷史參考
????????我們在測試中,必然是會遇到很多功能相同或相近的,而他們的測試用例也就大同小異了,我們可以利用以前對這類功能設計的測試用例,便于我們遇到類似功能的時候作參考????????
3、測試用例的設計方法
3.1、等價類
????????根據(jù)輸入(特殊情況下才考慮輸出),把輸入劃分成若干個等價類)從每一個等價類當中選擇測試用例進行測試,如果這個測試用例測試通過,我們就說這個測試用例代表的等價類測試通過。
等價類幫助我們解決測試用例無法窮舉的情況。
舉例:
利用等價類:
?另外,等價類還可以進行分類:
- 有效等價類:對于程序的規(guī)格說明書是合理的、有意義的輸入數(shù)據(jù)結(jié)構(gòu)的集合,利用有效等價類驗證程序是否實現(xiàn)了規(guī)格說明中所規(guī)定的功能和性能
- 無效等價類:根據(jù)需求說明書,不滿足需求的集合
3.2、邊界值
????????邊界值分析法就是對輸入或者輸出的邊界值進行測試的一種黑盒測試方法。通常邊界值分析法是作為對等價類劃分法的補充,這種情況下,其測試用例來自等價類的邊界
- 等價類和邊界值往往結(jié)合起來使用,邊界值分析使用與等價類劃分法相同的劃分,只是邊界值分析假定錯誤更多地存在于劃分的邊界上,因此在等價類的邊界上以及兩側(cè)的情況設計測試用例;
- 將軟件的輸入或者輸出參數(shù)進行等價類劃分;
- 在等價類的基礎之上進行邊界值分析。一般情況下,假如邊界值已經(jīng)由等價類劃分覆蓋,則可以不予考慮;
- 將邊界值進行組合,作為測試用例的輸入數(shù)據(jù);
????????細心的小伙伴會問,為什么我們要用邊界值去設計測試用例呢?這個是由大量的測試實踐經(jīng)驗得出,大量的Bug往往發(fā)生在輸入定義域或者輸出值域的邊界上,而不是在內(nèi)部。因此,我們針對邊界情況設計測試用例,一般能發(fā)現(xiàn)更多的問題
3.3、錯誤猜測法
- 錯誤猜測法是對被測試軟件設計的理解,過往經(jīng)驗以及個人直覺,推測出軟件可能存在的缺陷,從而針對性地設計測試用例的方法。
- 這個方法強調(diào)的是對被測試軟件的需求理解以及設計實現(xiàn)的細節(jié)把握,還有個人的經(jīng)驗和直覺。
- 錯誤推測法和目前流行的“探索式測試方法”的基本思想一致,這類方法在敏捷開發(fā)模式下的投入產(chǎn)出比很高,被廣泛應運于測試。
- 這個方法的缺點是難以系統(tǒng)化,并且過度依賴個人能力。
3.4、場景法
????????很多軟件不同的場景,是基于不同的事件的觸發(fā),不同事件的觸發(fā),導致場景走向不同的事件流。不同的功能點串起來形成一個場景。不同的功能點又有不同的輸出,不同的輸出導致不同的測試場景。?
設計方法:
- 理解需求,確定業(yè)務基本流程、備選流程、異常流程
- 繪制流程圖,再次確認流程路徑
- 根據(jù)業(yè)務流程圖,抽取測試路徑
- 細化路徑,利用等價類邊界值方法細化路徑,抽取測試用例
ATM取款情景:
插卡 —> 輸入密碼 —> 輸入取款數(shù) —> 取款 —> 退卡
1)插卡
- 插錯卡 (公交卡,會員卡等等)
- 卡插反
- 卡損壞
- 停電吞卡
- 卡號凍結(jié),賬號鎖死
- 網(wǎng)絡不好,無法識別卡號
2)輸入密碼
- 輸入正確的密碼
- 輸入錯誤的密碼(密碼格式不正確)不輸入密碼,直接點擊確認
- 密碼輸入錯誤超過三次,賬戶鎖定
- 密碼第一次輸入錯誤,第二次或第三次輸入正確密碼
- 輸入框是否支持刪除輸入操作
- 測試密碼是否加密
- 是否支持不同字符的輸入
3)輸入取款錢數(shù)
- 輸入小于卡余額的錢數(shù)
- 輸入等于卡余額的錢數(shù)
- 輸入大于卡余額的錢數(shù)
- 輸入非整百的數(shù)
- 不輸入直接按取錢按鈕(取錢按鈕置灰)
- 多久不操作超時
4)取款
- 輸入小于等于銀行卡余額的錢數(shù)時,取款成功
- 輸入大于銀行卡余額的錢數(shù),取款失敗,并提示“余額不足”
- 超過每日取款余額的上線
- 超過每日取款次數(shù)的上線
5)退卡
- 取錢后正常退卡
- 操作超時,吞卡
6)ATM機
- ATM機不正常
- ATM一切正常
- ATM余額不足
- ATM斷網(wǎng),斷電,硬件故障軟件系統(tǒng)崩潰
- 發(fā)生異常情況ATM機是否支持事務回滾
3.5、因果圖法
因果圖是一種邏輯圖,恒等,與或非,用因果圖來設計測試用例,叫做因果圖法
?用于被測程序有多輸入,且程序的輸出依賴輸入的情況,一般分析程序如下:
- 找出所有的輸入條件
- 明確所有的輸出條件
- 明確所有條件之間的制約關(guān)系以及組合關(guān)系,哪些條件不能組合在一起,哪些條件可以組合在一起
- 明確所有輸出之間的制約關(guān)系以及組合關(guān)系,哪些條件不能組合在一起,哪些條件可以組合在一起
- 找出什么樣的輸入條件組合會產(chǎn)生哪種輸出結(jié)果
- 根據(jù)因果圖,寫出判定表
- 根據(jù)判定表設計測試用例
?
?3.6、正交排列
????????根據(jù)正交性設計測試用例,從大量的實驗數(shù)據(jù)中根據(jù)正交原則取出最優(yōu)的數(shù)據(jù)組合,根據(jù)最優(yōu)數(shù)據(jù)組合試驗的結(jié)果,來分析整個測試結(jié)果。
????????正交法的目的就是為了減少測試用例數(shù)目,用盡可能少的用例覆蓋輸入的兩兩組合,設計方法如下:
- 確定因素,對軟件運行結(jié)果有影響的軟件
- 確定因素的取值范圍
- 確定每個因素的水平,采用等價類,邊界值,在每個因素內(nèi)跳出最具有代表性的測試值
- 選擇正交表設計測試用例
正交表概念:一種特別的表,一般的正交表記為? Ln(m的k次方)
- n是表的行數(shù),也就是要測試組合的次數(shù)
- k是表的列,表示控件的個數(shù)(因素的個數(shù)或因子個數(shù))
- m是每個控件包含的取值個數(shù)(各因素的水平數(shù),即各因素的狀態(tài)數(shù))
如:L12(211)
有11個控件
每個控件有2個取值,
12為需要測試的組合數(shù)
叫11因素2水平
正交表使用步驟:
- 根據(jù)索測程序中使用的控件的個數(shù)(因素)以及每個控件的取值個數(shù)(水平),選取一個合適的正交表
- 把控件及其取值列舉出來,并對齊編號
- 把控件機器取值映射到正交排列表中
- 把正交排列表中的ABCD(因子)分別替換成4個控件
- 把每列中的123(狀態(tài))分別換成這個控件的3個取值(水平),排列順序按表中的順序排列
- 根據(jù)映射好的正交排列表編寫測試用例
案例1:
字符屬性設置
案例2:
對某人進行查詢,假設查詢某個人時有三個查詢條件:
- 根據(jù)“姓名”進行查詢
- 根據(jù)“身份證號碼”查詢
- 根據(jù)“手機號碼”查詢
考慮查詢條件要么不填寫,要么填寫,此時可用正交表進行設計:
?①因素數(shù)和水平數(shù)。有三個因素:姓名、身份證號、手機號碼。每個因素有兩個水平:
姓名:填、不填
身份證號:填、不填
手機號碼:填、不填
②?選擇正交表:
- 表中的因素數(shù)>=3
- 表中至少有三個因素的水平數(shù)>=2
- 行數(shù)取最少的一個
- 結(jié)果:L4(2^3)
③ 變量映射
姓名:1→填寫,2→不填寫;
身份證號:1→填寫,2→不填寫;
手機號碼:1→填寫,2→不填寫;
?④ 用L4(2^3)設計的測試用例
測試用例如下:
1:填寫姓名、填寫身份證號、填寫手機號
2:填寫姓名、不填身份證號、不填手機號
3:不填姓名、填寫身份證號、不填手機號
4:不填姓名、不填身份證號、填寫手機號
?、?strong>增補測試用例
5:不填姓名、不填身份證號、不填手機號
測試用例減少數(shù):8→5
3.6-、混合正交表
1、正交表生成工具:
使用步驟:
- 在excel制作取值表:
- 復制取值表的數(shù)據(jù)到txt文本中:
- 把文本文檔放到allpairs中
- win+r后輸入cmd進入控制臺
- 進入alllparis文件夾
- 在控制臺輸入allpairs.exe?cc.txt>dd.txt (dd是自己起的名字,用來存放生成的用例,可以自當生成,不必提前建好)?——注意,cc.txt要放在allpairs文件夾下,否則運行不成功
- 最后生成的dd.txt 保存在allpairs文件下,生成后:
4、怎樣判斷一個測試用例是好的測試用例
-
?用例表達清楚,無二義性
-
用例可操作性強
-
用例的輸入與輸出明確【一條用例只有一個預期結(jié)果】
-
用例的可維護性好
-
用例對需求的覆蓋率高
-
用例的檢索BUG能力強
好的測試用例是一個不熟悉業(yè)務的人也能依據(jù)用例很快的進行測試文章來源:http://www.zghlxwxcb.cn/news/detail-779497.html
本期結(jié)束啦!下期見~?文章來源地址http://www.zghlxwxcb.cn/news/detail-779497.html
到了這里,關(guān)于七分鐘教會你如何編寫一個合格的測試用例的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!