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