滴滴開源AgileTC:敏捷測試用例管理平台

  • 2020 年 9 月 23 日
  • 筆記

​桔妹導讀:AgileTC是一套敏捷的測試用例管理平台,支持測試用例管理、執行計劃管理、進度計算、多人實時協同等能力,方便測試人員對用例進行管理和沉澱。產品以腦圖方式編輯可快速上手,用例關聯需求形成流程閉環,並支持組件化引用,可在各個平台嵌入使用,是測試人員的貼心助手!

1. 背景

隨着互聯網的快速發展,業務的快速迭代,對項目流程各環節的效率要求越來越高,很多QA開始選擇使用線下xmind來編寫和執行用例進行測試,但面臨的問題也越來越多:

  • 用例管理混亂,無法沉澱:散落在wiki、線下xmind、excel。
  • 用例無法追溯:如遇到線上問題回溯用例及測試情況時,無法追溯且增加排查問題難度。
  • 無法明確感知需求測試進度和結果,研發協作效率低:測試開始了嗎?進度如何?失敗的case有哪些?等這些問題無法明確感知。
  • 測試活動相關數據無法沉澱:研發自測結果?打回率?測試用例失敗率?測試周期?

因此,我們需要一套完善的測試用例管理系統來滿足我們的日常測試需求。然後,業界比較可靠的用例管理平台,如test-link,QC,禪道等,它們均採用傳統用例管理方式,類似excel的操作體驗,測試用例編寫過程較繁瑣,與當前業務普遍使用的腦圖管理方式不匹配,也不符合當前業務快速迭代的訴求。

2. AgileTC是什麼

AgileTC是一套敏捷的測試用例管理平台,具備與xmind等腦圖工具一致的操作體驗。支持測試用例管理、執行計劃管理、進度計算、多人實時協同等能力,方便測試人員對用例和測試過程進行管理。

線上化的操作方式便於測試資產沉澱和測試過程數據沉澱,為測試改進提供抓手。

產品可以獨立使用,也支持以組件化方式嵌入項目管理平台,配合項目管理使用。

3. AgileTC可以做什麼

▍測試用例集管理

AgileTC能夠將用例集與需求關聯,支持xmind/xmind zen的導入/導出,具備豐富的搜索能力,如根據用例集名稱、創建人、管理需求和創建時間進行搜索。

▍用例編輯

AgileTC支持多人實時協同編輯用例集,其中一個人的修改,會實時同步到打開相同用例的其他客戶端,實現更加高效的測試集編寫和測試執行協同。支持用例優先級和自定義標籤標記。服務端和客戶端增加了定時巡檢探活機制保障連接穩定性。支持連接異常(如瀏覽器異常退出或系統故障等)場景下,自動保存用例集。

▍測試任務管理

用戶可以根據用例中的優先級和標籤圈選測試用例,組合成自身需要的測試任務。支持任務分配郵件通知機制,用戶可以在測試任務中標記用例測試狀態,並查看測試任務的整體進展。

4. AgileTC怎麼做的

▍架構

AgileTC的核心是測試用例集和測試任務,其中用例集的編輯和任務編輯當前均基於腦圖,因此合併為一個平台。最終由三個平台組成:腦圖編輯平台、用例集管理平台和測試任務管理平台。以下主要介紹腦圖編輯平台。

腦圖編輯功能主要由前端實現,採用react框架,包含腦圖節點的增加、刪除、修改功能,以及腦圖樣式和布局等。部分腦圖基本繪製和布局能力借鑒了百度開源kity的能力。在這些腦圖基本能力之上,支持測試常用的標籤,如優先級和執行步驟、預期結果,支持測試進展的標記;進行了讀寫權限隔離,讓測試設計和測試執行分開,使測試分工更有序。

多人實時協同採用websocket通信協議。客戶端打開用例集或者任務詳情,在服務端會創建一個客戶端session,並判斷當前是否有其他客戶端打開相同的用例集或任務,如果有,會觸發用例集的落庫。客戶端修改時,會將變更diff發送到服務端,服務端將diff發送到其他客戶端保持實時同步。客戶端退出時,會觸發自動保存。

5. 環境依賴

▍架構

  • mac環境(暫未在windows環境運行)

  • java 1.8

  • mysql 服務端

  • Chrome

▍下載

從github下載AgileTC源碼://github.com/didi/AgileTC

git clone //github.com/didi/AgileTC.git

或者 直接Download ZIP

▍準備

  • 創建依賴數據庫,application-dev.properties中配置數據庫名稱為case_manager
    create database case_manager

  • 利用sql中的腳本配置對應表。創建腳本路徑:case-server/sql/case-server.sql

  • 修改application-dev.properties中spring.datasource的配置。默認數據庫端口號為3306

  • 安裝xmind jar包。
    mvn install:install-file -Dfile=org.xmind.core_3.5.2.201505201101.jar -DgroupId=com.xmind -DartifactId=sdk-Java -Dversion=201505201101 -Dpackaging=jar

▍運行

mvn spring-boot:run
瀏覽器打開 //localhost:8094/case/caseList/1

▍使用

  1. 創建測試集

  1. 創建測試集

3. 創建測試任務

4. 編輯測試任務

6. 總結

AgileTC基於腦圖的基本能力,實現了線上化測試用例管理和測試任務管理的能力。讀者可以直接使用AgileTC進行用例管理,也可以將其作為組件嵌入項目管理平台,配合項目管理使用。在業務快速迭代的背景下,使用腦圖進行測試分析和用例管理,已經越來越流行。而AgileTC作為線上化、測試定製的腦圖平台,將進一步提升測試效率,歡迎使用和反饋!

GitHub項目地址

//github.com/didi/AgileTC

開源團隊

團隊成員皆來自滴滴車服技術團隊

團隊招聘

滴滴車服資金平台團隊負責為車服提供支付、計費、對賬、開票、清結算等領域能力,一直致力於提升資金平台準確性、穩定性、可靠性。  團隊長期招聘java工程師,歡迎有互聯網金融、支付、計費、開票、清結算等領域相關經驗,對資金安全有較好的小夥伴加入。可投遞簡歷到[email protected],郵件主題請命名為「姓名-應聘部門-應聘方向」。
掃描獲取更多崗位

延伸閱讀

內容編輯 | Charlotte
聯繫我們 | [email protected]

滴滴技術 出品