软件测试就是为了发现软件中的缺陷,软件测试实质上是围绕着缺陷展开,报告缺陷、跟踪缺陷、分析缺陷等,所以缺陷的管理自然很重要。缺陷跟踪和管理的开源工具比较多,如大家熟悉的Bugzilla、Bugzero和Bugfree,以及Scarab、TrackIT、Itracker等。目前,Mantis缺陷跟踪系统(Mantis Bug Tracking ,MantisBT)是开源缺陷管理工具中的后起之秀,越来越受到大家的喜爱。Mantis是螳螂,因为软件缺陷被称为Bug(臭虫),而螳螂以其他活的昆虫为食,吃掉Bug,所以用“Mantis”作为缺陷跟踪和管理系统的产品名称,形象生动。
现在,越来越多的研发团队分布在不同的地域,这时希望能共享资源,随时报告、查看或修改缺陷信息,基于web的、采用集中式的数据库的MantisBT可以满足这些需求。
MantisBT是由PHP开发的、基于Web的缺陷跟踪系统,并采用开源数据库MySQL,构成一个完整的开源解决方案,界面如下图。

MantisBT的主要功能可以分为3部分:管理、缺陷报告和统计分析。每个部分又有一些子功能,子功能见下图。

MantisBT的功能特点有:
1) 支持多项目、多语言;
2) 权限设置灵活,不同角色有不同权限,还支持自定义角色;
3) 可以建立缺陷之间的关联或依赖关系,从而更有效地管理项目;
4) 缺陷统计分析功能比较强,有多种直方图和圆饼图,并能导出csv文件供Excel作进一步分析;
5) 有自定义字段功能,可以满足企业的一些特殊要求;
6) 缺陷可以在不同项目间移动;
7) 主页可发布公告、项目相关新闻,方便信息传播;
8) 个人可定制Email通知功能,每个用户可根据自身的工作特点订阅相关的缺陷状态邮件;
9) 可以定制软件公司特定的缺陷处理流程。
MantisBT安装
由于MantisBT是建立在PHP、MySQL环境之上的,所以安装分为两部分,既要安装PHP和MySQL等支撑平台,还要完成自身的安装。支撑平台可以选择XAMPP软件包,如XAMPP 1.7版本,可从http://sourceforge.net/projects/xampp/下载最新版本。XAMPP安装简单,按照提示就可以完成。Apache端口默认为80、mysql端口为3306,如果这两个端口被占用了,可以重新设置端口,如通过修改apache\conf\ httpd.conf文件设置Apache端口为8080。安装成功后,在浏览器http://localhost,如下图。

如果要设置数据库mysql的用户root的密码,可以通过phpMyAdmin来完成(上图左下脚的导航栏有链接),但还须要在xampp\phpMyAdmin\config.inc.php文件中修改相应的内容,如下所示:
/* Authentication type and info */
$cfg['Servers'][$i]['auth_type'] = 'config';
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = 'pass';
$cfg['Servers'][$i]['extension'] = 'mysql';
在实际管理Apache、MySQL、FTP等服务时,一般运行xampp的控制面板程序,即xampp-control.exe,如图所示,可以执行启动(start)、停止(stop)、查看服务(service)、查看状态(status)、刷新(refresh)等操作。

1. 为Mantis创建一个数据库
创建一个数据库是比较容易的,但要注意字符集。

2. 软件包安装
直接解压MantisBT软件包到某硬盘根目录下,如E:\mantisbt-1.1.6。然后,在Apache配置文件xampp\apache\conf\httpd.conf中设置mantisBT目录权限,即在该文件后面添加下列内容:
Alias /mantis "E:/mantisbt-1.1.6 /"
<Directory "E:/mantisbt-1.1.6 /">
Options Indexes
AllowOverride None
Order allow,deny
Allow from all
</Directory>
然后,在浏览器中输入http://localhost/mantis,此时会自动跳到MantisBT安装页面,如图所示。在相应域内输入相关内容,数据库的口令是在phpMyAdmin所设定的内容。

点击“Install/Upgrade database”按钮,开始执行安装,但实际结果会显示没有完全安装成功。这时,将显示的SQL schema拷贝到phpMyAdmin的SQL窗口内执行,从而创建好MantisBT所需要的表和记录。
回到浏览器,输入http://localhost/mantis,就进入Mantis系统的登录页面了,如图所示。默认用户名为administrator,密码为root。

管理
在使用MantisBT进行缺陷报告之前,须要增加用户、项目等内容,完成系统的数据初始化工作。系统管理的功能包括用户管理、项目管理、管理平台配置和管理配置等工作。
1) 用户管理
用户管理的主要功能有创建、修改和删除用户账号等,并可以赋予用户账号相应的权限、将用户账号和项目关联起来。权限分为查看、报告、修改、开发、经理和管理员。一般测试人员给予“报告”权限,而资深的测试人员或测试组长可以给予“修改”权限,而市场人员等只须要浏览缺陷,给予“查看”权限即可。在具有良好的质量文化的企业中,任何员工发现软件产品问题都可以报告缺陷,所以从这个角度看,任何须要访问缺陷数据的员工或全体员工都可以给予“报告缺陷”的权限。
2) 项目管理
报告任何一个缺陷,都是针对一个特定项目的行为,所以在启动任何一个项目时,就要为它建立相应的信息。
3) 自定义字段
每个企业的管理都会有一些特殊性,MantisBT提供了可扩充性,允许用户自定义字段,以满足缺陷管理的特定要求。通过“管理”→“自定义字段管理”功能来创建自定义字段。
4) 管理配置
管理配置是整个系统的参数设置,包括配置报告、权限报表、工作流初始化、工作流和邮件提醒,其中权限报表显示各种操作的权限。工作流初始化就是设置不同角色在不同操作上是否具有权限,这些设置形成了一个权限设置矩阵,这个矩阵是对所有项目起作用的。这些操作覆盖了缺陷处理的生命周期,包括报告、修改、监视、管理、分派、移动和删除问题(缺陷)。
当新建、分派、问题、打回、解决、重新打开、添加问题注释、状态改变和优先级改变等时,发送Email提醒,可以按缺陷严重级别来设置条件。缺陷处理的一个基本过程可以用下图来描述

缺陷报告
当用户管理、项目管理和系统配置等处理完毕,就可以让众多用户开始使用MantisBT来报告、处理和跟踪缺陷。
首先要注意屏幕右上角显示的项目名称,点击“切换项目”按钮。然后在系统界面,点击“报告问题”,进入问题录入界面。如果要提供更多的信息,可以点击“高级报告”。在报告缺陷时,选择分类、出现频率、严重性等。“优先级”可以用默认值,在缺陷报告之后,可以由项目经理、开发人员根据情况调整。“摘要”就是缺陷的标题,而在“说明”框内输入操作步骤、期望结果和实际结果等内容,即缺陷的详细描述。
在缺陷列表中点击缺陷编号,或直接输入缺陷编号,可进入完整显示缺陷信息的界面,然后可以补充相关信息或修改原有的信息:
1) 添加注释,做一些缺陷分析说明或补充交待;
2) 问题提醒,发送邮件提醒相关的人员;
3) 改变缺陷状态;
4) 将缺陷分派给另外一个人;
5) 建立缺陷之间的关联关系(父缺陷、子缺陷、重复问题等);
6) 修改或删除问题;
7) 将缺陷从当前项目移到其他项目中去;
8) 跟踪问题;
9) 上传文件;
10) 增加tag (标签);
11) 查看历史记录、打印等。
如果两个缺陷存在父子关系,而子问题没有解决,那么父问题的关联关系中会提示子问题没有被全部解决,只有所有子问题和父问题都解决了,父问题才可以被关闭。
当用户登录后,第1个页面就是我的视图(My View),测试人员可以从这个视图了解自己最关心的几个问题:
1) 未指定的(缺陷);
2) 已解决的(缺陷);
3) 最近修改的(缺陷);
4) 由我报告的(缺陷);
5) 我正在监视的(缺陷)。
统计和分析报表
缺陷报表是人们经常说的bug dashboard,可以了解某个项目当前的缺陷状态。例如,哪些缺陷还没有处理或修正?高优先级的缺陷又有多少没有被修正?每个测试人员或开发人员的相关缺陷状态如何?这些都可以从“综合报表”中获得,此外还包括:
1) 按项目统计“未解决”、“已解决”、“已关闭”等缺陷;
2) 按问题状态统计;
3) 按严重性统计;
4) 按项目分类统计 ;
5) 按日期统计“已打开”、“已解决”等缺陷;
6) 最活跃的缺陷(Most Active);
7) 最长未解决的时间;
8) 已解决问题的所用时间(天数) ;
9) 问题状态与开发人员(未解决/已解决/已关闭/合计) ;
10) 报告人/解决状况;
11) 开发人员/解决状况。
集成
缺陷系统须要和软件配置系统(如CVS、SubVersion等)、软件测试管理系统(如TestLink等)集成起来,消除数据重复输入的工作量,方便数据查询,提高工作效率。
本文来自朱少民老师的《轻轻松松自动化测试》,如有侵权,请通知后删除
网友评论