15

滴滴开源AgileTC:敏捷测试用例管理平台

 3 years ago
source link: https://segmentfault.com/a/1190000024556332
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

作者:肖锋

来源:公众号滴滴技术

1.背景

随着互联网的快速发展,业务的快速迭代,对项目流程各环节的效率要求越来越高,很多QA开始选择使用线下xmind来编写和执行用例进行测试,但面临的问题也越来越多:

  • 用例管理混乱,无法沉淀:散落在wiki、线下xmind、excel。
  • 用例无法追溯:如遇到线上问题回溯用例及测试情况时,无法追溯且增加排查问题难度。
  • 无法明确感知需求测试进度和结果,研发协作效率低:测试开始了吗?进度如何?失败的case有哪些?等这些问题无法明确感知。
  • 测试活动相关数据无法沉淀:研发自测结果?打回率?测试用例失败率?测试周期?

因此,我们需要一套完善的测试用例管理系统来满足我们的日常测试需求。然后,业界比较可靠的用例管理平台,如test-link,QC,禅道等,它们均采用传统用例管理方式,类似excel的操作体验,测试用例编写过程较繁琐,与当前业务普遍使用的脑图管理方式不匹配,也不符合当前业务快速迭代的诉求。

2.AgileTC是什么

AgileTC是一套敏捷的测试用例管理平台,具备与xmind等脑图工具一致的操作体验。支持测试用例管理、执行计划管理、进度计算、多人实时协同等能力,方便测试人员对用例和测试过程进行管理。

线上化的操作方式便于测试资产沉淀和测试过程数据沉淀,为测试改进提供抓手。

产品可以独立使用,也支持以组件化方式嵌入项目管理平台,配合项目管理使用。

3.AgileTC可以做什么

测试用例集管理**

AgileTC能够将用例集与需求关联,支持xmind/xmind zen的导入/导出,具备丰富的搜索能力,如根据用例集名称、创建人、管理需求和创建时间进行搜索。

用例编辑**

AgileTC支持多人实时协同编辑用例集,其中一个人的修改,会实时同步到打开相同用例的其他客户端,实现更加高效的测试集编写和测试执行协同。支持用例优先级和自定义标签标记。服务端和客户端增加了定时巡检探活机制保障连接稳定性。支持连接异常(如浏览器异常退出或系统故障等)场景下,自动保存用例集。

测试任务管理**

用户可以根据用例中的优先级和标签圈选测试用例,组合成自身需要的测试任务。支持任务分配邮件通知机制,用户可以在测试任务中标记用例测试状态,并查看测试任务的整体进展。

4.AgileTC怎么做的

架构**

JNFb63i.jpg!mobile

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. 创建测试集

emqqmqZ.jpg!mobile

  1. 创建测试集

Fr6NF3N.jpg!mobile

3. 创建测试任务

rAVnMnN.jpg!mobile

4. 编辑测试任务

6ZrAjmR.jpg!mobile

6.总结

AgileTC基于脑图的基本能力,实现了线上化测试用例管理和测试任务管理的能力。读者可以直接使用AgileTC进行用例管理,也可以将其作为组件嵌入项目管理平台,配合项目管理使用。在业务快速迭代的背景下,使用脑图进行测试分析和用例管理,已经越来越流行。而AgileTC作为线上化、测试定制的脑图平台,将进一步提升测试效率,欢迎使用和反馈!

GitHub项目地址

https://github.com/didi/AgileTC

riEBz23.png!mobile


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK