逛知乎的時候,經常看到無論是剛入職場的新人,還是工作了一段時間的老人,都會對編寫測試用例感到困擾?例如:
固然,編寫一份好的測試用例需要:充分的需求分析能力+理論及經驗加持 。 但這並不意味着,沒測試經驗、分析能力弱就不能寫好用例,還是有方法可循的。作為混跡測試職場9年的老人,給大家分享一些用例編寫的心得,接下來我會從以下幾個方面展開來講:
1、測試用例概念、作用、內容等介紹
2、如何編寫測試用例?
3、微信發送朋友圈案例分享
一、測試用例介紹
測試用例是為項目需求而編制的一組包含測試輸入、執行條件以及預期結果的文檔,以便測試某個程序是否滿足客戶需求。
1、為什么要寫測試用例?
1)是測試工作的指導,是軟件測試質量穩定的根本保障,評估測試結果的基准。
2)有一份用例來指導測試執行,可以在測試人員疲累的時候起到一個牽引作用。
3)編寫用例的過程中,通過熟悉需求,對系統架構或業務有更深入理解
4)可避免測試背鍋
2、測試用例模板:每家公司模板可能會有差異性,一般大致包含以下內容
-
-
測試項目:對應一個功能或子功能模塊
-
測試標題:一句話總結當前測試的用意和目的
-
重要級別:高/中/低
-
預置條件:需要滿足一些前提條件,否則用例無法執行
-
測試輸入:需要加工的輸入信息,跟步驟結合起來一定要具有指導性意義
-
操作步驟:明確給出每個步驟的描述,執行人員可以根據該步驟完成執行工作
-
預期結果:根據預期輸出比對實際結果,來判斷被測對象是否符合需求
-
實際結果:通過測試執行后的實際結果,寫用例時為空。
3、測試用例編寫形式
1)通過Excel編寫,上述給出的模板就是該種形式 ,適用於項目開發時間比較充分的情況下
2)通過Xmind梳理測試點,適用於項目開發時間緊急情況下
3)項目管理平台例如禪道上編寫,不常用
二、如何編寫測試用例
大體思路分為三步:
第1步:依據需求梳理功能及功能點
第2步:通過測試理論方法及經驗,梳理測試點
第3步:挖掘隱性需求,覆蓋非功能測試層面
舉例:微信朋友圈動態發送
第1步,依據需求梳理功能及功能點
簡而言之,就是把你能看得到的功能及功能點梳理出來。公司一般都有產品需求資料,例如需求規格說明書文檔、原型圖、UI設計圖;當沒有任何需求資料情況下,可以通過操作軟件來熟悉業務。像發送朋友圈,我們可以先功能模塊—>再子功能—>再到功能需求細節來梳理,注意一些不明確的需求細節需要及時跟產品確認。大致梳理如下:
第2步:通過測試理論方法及經驗,梳理測試點
這一步非常重要,依據需求梳理完功能點后,接下來我們需要針對每個功能點拆分整理具體的測試點,這時候我們需要設想用戶操作的所有情況,包含到正常及異常場景。
我們需要同時具備測試理論方法和測試經驗,才能較好地設計出一份全面可靠的測試用例。常見的測試用例設計方法包括:等價類划分、邊界值分析、判定表、因果圖、錯誤推測法、場景法、正交試驗法、狀態遷移法等。測試經驗需要多個項目測試的積累及沉淀。對於測試新人來說,測試經驗可能趨於0,這個時候可以先借鑒一些前人的經驗。對於此,我曾經整理過一份資料,很多測試新人用過資料后都覺得對測試用例有了豁然開朗的感覺,知道怎么去寫用例了。
這份資料分享如下:
注:這份資料我們可以用在任何的軟件產品的分析上面,從本質上來說,任何一款基於用戶角度操作的軟件產品,操作功能無外乎都是對數據做增刪改查,所以當需要對軟件產品進行分析編寫測試用例時,我們可以依據當前功能是增刪改查的哪一個操作,用上面梳理的測試點來套用編寫用例。按增刪改查操作來梳理,分為:
1、表單測試:涉及到數據提交的頁面,包含新增或刪改數據頁面
2、搜索測試:為數據查詢的頁面
3、刪除測試:為數據刪除的頁面
4、cookies、session等測試:用戶操作角度,補充測試
5、數據庫測試:頁面添加、修改、刪除、查詢業務相關操作,就是對數據庫數據的增改刪查
通過測試理論方法和測試經驗,我們可以得出微信朋友圈的測試點:
編寫為excel文檔用例,可為:
第3步:挖掘隱性需求,覆蓋非功能測試層面
除了以上這些功能層面的,對於微信移動端產品,還需要考慮到一些特性方面的測試,包括非功能測試層面,如:
總結
編寫用例雖然不是那么簡單的事,但是通過以上,是不是發現還是有方法可循的?不會寫的先模仿着來寫,日積月累,通過項目中測試思維的長期訓練,工作中出現bug的經驗總結,相信某一天你會發現編寫測試用例也沒有那么難!