基于jira的测试过程管理解决方案
Jira作为业界口碑较好的项目与事务跟踪工具,被广泛应用于各个行业;再结合Atlassian自家的其他一些工具(fisheye、bamboo、Bitbucket、confluence)搭配使用,可以初步搭建一个贯穿研发各个环节的DevOps环境,来满足我们团队的日常管理需求;在实际使用过程中,我们发现这套环境在测试过程管理环节的功能有所缺失,经过朋友的推荐,我们找到了运行在jira平台的测试管理插件“synapseRT - Test management and QA in JIRA”;
在我们实际使用该插件的过程中发现,synapseRT作为jira平台在测试管理环节的功能延伸,受限于插件本身的缘故,实际测试过程的管理对于具有一定测试规模的公司来说,显得有些轻量级。
在日常项目进展的过程中,对于测试部门来说;我们的核心过程总结过以下
- 确定测试范围
- 测试计划
- 测试
- 测试报告
- 贯穿于整个环节的变更管理
在确定测试范围时的核心需求
- 已完成和新项目之间有继承或者参考意义的,需要在二者之间快速复制已完成的项目测试范围,但目前不支持;
- 根据从原始需求到设计需求到测试用例的对应关系,在输入原始需求系统自动根据映射关系拉取相应的测试用例;
- 需要一个完整的树形结构,可以从多个维度快速提取并确认项目相关测试范围;
- 总之一句话,就是能快速、简单、准确的完成这些定制测试边界的事情;
在编制测试计划过程中的核心需求
- 操作界面简单灵活,快速部署测试计划;
- 能直观看到测试进度及所有节点测试情况;
在测试过程中的核心需求
- 测试任务领取入口清晰明了;
- 测试步骤完整、清晰
- 测试环境等其他要素在同一页面展示;
- 操作简单、便捷;
- 结果记录应支持富文本编辑查看;
在测试报告环节的核心需求
- 需求覆盖率;
- 测试结果;
- Bug解决进度;
- 测试覆盖率;
- 测试报告;
测试变更管理环节的核心需求
- 变更范围确认;
- 变更发起和评审;
- 变更任务安排和提醒;
在以上环节中,synapseRT暂时无法满足我们的需求,尤其在最重要的变更管理环节,需求变更引起的后续一系列流程管理功能在当前平台上是缺失的。
至关重要的测试环节无法在jira上顺畅的运行,给负责平台建设的相关IT部门带来不小的挑战,但我们不惧怕挑战。经过业务部门与jira开发团队夜以继日的努力。我们的测试任务管理解决方案也略有小成,因此今天把这个方案写出来共享给大家,希望能给迷茫中的你们带来一些帮助。
解决方案整体流程设计
流程解析:
- 引入基础数据项目概念
Jira数据集合一般以项目为单位,在总体制约情况下,我们以项目的形式创建基础数据库的概念,将其引入到测试过程管理的核心功能中。通过将一些经过验证的、准确的用户需求、研发需求、测试用例存储在基础库数据中,同时建立并记录不同个体之间的关联关系。这样,一套对象以及关系的基线就可以诞生。
- 引入对象小版本和基线版本概念
在基础库数据项目中,我们允许操作者在某个时间点对项目内所有数据的内容以及关系进行快照,并命名一个对应的基线版本,用户可以浏览某2个基线版本之间的差异,并进行单个或者整体回滚操作;
同时在大基线版本的前提下,我们应提供各个对象本身的小版本管理,以应对知识在积累过程中的版本信息和差异。
- 引入不同问题类型多级关联关系概念
Jira的原生关系,只支持一个级别的父子关系。显然在从需求到用例这样的场景内并不能达到我们的要求,因此我们对关系做了对应扩展,对于一对多、多对一、多对多的复杂关系处理,程序逻辑要游刃有余。
- 引入项目根据追溯关系自动拉取数据的概念
当基础库的基线数据被完善后,项目从外部或者内部输入最前端的用户需求,此时,对比项目与基础数据库的需求标识,(为每个对象数据编码,所有编号在系统具有唯一性)并根据基础数据库依赖关系,将关联数据依次在项目中部署;这样做不但节省了原来重复工作的资源浪费,而且缩短了项目时间,减少人为原因导致的数据错误。
- 引入需求变更任务流程
需求变更意味着后续的研发任务以及测试任务都要发生相应变动;我们设计出多维树形结构帮助团队更好的判断变更所带来的影响范围,通过审批的确认变更信息,会自动转化成相关的变更任务,并迅速传递给相关的研发和测试团队进行跟进处理。
- 将测试数据生成报告至confluence
测试数据一般包括参与者和参与团队的日报周报、测试方案、测试报告等内容,日报周报记录团队投入人力和测试进度,测试方案和测试报告则反馈测试计划排期和测试最终结果,我们将以上所有需要的数据在jira上收集,可在confluence建立对应报告的模板信息,通过手工或者自动激发在confluence创建报告页面。这样做的好处是系统根据提前定好的规则对数据进行加工并生成最终报告,不需要投入人工且减少人为原因产生的误差。
方案部分成果展示
- 按项目类型分类的顶级导航菜单
对jira本身的顶级导航菜单做了定制化开发,使其更加符合实际使用要求;
- 基础库数据管理界面
- 基础数据库内,同一页面浏览对象内容
- 基础数据库的对象跟踪关系查看 用户需求到研发需求到测试用例
- 项目内测试计划(synapseRT部分)