内容摘要 中国开源 注:当前Mantis稳定发布版本为1.0.1。
内容摘要 中国开源 注:当前Mantis稳定发布版本为1.0.1。
使用web-based开源软件Mantis
Mantis是PHP/MySQL/Web-based缺陷跟踪系统,即使没有经验也可以在一天内配置完成。
由于我们的研发团队是地域分布式的,有些项目是上海、硅谷和香港的研发中心合作开发,需求、设计、开发、测试和用户反馈来自不同地区,使用电子邮件和文档来跟踪缺陷时,信息共享和错误状态更新都费时费力,随着项目的扩展,文档工作量也越来越大,这时使用web-based系统、项目组共用一个中心数据库实现工作流自动化提到议事日程。因为是选择开源软件,所以要考虑系统稳定性和安装配置、维护工作量,这项工作完全由测试组实施,我们在今年一月到四月将Mantis安装到个人工作的PC机,请不同角色的人试用,反馈效果良好,我们马上决定将系统用于跨地域开发的项目,系统正式安装在开发用的Server上,操作系统是Solaris,配置比Windows下稍复杂一些。使用过程中,根据开发组的反馈,由测试组通过修改源程序放宽了Assign To和缺陷更新的权限,将下一版本中的Bug History和缺陷图表包集成到目前使用的版本0.17.5,增加了CSV Export数据域。现在我们已将该系统推广到其他几个项目,总共有四十人左右使用,通过公司专线访问,在近一年的时间里,系统运行平稳,性能也比较理想,简化了流程,从而提高了工作效率。
Mantis特性
Mantis当前版本为0.17.5,下一版0.18.0处于Beta发布阶段。
关于产品详细信息和支持,请访问主页http://mantisbt.sourceforge.net/,下图为查看所有Bug和查看详细Bug页面。


Mantis基本特性:
测试作为项目开发的最后一环,错误、延时、疏忽等都可能在测试阶段表现出来,如何有序管理和分析各种问题对质量控制和过程改进非常重要,使用web based系统就是一个好的实践。
在项目组内,对Bug采用数据库系统进行跟踪并不困难,因为主要是测试人员提交Bug报告,测试人员使用最多,相信测试人员对使用中心数据库的好处是很了解的了,只要项目经理支持就很好办了。如果要对其他缺陷,如需求变更,也这样管理就不是那么容易了,在技术上当然没有问题,难在工作方式的改变,虽然用Email和文档管理无法实现工作流的自动化,也不如数据库系统提供那么多的分析和报告选项,但在小规模的项目中依靠人工管理也可以做得井井有条。我们在多个项目的实施中就遇到这样的情况,有的项目随时都有需求变更,而且变更的数量不少,项目组主动提出想用数据库系统来管理;有的项目刚起步,第一个阶段的开发业务功能不多,推行的时候阻力就很大。我的初级目标是有序地管理错误和变更,在实施手段上有冲突时,不要操之过急,融洽的关系对项目的成功是很重要的。往往是有了成功的案例后,回头推广又变得容易了。实施新过程时最好先局部试点,采用PDCA循环,不断总结经验,再推广。
使用缺陷数据库,可以制作得到各种缺陷分析图表,从而预测项目风险或解释测试结果。下面两张图都是Mantis生成的缺陷图,从累积错误打开图,分析错误生成趋势,在发现错误报告未收敛时发布软件,显然风险很大,当然使用图表时还应结合实际,在曲线平坦时,是否开展了测试工作,曲线上升时,错误的严重性等级如何等。从严重性等级的柱状图可分析被测系统的总体状况。在发布管理不规范的组织中,当产品质量问题突出时,测试组可以通过解释这些图来阐述测试结果,从而规范发布过程。
第一部分提到的根本原因(Root Cause)域,他有助于使开发人员的注意力集中到引起最严重、最频繁问题的领域,从而消耗最少的资源改进过程取得最显著的成果,这是我在过程改进时最常用到的80/20法则。在项目实施时,实际情况并不理想,因为开发人员忙于改Bug,少有主动写错误发生的根本原因的,这需要开发人员的配合和管理者的支持。
缺陷数据的使用应谨慎,不要将错误个人化,应保证数据的真实性,否则数据对过程改进没有意义。
实施过程中,大家会对工具提出很多需求,应评估哪些是共同需求、核心需求,系统修改复杂程度,对当前系统和系统升级的影响。测试组在实施过程中,对不同角色人员的工作流程有了深入而准确的了解,同时可以进行工作流程的改进。


使用开源系统的利弊
由于开源系统的代码是公开的,用户可自行维护和定制,大家也可以提交新特性和功能扩展要求,而不必受制于商业系统的制造商。开源系统的用户遍布世界各地,Bug反而容易发现,同时公开源代码中低效率的程序也容易被发现和修改。当然越是流行的软件,生命力越强,Bug清除和新特性增加越快。
开源系统与其他工具的集成比较差,不如商业系统提供整个软件开发生命周期的工具的集成,如项目管理、需求管理、建模、自动化测试、缺陷跟踪、配置管理等有机集成,实现整个开发流程的自动化。但一般的中小企业,大多没有实力配置全所有系统,另外,不同厂商优势不同,主导系统也不同,有的企业需要根据自身的特点选择不同厂商的工具,所以即使购买商业工具也未必能将所有系统很好地集成。
开源系统是免费的,但有人提供收费的系统维护和定制服务。
本文主要探讨缺陷跟踪管理的流程、工具和实施问题,缺陷跟踪在技术上并不难,而是难在管理上,好的工具有利于管理和交流,优秀的项目组应意识到有效的交流方式是多种多样的,不应该单依赖系统,这样才有利于提高团队的战斗力,而不是把重点放在追求系统功能的十全十美。有些缺陷跟踪系统有Knowledge Base 功能,这对公司知识库的累积也很有效;有的系统对不同用户生成相关的To-Do-List,方便日常工作;有的对每个发布版本都有详细的缺陷报告。总之,花费时间和精力完善错误管理系统是值得的,这是质量管理和提高的基础。
| 关于作者 蔡琰,外企QA主管,有三年电子商务领域QA、测试主管经验及多年的开发经历。目前关注基于J2EE构架的web系统的功能测试和性能测试、自动化测试、过程改进。现在上海,您可以通过电子邮件cindy_cai@sina.com 和她联系。 |
[1] [2]
编辑 webmaster