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

滴滴技術發表於2020-09-23

作者:肖鋒
來源:公眾號滴滴技術

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:敏捷測試用例管理平臺

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

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

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

5.環境依賴

▍架構

  • mac環境(暫未在windows環境執行)
  • java 1.8
  • mysql 服務端
  • Chrome

▍下載

從github下載AgileTC原始碼:https://github.com/didi/AgileTC

git clone https://github.com/didi/Agile...

或者 直接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
瀏覽器開啟 http://localhost:8094/case/caseList/1

▍使用

1. 建立測試集

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

2. 建立測試集

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

3. 建立測試任務

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

4. 編輯測試任務

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

6.總結

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

GitHub專案地址

https://github.com/didi/AgileTC

微信公眾號.png

相關文章