本文章主要是介绍互联网时代新的缺陷管理工具与传统缺陷管理工具,并对创业公司如何选取一个缺陷管理工具提出了一些建议。
传统缺陷管理工具
一提到传统测试工具,大家一定会想到Mantis,Bugzilla,Trac,Redmine,Bugfree,Jira等。通过这个wiki可以查看当今热门的缺陷管理工具,这些工具我常常把它们分为两类:
1.专业纯粹的轻量级缺陷管理工具
Mantis,Bugzilla属于这一类,他们设计出来就是为管理缺陷而设计的,所以缺陷管理功能模块全面,如用户管理,缺陷流程管理,搜索,缺陷数据统计功能。相比以前手动安装,现在用户可以通过docker或者bitnami来自动安装来解决安装配置难的问题。
2.包含缺陷管理的项目管理工具
第二类是以Redmine,Jira为代表的项目管理工具,它们集成了wiki,源代码管理,缺陷管理等模块,通过插件可以集成更多的功能,以它们作为bug管理工具的缺点是定制化会复杂些,比如将redmine按照mantis配置成一个缺陷管理工具,需要增加很多字段;反之它们的优点是将wiki,代码库和缺陷管理工具集成在了一起。例如wiki 项目主页总结时能引用缺陷库的缺陷,缺陷页面能关联相关代码提交,能记录该缺陷是否已提交,并确认发布在哪个分支。现在随着技术的发展,安装这些工具也同样变得简单,回想当年安装trac需要安装各种依赖,如果哪一个依赖版本不对,就会莫名其妙的启动不了。
这些传统的缺陷管理工具在移动互联网测试过程中,某些方面显的不足,主要方面就是创建缺陷的手段太单一,需要测试人员手动花大量的时间进行录入。
在中小型的创业公司,使用缺陷管理工具我认为最大的两个作用就是
1.记录缺陷。
2.跟踪缺陷在哪个版本解决和发布
创业公司开发人员经验少,水平不高,产品质量缺陷多,录入缺陷工作量大;开发人员提交随意,不能准确知道该缺陷是否已集成。那么我们选择缺陷管理工具就要从解决这两个问题来入手,细化需求如下:
1.和崩溃日志记录工具的结合,记录关键信息,自动录入缺陷
移动端app基本上都集成了崩溃日志搜集工具,一旦出现app崩溃,该工具就会把崩溃日志传到后台服务器,我们的测试人员通常会花一些时间去后台服务器阅读崩溃日志然后手动新建缺陷,将相关日志关联缺陷。如果缺陷管理平台提供api,崩溃日志工具后台提供hook api,每当有新问题上报时就自动在缺陷管理工具上创建一个新的缺陷。
2.将开发提交关联到缺陷
开发人员在提交信息里注明缺陷id,就能自动将相关提交信息关联到缺陷。这个需要一点点的二次开发,需要自己实现一些提交钩子函数,例如git的pre-commit
如果有机会再换工具,我会尝试如下工具
1.bugtags https://www.bugtags.com/