桔妹导读: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源码:https://github.com/didi/AgileTC
git clone https://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
浏览器打开 http://localhost:8094/case/caseList/1
▍使用
- 创建测试集
- 创建测试集
3. 创建测试任务
4. 编辑测试任务
6. 总结
AgileTC基于脑图的基本能力,实现了线上化测试用例管理和测试任务管理的能力。读者可以直接使用AgileTC进行用例管理,也可以将其作为组件嵌入项目管理平台,配合项目管理使用。在业务快速迭代的背景下,使用脑图进行测试分析和用例管理,已经越来越流行。而AgileTC作为线上化、测试定制的脑图平台,将进一步提升测试效率,欢迎使用和反馈!
GitHub项目地址
https://github.com/didi/AgileTC
开源团队
团队招聘
滴滴车服资金平台团队负责为车服提供支付、计费、对账、开票、清结算等领域能力,一直致力于提升资金平台准确性、稳定性、可靠性。 团队长期招聘java工程师,欢迎有互联网金融、支付、计费、开票、清结算等领域相关经验,对资金安全有较好的小伙伴加入。可投递简历到diditech@didiglobal.com,邮件主题请命名为「姓名-应聘部门-应聘方向」。
延伸阅读
内容编辑 | Charlotte
联系我们 | DiDiTech@didiglobal.com
滴滴技术 出品