帶著問題學(xué)習(xí)是最高效的學(xué)習(xí)方法。
因此,在介紹如何編寫測試用例之前,先看一個(gè)軟件系統(tǒng)登錄功能的測試(如下截圖所示):
要做這個(gè)登錄頁面的測試用例,你會(huì)從哪些方面思考進(jìn)行測試呢?
看似簡單的頁面功能能夠設(shè)計(jì)多少條測試用例完成較全面的測試呢?10條以內(nèi)?20條?.......
那么在給出上述答案之前,先帶大家熟悉一下 什么是測試用例?測試用例有什么作用? 然后在結(jié)合上述拋出的案例拋磚引玉一起討論 如何編寫測試用例?
下面就是此文目錄截圖:
一、什么是測試用例
測試用例:為了特定的目的(證明軟件存在某問題)而設(shè)計(jì)的一組由測試輸入、執(zhí)行條件、預(yù)期結(jié)果構(gòu)成的文檔
1、測試用例簡單來說就是指導(dǎo)如何做測試的文檔,該文檔主要記錄需要驗(yàn)證被測軟件的是否滿足需求
2、測試用例表現(xiàn)形式常見的有兩種,可以以模板形式展示
1)一種是通過Excel直接編寫
——大多數(shù)項(xiàng)目中都需要按照這種方式設(shè)計(jì)編寫
2)一種是通過xmind直接整理測試點(diǎn)
——時(shí)間緊迫,項(xiàng)目沒有強(qiáng)制要求時(shí),可以設(shè)計(jì)測試點(diǎn)的形式編寫
——對于業(yè)務(wù)流程類的測試,也可以整理為測試點(diǎn)進(jìn)行測試
3、設(shè)計(jì)及執(zhí)行人員:測試工程師
4、用例的模板:描述編寫用例核心內(nèi)容,一般項(xiàng)目都有自己的設(shè)計(jì)用例的模板,常見測試用例模板可參照如下:
二.為什么要寫測試用例
為什么要寫測試用例,實(shí)際中產(chǎn)品出現(xiàn)問題,第一責(zé)任人首先想到的是測試為啥沒有測到?
產(chǎn)品出現(xiàn)問題了,你為啥沒有測出來呢?
當(dāng)然,除了避免“甩鍋和背鍋”,其實(shí)寫測試用例更重要的作用如下:
- 技術(shù)上將需求轉(zhuǎn)化為具體可驗(yàn)證的指標(biāo)
- 以文檔的形式記錄軟件可能存在的問題
- 防止測試過程的活動(dòng)出現(xiàn)遺漏,提高工作效率
- 測試工作量的展示
三.如何編寫測試用例
既然寫測試用例如此重要,那么如何更好的編寫測試用例呢?個(gè)人認(rèn)為需要滿足如下幾點(diǎn):
- 常規(guī)思考,設(shè)身處地的從用戶角度出發(fā)(比如:實(shí)際用戶是這么使用的么,會(huì)不會(huì)遇到異常情況呢?)
- 測試?yán)碚摲椒ǖ闹危ū热纾焊鶕?jù)需求設(shè)計(jì)測試用例時(shí),能用到哪些常見的測試用例設(shè)計(jì)方法?)
- 產(chǎn)品的熟悉和經(jīng)驗(yàn)的積累(比如:已經(jīng)有過類型項(xiàng)目經(jīng)驗(yàn),曾經(jīng)在某個(gè)方面有過問題,當(dāng)時(shí)是如何處理的呢?)
上述的設(shè)計(jì)用例過程,有個(gè)前提,就是對于測試有耐心和毅力,加上日常有意識(shí)的思維訓(xùn)練,才會(huì)寫出全面的用例。
1、常規(guī)思考
回歸到開篇的問題,對于一個(gè)基本的登錄頁面,按照常規(guī)思路能否會(huì)想到如下截圖的測試點(diǎn)呢?實(shí)際,這些測試點(diǎn)都是源于從用戶角度出發(fā),結(jié)合需求進(jìn)行細(xì)化設(shè)計(jì)的過程。實(shí)際測試中是不是只有這些測試點(diǎn)呢?
2、學(xué)習(xí)積累
相信大多數(shù)測試工程師都能夠想到上述基本的測試點(diǎn),然在實(shí)際工作中面對的項(xiàng)目不同,設(shè)計(jì)測試用例的顆粒度也有不同的要求,如果針對上述登錄的模塊,更深入一層考慮呢?此時(shí)需要對產(chǎn)品的熟悉程度及測試經(jīng)驗(yàn)的加持,而且這些點(diǎn)的設(shè)計(jì)是不斷學(xué)習(xí)、熟悉項(xiàng)目、測試積累中得到的。
3、理論支撐
有了常規(guī)的思考,有了經(jīng)驗(yàn)的積累,還需要理論的支撐。測試用例畢竟是通過人去思考設(shè)計(jì),這個(gè)過程不可避免有疏漏。如何規(guī)避?實(shí)際就需要測試?yán)碚摰闹?,個(gè)人認(rèn)為深入思考設(shè)計(jì)用例不外乎以下兩方面:
1)測試用例的設(shè)計(jì)方法
測試?yán)碚撝泻荜P(guān)鍵一塊就是將需求拆分為具體的測試點(diǎn),然后根據(jù)用例設(shè)計(jì)方法進(jìn)行具體的設(shè)計(jì),其中拆分需求的關(guān)鍵是熟悉需求,將文檔中已有的描述內(nèi)容,按照用戶使用場景、個(gè)人測試經(jīng)驗(yàn)的積累(如果有的話)、把大段的內(nèi)容拆分成能夠直接用用例設(shè)計(jì)方法的測試點(diǎn),這樣就直接可以通過簡明扼要的文字描述轉(zhuǎn)化為Excel的測試用例,在這個(gè)過程通俗理解就是拆分細(xì)化的過程,直到可以直接寫用例驗(yàn)證一個(gè)具體的功能點(diǎn)即可。
其中熟知的設(shè)計(jì)用例方法有:
- 觀察法
- 等價(jià)類、邊界值
- 判定表、因果圖
- 流程圖、場景法
- 錯(cuò)誤推測法等
2)測試設(shè)計(jì)的思路開拓
倘若按照需求將已有的描述信息都已經(jīng)拆分完畢了,是不是就可以確保測試沒有問題了呢?
其實(shí)不然,在上述基礎(chǔ)上如果還需要再拓展全面測試,還需要借助于軟件質(zhì)量模型的特性,從這些特性出發(fā),給予測試用例設(shè)計(jì)者更多的思考空間。這樣的設(shè)計(jì)就更加的全面可靠。
常見軟件質(zhì)量模型特性說明:
- 功能性:功能有沒有,好不好用
- 性能效率:對應(yīng)系統(tǒng)的資源耗費(fèi)程度及響應(yīng)時(shí)間
- 易用性:容易理解、學(xué)習(xí)、使用
- 兼容性:能夠兼容不同的軟硬件平臺(tái)
- 可靠性:不易出問題,萬一出問題容易恢復(fù)
- 安全性:對于用戶的安全保障(外在的人生安全、內(nèi)在的信息安全等)
- 可移植性:能否在不同環(huán)境條件下無故障運(yùn)行
- 可維護(hù)性:對于后期的修復(fù)維護(hù)是否方便快捷
因此,對于上述登錄功能,按照上述質(zhì)量模型的思路指導(dǎo),就得到如下的測試點(diǎn):
用例實(shí)戰(zhàn):
面試官問:給你一個(gè)物件(花瓶、筆、桌子)你怎么測試?
(1)問題分析:
無論是哪個(gè)物件,都從以下幾個(gè)維度出發(fā)設(shè)計(jì):
1、功能
2、UI
3、易用性
4、性能
5、安全
6、接口
7、兼容性
8、可移植
....也可以適當(dāng)縮減和增加
(2)參考回答:
給你一個(gè)杯子你怎么測,至少寫出20條測試用例
1.功能測試:
主要關(guān)注水杯基本功能
1.1 水杯是否可以正常裝水
1.2 水杯是否可以正常喝水
1.3 水杯是否有蓋子,蓋子是否可以正常蓋住
1.4 水杯是否有保溫功能,保溫功能是否正常保溫
1.5 水杯是否會(huì)漏水,蓋住蓋子擰緊后是否會(huì)漏水
2.ui測試:
主要關(guān)注水杯外觀、顏色、設(shè)計(jì)等方面
2.1 外觀是否完整
2.2 外觀是否舒適
2.3 顏色搭配及使用是否讓人感到舒適
2.2 杯子外觀大小是否適中
2.3 杯子是否有圖案,圖案是否易磨損
3.易用性測試:
主要關(guān)注水杯使用是否方便
3.1 水杯喝水時(shí)否方便
3.2 水杯拿起放下是否方便,這里會(huì)衍生到水杯形狀的測試
3.3 水杯裝水是否方便
3.4 水杯攜帶是否方方便
3.5 水杯是否有防滑功能
3.6 水杯裝有低溫或者高溫水時(shí),是否會(huì)讓手感到不適
4.性能測試:
4.1 水杯裝滿水時(shí),是否會(huì)漏出來
4.2 水杯最大使用次數(shù)
4.3 水杯的保溫性是否達(dá)到要求
4.4 水杯的耐寒性是否達(dá)到要求
4.5 水杯的耐熱性是否達(dá)到要求
4.6 水杯掉落時(shí),是否可以正常使用
4.7 水杯長時(shí)間放置時(shí),是否會(huì)發(fā)生泄露
5.安全性測試:
主要關(guān)注水杯外觀和各種異常條件下是否釋放有毒物質(zhì)等
5.1 當(dāng)水杯裝滿熱水時(shí),水杯是否會(huì)燙手
5.2 當(dāng)水杯裝上水后,是否會(huì)產(chǎn)生有毒物質(zhì)
5.3 把水杯放在零下環(huán)境時(shí),是否會(huì)產(chǎn)生有毒物質(zhì)
5.4 把水杯放在高溫環(huán)境時(shí),是否會(huì)產(chǎn)生有毒物質(zhì)
6.接口(杯子沒有想到怎么和接口關(guān)聯(lián)起來)
7.兼容性測試:
主要關(guān)注水杯是否可以裝其他液體,如果汁、汽油、酒精等
8.可移植性測試:
主要關(guān)注水杯放置環(huán)境等
8.1 將水杯放在常溫環(huán)境中,使用是否正常
8.2 將水杯放在零下的環(huán)境中,使用是否正常
8.3 將水杯放在高于正常溫度的環(huán)境中,使用是否正常
你看,這道面試題是不是就輕松解決了?
四、寫在最后
此時(shí)的你再回過頭來看看,還會(huì)認(rèn)為登錄這個(gè)百試不爽的功能就設(shè)計(jì)十幾條甚至幾十條測試用例了嗎?顯然不是那么簡單,需要在熟悉需求基礎(chǔ)上,進(jìn)行拆分細(xì)化,將常規(guī)的思考、經(jīng)驗(yàn)的積累、理論的支撐結(jié)合起來使用,最終才能轉(zhuǎn)化為測試待驗(yàn)證的結(jié)果。
熟悉需求上第一步,在此基礎(chǔ)上進(jìn)行測試點(diǎn)的拆分細(xì)化,這個(gè)過程如果對于復(fù)雜一點(diǎn)的功能點(diǎn),需要借助于測試用例的設(shè)計(jì)方法,對于頁面級(jí)的測試點(diǎn)應(yīng)用最多的不外乎是等價(jià)類、邊界值。
僅僅熟悉了需要,還需要結(jié)合經(jīng)驗(yàn)的積累,從質(zhì)量模型的特性出發(fā),進(jìn)行全面的思考功能點(diǎn)的設(shè)計(jì),是否出現(xiàn)遺漏的,是否有項(xiàng)目特殊要求的。
最后,用例的設(shè)計(jì)不是一蹴而就的事情,好的用例也是需要不斷的練習(xí),反復(fù)的修改評審,才能編寫出卓越的用例。
?《測試用例模板大全》
?學(xué)習(xí)資源安排上:
文章來源:http://www.zghlxwxcb.cn/news/detail-822330.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-822330.html
到了這里,關(guān)于如何編寫測試用例?的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!