測試工程師都是怎么寫測試用例的?

本篇轉(zhuǎn)載自黑馬測試高贊知乎文章:https://www.zhihu.com/question/339206144/answer/2322810917

看到這個主題的時候,想起了我前某篇知乎文章下面,有位同學(xué)留言“測試除了自動化框架和安全測試,其他的真的有難度嗎?”。
這位同學(xué)的總結(jié)讓我有些驚嚇。個人總結(jié)是:測試工作中除了高級技術(shù)(比如自動化測試、性能測試、測試開發(fā))有一定的難度,另外一個比較難的就是手工測試。看似手工測試比較簡單,其實(shí)要想做好手工測試還是比較難的,有沒有真正的理解業(yè)務(wù),有沒有測試的思維,能不能測試的更全面。
總結(jié):
手工測試是整個測試工作的基礎(chǔ)和核心。
手工測試執(zhí)行比較簡單,可能更多的是點(diǎn)點(diǎn)點(diǎn),但比較難的是測試設(shè)計(jì)。
測試設(shè)計(jì)簡單的可以理解成測試用例。
所以可見,測試用例在測試工作中是非常重要的。再怎么強(qiáng)調(diào)重要性都不為過。
之前寫過如何撰寫測試用例的文章,感興趣的朋友可以狠狠點(diǎn)擊這個鏈接:
《如何編寫測試用例?1246 贊同 · 151 評論回答》https://www.zhihu.com/question/51558124/answer/1494934653

既然再怎么強(qiáng)調(diào)重要性都不為過,那針對這個問題,我再從另外的角度來撰寫一次。從以下四個方面入手:
1、為什么要寫測試用例
2、總結(jié)什么是測試用例
3、怎么寫測試用例
4、測試用例學(xué)習(xí)資源分享
一. 為什么要寫測試用例
1. 測試用例場景引入
比如,開發(fā)人員做了頁面登錄功能,然后給用戶使用,用戶使用過程中發(fā)現(xiàn)如下問題:
a、用戶發(fā)現(xiàn)用戶名只能輸入字母數(shù)字,無法使用中文;
b、輸入的密碼長度沒有限制,可以輸一位長度密碼,也可以輸入很長的密碼;
c、輸錯時,頁面給出的錯誤提示信息不明確;
d、更換某個瀏覽器之后,發(fā)現(xiàn)輸入密碼的框輸入不了任何字符;
......
基于上述各種各樣的問題,開發(fā)人員開發(fā)完畢后會做基本的測試么?肯定會,但是能全面的考慮測試全部么?不會,因?yàn)榛跍y試的專業(yè)性和時間等方面因素,無法全面的進(jìn)行驗(yàn)證測試。
2、如何解決上述問題呢?
需要有專門的測試人員來進(jìn)行全面的設(shè)計(jì)思考,并進(jìn)行全面的測試,如何做到精準(zhǔn)全面的測試呢?就需要設(shè)計(jì)編寫測試實(shí)施的過程文檔,這個文檔就是常說的測試用例。
總結(jié)寫測試用例主要目的,主要以下四個方面:
a、精準(zhǔn)全面驗(yàn)證產(chǎn)品質(zhì)量是否滿足需求
b、避免測試過程出現(xiàn)遺漏
c、有助于測試工作進(jìn)度的跟蹤確認(rèn)
d、方便上線驗(yàn)證和交付
二、總結(jié)什么是測試用例
1、名詞解釋
通俗來說,就是進(jìn)行模擬用戶使用,驗(yàn)證產(chǎn)品能否滿足要求的例子 ;
專業(yè)的說,就是為了特定目的而設(shè)計(jì)的由一組測試輸入、執(zhí)行條件、預(yù)期結(jié)果構(gòu)成的文檔 ;
簡單的說,就是將產(chǎn)品的需求梳理為一個個可驗(yàn)證的功能點(diǎn),然后去驗(yàn)證其正確性。
2、用例形式
文本形式:Excel文檔(最常見)、word文檔、其他
思維導(dǎo)圖形式:類似于xmind形式羅列測試大綱即可(適用于時間緊迫的場景)
代碼形式:針對于自動化測試而言,也叫測試腳本(本篇章暫不展開,屬于自動化范疇)
三、 怎么寫測試用例
1、原則:用最少的用例覆蓋最多的測試范圍
1、覆蓋需求(需求明確描述的全面覆蓋)
2、站在用戶使用角度補(bǔ)充完善
2、用啥工具
1、Excel文檔:這種是最常見的,內(nèi)容比較細(xì)化,方便管理跟蹤驗(yàn)證,但是需要耗費(fèi)一定的時間去設(shè)計(jì)編寫。
2、Xmind導(dǎo)圖:這種也會出現(xiàn),尤其對于一些項(xiàng)目時間比較緊迫的時候可以以思維導(dǎo)圖形式梳理并跟蹤驗(yàn)證。
3、項(xiàng)目管理工具:這種需要相關(guān)的管理工具支持,與項(xiàng)目相關(guān)的產(chǎn)品、用例、bug都在一套工具中管理。(比如:禪道、QC等)
3、寫什么?
結(jié)合編寫測試用例的目的,個人在這兒提煉一下測試用例包含的核心要素是什么?
下面以某網(wǎng)站的登錄功能為例舉例說明:

用例編號(ID)
作用:必填,區(qū)分不同用例,描述用例的唯一性,類似于學(xué)生的學(xué)號
構(gòu)成:一般有三部分:項(xiàng)目簡稱-模塊名-序號,項(xiàng)目簡稱和模塊名建議英文簡稱,序號三位數(shù)字
示例:
用例標(biāo)題
作用:必填,描述測試人員要干什么?或者叫測試的目的
構(gòu)成:期望的結(jié)果(構(gòu)成的條件)
示例:
所屬項(xiàng)目/模塊
作用:選填,描述測試用例范圍,如果不清楚可以不寫
構(gòu)成:業(yè)務(wù)流程用例寫項(xiàng)目簡稱;如果是單功能模塊,寫模塊簡稱
示例:
優(yōu)先級
作用:必填,描述用例的重要程度(結(jié)合產(chǎn)品需求描述確定重要程度高低)
構(gòu)成:一般有字母和數(shù)字組合描述(priority單詞簡寫),如P0表示最高、P4表示最低,中間以此類推
示例:
預(yù)置條件
作用:選填,描述用例執(zhí)行的前提條件,如果沒有就不寫
示例:
(要登錄成功需要賬號密碼,前提是賬號已注冊)
測試數(shù)據(jù)
作用:選填,測試過程中用到的輸入數(shù)據(jù)
示例:
執(zhí)行步驟
作用:必填,描述執(zhí)行用例的先后步驟,建議別超過6步驟,否則太繁瑣不便閱讀。
構(gòu)成:步驟序號+文字描述
示例:
預(yù)期結(jié)果
作用:必填,根據(jù)需求描述你希望達(dá)成的結(jié)果
構(gòu)成:結(jié)果描述+現(xiàn)象構(gòu)成(可以寫多個現(xiàn)象)
示例:
4、怎么寫?
從測試的內(nèi)容和范圍可以劃分為2方面測試
產(chǎn)品業(yè)務(wù)流程的測試用例,簡稱業(yè)務(wù)流程
單功能模塊的測試用例,簡稱單模塊
4.1業(yè)務(wù)流程:
業(yè)務(wù)流程的測試設(shè)計(jì)是一個項(xiàng)目中最重要的功能測試,也是用戶使用最頻繁的功能。
業(yè)務(wù)流程,為了達(dá)成特定的目的而進(jìn)行的一系列活動的統(tǒng)稱。
比如:電商系統(tǒng)其中一個核心業(yè)務(wù)流程就是線上用戶可以通過該平臺完成下單購買商品的活動,這樣的活動可以叫做下單業(yè)務(wù)流程。
業(yè)務(wù)流程用例的編寫需要借助于流程圖,流程圖一般是由產(chǎn)品設(shè)計(jì)畫出的,當(dāng)然測試人員可以畫,但是需要對整體的項(xiàng)目比較熟悉,也需要清楚流程之間的關(guān)聯(lián)關(guān)系才能畫出。
作為測試人員需要掌握一個基本技能,就是根據(jù)產(chǎn)品提供的業(yè)務(wù)流程圖能找出對應(yīng)的路徑,并按照上述提供的模板編寫出用例接口。當(dāng)然要直接能編寫出業(yè)務(wù)流程用例還需要通過xmind梳理一下異常業(yè)務(wù)的測試點(diǎn),這樣設(shè)計(jì)更加全面。
例如:某下單業(yè)務(wù)流程圖及測試點(diǎn)整理

4.2 單模塊
首先,單功能先覆蓋需求
這種是最基本的測試用例編寫可以直接按照需求整理出來即可,不需要太多思考
主要是單功能的顯示操作和規(guī)則入手,通過xmind整理測試點(diǎn),然后通過測試用例模板編寫用例。例如,某商城的拼團(tuán)功能單功能測試點(diǎn):

其次,單功能本身的業(yè)務(wù)
這種比較難以梳理,需要結(jié)合產(chǎn)品需求文檔描述業(yè)務(wù)及產(chǎn)品介紹,和自身的測試經(jīng)驗(yàn)及對項(xiàng)目的熟悉程度,從使用者角度出發(fā),更多的思考與當(dāng)前功能緊密相關(guān)的場景
也就是從用戶使用角度入手,從使用前,使用中,使用后三個角度入手,然后覆蓋正向的業(yè)務(wù)測試點(diǎn),還需要覆蓋異向的業(yè)務(wù)測試點(diǎn)。例如,拼團(tuán)業(yè)務(wù)功能測試點(diǎn):

最后,非功能測試點(diǎn)
這種直接可以借助于質(zhì)量模型的特性直接梳理即可
非功能測試點(diǎn)的整理,對于不同類型架構(gòu)方向設(shè)計(jì)基本是固定的。B/S 架構(gòu)和 C/S 架構(gòu)基本一致,C/S架構(gòu)的還需要關(guān)注一些專項(xiàng)類的測試。

四、測試用例學(xué)習(xí)資源分享
寫用例最終目的是盡可能的以最少的量覆蓋最多的范圍,提高測試效率,以防漏測。當(dāng)然這需要長時間的思考總結(jié)和練習(xí)。
為讓大家更好的理解測試用例,現(xiàn)提供6個有關(guān)測試用例的專項(xiàng)視頻,供大家學(xué)習(xí):
《實(shí)戰(zhàn)項(xiàng)目帶小白入職7-12k功能測試崗位,僅7小時【史上最快】》

《黑盒測試用例設(shè)計(jì)》?

《白盒測試用例設(shè)計(jì)》?

《測試入門_9天黑馬手工測試?yán)碚?實(shí)戰(zhàn)完整分享_適合0基礎(chǔ)》?【前3天視頻中就涉及測試用例,后6天就是手工測試實(shí)戰(zhàn)】

《移動端app測試_最新2020教學(xué)視頻》【正有題主需要的app測試用例】

《功能測試_6天黑馬手工測試2021版》

最后,若是你恰好還缺乏手工測試學(xué)習(xí)資料或自動化測試學(xué)習(xí)資料,現(xiàn)在特意給你準(zhǔn)備了一份13G的超實(shí)用干貨學(xué)習(xí)資源,涉及的內(nèi)容非常全面。
包括軟件學(xué)習(xí)路線圖,黑馬50多天的上課視頻、16個突擊實(shí)戰(zhàn)項(xiàng)目,80余個軟件測試用軟件,37份測試文檔,70個軟件測試相關(guān)問題,40篇測試經(jīng)驗(yàn)級文章,上千份測試真題分享,還有2020軟件測試面試寶典,還有軟件測試求職的各類精選簡歷,希望對大家有所幫助…..
《2022軟件測試學(xué)習(xí)路線圖,內(nèi)附視頻教程+自學(xué)路線+工具+面試篇》bbs.itheima.com/thread-405757-1-1.html

若你是對測試不太了解的測試小萌新,有太多太多對測試的疑惑(前途、薪資、技術(shù)含量、男生是否可以干.....),強(qiáng)烈推薦你觀看《測試小白必看:學(xué)習(xí)軟件測試必問的100個問題,從此貼開始》,相信能掃除掉你心目中90%以上的常見問題
《軟件測試100個常見問題》:http://bbs.itheima.com/thread-507947-1-1.html

最后,為方便大家自學(xué)軟件測試,特意給大家準(zhǔn)備了一份13G的超實(shí)用干貨學(xué)習(xí)資源,涉及的內(nèi)容非常全面。
包括軟件學(xué)習(xí)路線圖,黑馬50多天的上課視頻、16個突擊實(shí)戰(zhàn)項(xiàng)目,80余個軟件測試用軟件,37份測試文檔,70個軟件測試相關(guān)問題,40篇測試經(jīng)驗(yàn)級文章,上千份測試真題分享,還有2020軟件測試面試寶典,還有軟件測試求職的各類精選簡歷,希望對大家有所幫助…..
《2021軟件測試學(xué)習(xí)路線圖,內(nèi)附視頻教程+自學(xué)路線+工具+面試篇》:bbs.itheima.com/thread-405757-1-1.html? ?