當前位置:編程學習大全網 - 熱門推薦 - 【經驗分享】軟件測試用例管理

【經驗分享】軟件測試用例管理

本文涉及到測試用例的編寫規範,以及用例管理的分享,因此,無論是對於初級測試工程師,還是質量團隊的管理者,都有壹定的參考意義。文中涉及到的方法和工具並不是唯壹解決方案,希望大家收獲到的不僅僅是文字表面,而是文中分享的壹些思路。

有人說:測試用例還不知道?不就是描述測試步驟嗎?

這麽回答確實沒什麽錯,只是如果內心上也僅僅這麽認為的話,只能說並未理解測試用例。

測試用例除了作為測試行為的描述,更多的是作為被測目標是否達到需求的驗證,主要還是考驗了壹個測試工程師的組織歸納能力,其輸入來源往往是承諾書、用例(Use Case) 以及自身對業務領域知識的經驗,壹個軟件測試工程師的專業度往往體現在他設計的測試用例上。

專業的工程師設計出的測試用例集,不僅能夠描述自己的行為,還能指導別人實施,不僅強調深度,還具有優秀的用戶思維。

雖然從格式上來說,基本就定型了:

關於這部分,網絡上的教程只多不少,就不贅述了。

只不過要強調的重點是, 格式只能保證測試用例明晰,並不能提升測試用例的設計能力 。因此,測試用例該怎麽寫?還是要從結構化設計開始。這裏需要提到壹個概念 HLTD [ High Level Test Design ],可以簡單粗暴的理解為測試大綱的設計。

就如同我們寫文章壹般,提筆正文之前,會先擬個草稿,列出中心思想及段落提綱,然後再攥寫潤色。

寫測試用例也是類似的套路,先列出測試點作為大綱,並且具有結構化布局。通常以大的功能或模塊進行分類,再細化二級甚至三級類別,最終列出具體的測試點。該階段的設計,筆者傾向於利用思維導圖(腦圖),相較於傳統的文檔軟件工具,思維導圖的展現更直觀。

由於最終會是壹張大圖,所以硬傷也隨之體現,只適合用於思路梳理,不適合用於文檔化管理。

把這些結構化好的測試點文檔化,就是我們所說的測試用例了。

所以從這裏我們可以看出,每壹條測試用例的目的很明確,是驗證壹個或壹類測試點,顆粒度需要根據公司實際情況權衡,太粗不利於對於測試點覆蓋的總結,拆太細會消耗更多的精力。

測試用例其實是壹個非常詳盡的文檔,必然會消耗測試工程師相當壹部分的精力。在傳統軟件開發時代,甚至作為 KPI 的壹項指標。

但隨著敏捷時代的興起,有壹種聲音開始沖擊這種認知。

早期的敏捷實踐者,對敏捷宣言的解讀僅僅停留在了文字表面,認為“只需要軟件,不需要文檔”。這直接導致了這壹時期,大量的團隊缺失了詳盡的文檔,甚至連壹些基本的文檔都沒有。

如今,越來越多的敏捷實踐者認識到,敏捷宣言所宣揚的並不是“不用詳盡的文檔”,恰恰相反, 敏捷宣言認同了“詳盡的文檔很重要”這件事,並且提出了更高的要求 —— “工作的軟件更重要”

對於測試用例文檔化工具的選擇,很多團隊仍然停留在傳統的辦公軟件,如 Word、Excel

但如今凡事比快的市場環境下,團隊成員高效協作、團隊信息實時***享的需求越來越高,測試用例平臺化管理必然還是最終歸屬,除了文檔化,還利用平臺制定計劃,展示進度和結果。

事實上,在傳統時代,大壹些的軟件公司就已經使用平臺來管理測試用例了,這再壹次證明了敏捷時代並不意味著推翻過去的經驗和成果,而是提出了更高的要求。

如今,相對知名的管理平臺有基於 Jira 做插件的,如:Zephyr、Xray、synapseRT、TM4J,也有獨立的開源平臺: 如:TestLink,或收費的獨立平臺: 如:TestRail

我們主要從其生態、推行成本、可擴展、費用角度去綜合考慮。

Zephyr 的名氣壹直都很大,但實際上並不太符合國人使用的習慣,使用起來諸多不便。用例直接使用 Jira issue,功能比較簡單,用例管理主要在計劃和循環的關聯上。由於其是 Jira 插件,因此能很好的跟 Jira 上其他 issue (需求、任務、缺陷) 進行關聯。但其用例管理的可視化不是很好,沒有用例集的概念。遷移方面,數據導入支持類型有限。擴展方面,若要使用其 API,還需要另外裝壹個插件。其費用中等。

Xray 算中規中矩,也是使用 Jira 的 issue 來創建測試用例。但其新增的 issue 類型多達 5 類,顯得極其復雜。關聯能力與 Zephyr 相同,數據導入支持類型有限,本身有 API 可供使用。其費用中等。

synapseRT 是國人開發,漢化效果最好,功能強大。有用例集的概念,用例也是用的 Jira issue 來擴展。數據導入支持了 TestLink、Zephyr 這樣的其他平臺。關聯能力同 Zephyr,數據導入支持類型依舊有限,其本身也有 API 可使用。而費用相對較低。

TM4J 使用獨立頁面管理測試用例,脫離復雜的 Jira issue 頁面,上手難度低。數據導入功能強大,覆蓋很多類型及壹些知名平臺。關聯能力與上述插件壹致,本身也有 API 可使用。但費用相對較高。

TestLink 作為獨立的測試管理平臺,功能全面,開源免費。可以關聯 Jira 這樣的知名平臺,但由於不是 Atlassian 體系,所以生態體驗不高。硬傷是界面醜陋,容易影響工程師的心情。筆者曾經使用其本身的 API 進行 UI 美化。

TestRail 是壹個強大的商業平臺,筆者接觸不多,不亂作評論。

綜合考慮,雖然 TestLink 作為免費開源用例管理平臺中的 TOP,在用例管理上做得非常科學,壹直值得學習,但筆者所在公司已經在使用 Jira,並在落地 DevOps,外加筆者常受 Atlassian 中國社區研究院副院長的支持,TM4J 成為最終選擇:

出品方還是挺強的,除了 TM4J,Zephyr 其實也是其下產品,Swagger 也已經是目前認知度很高的產品了。

從官網介紹上可以看出,TM4J 還是比較現代化的:

首先我們看看利用 TM4J 如何來編寫測試用例。

層級結構上,我們根據 HLTD 來創建目錄以及子目錄,以方便所有人理解和閱讀,最後的測試點則實例化為壹個測試用例,它擁有全局唯壹的 Key。

點擊 New 按鈕創建新測試用例,默認在 Details 標簽頁,在這裏定義用例名稱、目的、前提條件,詳情中可以設置狀態、優先級、所屬組件,並可以添加壹些便於管理的標簽。

切換到 Test Scripts 標簽頁,默認是 Step-by-Step 類型,按照 STEP - TEST DATA - EXPECTED RESULT 添加每壹個測試步驟。

另外值得壹提的是,在 Traceability 標簽頁,可以關聯 Jira issue、Confluence page

通常我們針對每次產品發布交付,需要制定範圍,因此計劃管理是必不可少的。

計劃管理推薦按照發布版本來制定頂層目錄,然後針對測試類型創建二級目錄,如回歸、新功能、端到端、接口、性能等等。

測試計劃的創建本身操作倒並不復雜,除了定義計劃名稱、目的、狀態、責任人,外加壹些標簽。

還需要關聯壹下需求或者 Confluence 頁面。測試周期在剛創建測試計劃的時候可能並不存在,可以在之後創建測試周期的時候,會雙向關聯。

測試周期是壹個承上啟下的關鍵,往上關聯測試計劃,往下關聯具體的測試用例。

通常壹次發布交付會經歷 3-5 次沖刺,每輪沖刺的範圍不壹定完全相同。

在新建完測試周期名稱、描述以及詳情之後。

進入 Test Cases 標簽頁,點擊 + Add test cases 添加已經編寫好的測試用例。

這壹步操作使得測試用例具備了項目屬性。

最後在測試周期的 Traceability 標簽頁點擊 Test Plans 後面的放大鏡。

通過查找來關聯已經做好的測試計劃。

創建完測試周期,就可以進入該周期瀏覽到分配到自己名下的測試用例了,這是所有測試執行者都需要用到的界面,還可以通過 Group by 根據不同規則進行歸類,比如根據測試周期中制定的不同目錄。

對於用例步驟的執行,TM4J 提供了壹些快捷按鈕,可以直接標記通過、失敗、阻塞,並且可以點擊齒輪按鈕,快速創建、查找 Jira issue 進行關聯,當然,除了對於步驟關聯 issue,也可以針對該用例標記 issue,點擊 Issues 後面的 + ▼ 可進行操作。統壹平臺的好處便是在此了。

雖然我們在查看測試周期列表的時候可以看到測試的進度,但更多數據展示可以通過測試報告來體現。

TM4J 的 Reports 功能給我們提供了豐富的模板,方便壹些經驗不足的測試質量管理者。

最後,筆者想說, 測試工作不能作為壹個獨立的業務,應該更多的與其他角色協作 ,特別是在現在的敏捷時代,測試用例的執行可以要求開發工程師關註,測試的狀況可以要求產品經理隨時介入,因此,強烈建議我們軟件測試工作者盡量選擇壹些跨職能協作平臺。

  • 上一篇:楷書書法字帖大全圖片
  • 下一篇:公元180000是什麽年代
  • copyright 2024編程學習大全網