
缺陷管理工具
mbti十六型人格-会昌山
2023年2月20日发(作者:电脑怎么u盘启动)1.3缺陷管理工具Mantis及其应用
Mantis同样是一款开源的软件缺陷管理工具,是一个基于PHP技术的轻量级缺陷跟踪
系统,其功能与商用的JIRA系统类似,都是以Web操作的形式来提供项目管理及缺陷跟
踪服务。Mantis在功能上可能没有JIRA那么专业,界面也没有JIRA漂亮,但在实用性上
足以满足中小型项目的缺陷管理及跟踪。Mantis包括客户端浏览器、Web服务器和数据库
服务器。当然,Web服务器和数据库服务器也可以是同一台主机。重要的是它是开源的,
不需要负担任何费用。不过Mantis目前的版本还存在一些问题,期待在今后的版本中能够
得以完善。
1.3.1Mantis功能介绍
Mantis基于PHP+MySQL,可以运行于Windows/UNIX平台上。作为一个Bug管
理系统,其适用性是否符合实际工作的需要是至关重要的。Mantis基本可以满足Bug管理
日
常流程。而且,Mantis是B/S架构的Web系统,如果今后有需要,还可以配置到Internet
上,实现异地Bug管理。在Mantis系统中,有如下几种角色:管理员、经理、开发员、
修改员、报告员、复查员。每个角色所拥有的权限是不一样的,从大到小依次排列是:管理
员→经理→开发人员→修改人员→报告人员→查看人员。
Mantis的特点是免费、简洁灵活,B/S结构的Web系统比较适合分布式协作开发和测
试。关于Mantis的详细信息和技术支持,可访问/。
的基本特征
个人可定制的E-mail通知功能,每个用户可根据自身的工作特点而只订阅相关
的缺陷状态邮件。
支持多项目、多语言。
权限设置灵活,不同角色有不同权限,每个项目可设为公开或私有状态,每个缺陷
也可设为公开或私有状态,每个缺陷可以在不同项目间移动。
主页可发布项目相关新闻,方便信息传播。
方便的缺陷关联功能。除重复缺陷外,每个缺陷都可以链接到其他相关缺陷。
缺陷报告可打印或输出为CSV格式。支持可定制的报表输出,可定制用户输入域。
有各种缺陷趋势图和柱状图,为项目状态分析提供依据,如果不满足要求,则
可以把数据输出到Excel中进一步分析。
流程定制不够方便,但该流程可满足一般的缺陷跟踪。
可以实现与CVS的集成,即实现缺陷和CVS仓库中的文件相关联。
可以对历史缺陷进行检索。
系统中缺陷状态的转换
缺陷状态是描述软件缺陷处理过程所处阶段的一个重要属性。对应于不同的状态,软
件测试人员能确定对该问题的处理已经进展到什么阶段,还需要进行哪些工作,需要哪些
人员的参与等信息。缺陷跟踪系统的状态比较复杂,这也是缺陷管理中的难点。在缺陷跟
踪管理过程中,将缺陷记录划分为不同的阶段、不同的状态来进行标记。Mantis系统将缺
陷的处理状态分为New(新建)、Feedback(反馈)、Acknowledged(认可)、Confirmed
(已确认)、Assigned(已分派)、Resolved(已解决)、Closed(已关闭)7种,如图1-2
所示。
一个新的缺陷被提交,即为New。
Feedback,对此bug存有异议,就将其反馈,测试人员和开发人员讨论评估后,决定
是否将其关闭。
Acknowledged,经理认为报告员提交的问题是个bug,对这个bug表示认可。
Confirmed,开发人员确认存在此bug,并准备修改,将其设为已确认。
Assigned,经理将认可的问题单分派给某个开发人员。
Resolved,被分派的开发人员已经进行修改,测试人员可以进行验证测试,确认
bug已经解决。
Closed,最终修改正确或不正确的缺陷报告,经过验证或项目经理同意后,可以
关闭。处于关闭状态的缺陷报告可表现为已改正、符合设计、不能重现、不能
改正、由报告人撤回。
图1-2Mantis缺陷状态转换图
用户角色及权限的管理
在一个测试项目中,存在各种不同的身份,比如项目经理、测试经理、开发经理、程
序员、测试员等。不同身份的用户使用系统时可以执行的操作理应是不同的,例如不能让
一个测试员来进行用户分工的工作。另一方面权限的要求是以对象为中心的,比如对于缺
陷这个对象,它的填报信息只能由填报该缺陷的测试员来修改和维护,其他的任何人都不
能具有同等的操作权限。
Mantis中用户角色和登录权限及方式如表1-1所示。
表1-1Mantis中用户角色和登录权限及方式
的软件缺陷属性的定义
软件缺陷是按照能准确发现缺陷目标进行分类的,分类之间应无重叠,分类体系应
覆盖所有的缺陷类型;要与软件生命周期相结合。传统的分类方法可分为按照缺陷的来
源和缺陷错误性质这两种。如Putnam等人提出的分类方法和正交缺陷分类法以及IEEE
制定的软件异常分类标准等。正交缺陷分类法定义的软件缺陷13个属性在Mantis中得
到了实现。
缺陷编号:缺陷的唯一标识。
模块信息:缺陷涉及的模块信息,包括模块名称、缺陷处理负责人、模块版本。
测试版本:描述的是该缺陷发现的测试版本号。
对应用例编号:发现该缺陷时运行的测试用例编号,通过该编号可以建立起测试用
例和缺陷之间的联系。
缺陷状态:缺陷的即时状态,如新建、反馈、已分派、已确认、已关闭等等。
报告者:报告缺陷的测试人员的编号或用户名。
报告日期:缺陷填报的日期。
重现性:可重现或不可重现。
重现步骤:和测试用例相关,描述的是发现这个缺陷的步骤。
严重等级:可定制,默认为4级,Pl(致命)、P2(严重)、P3(一般)、P4(轻微)。
缺陷类型:可定制,默认分为功能缺陷、用户界面缺陷、边界值相关缺陷、初始化
缺陷、计算缺陷、内存相关缺陷、硬件相关缺陷、文档缺陷。
缺陷优先级(报告者):可定制,默认分为必须修复、立即修复、应该修复、考虑修复。
的功能介绍
1)多项目管理
在系统页面上单击Manage|ManageProjects,可以进入项目管理界面。上面显示了已
创建的项目列表,单击CreateNewProject,可进入新建项目页面。可以设定新项目当前的
状态,项目状态有development、release、stable和obsolete这几种。在已建项目列表中可
以修改项目数据,包括修改项目状态将项目(修改为公开或私有),添加和修改子项目,为
该项目添加和修改Categories,添加和修改项目发布版本,定义项目可使用的用户自定义
域,添加和修改该项目用户及其权限属性。
2)问题录入
在系统界面单击ReportIssue,可进入问题录入界面。如果在单击前,右上角项目选择
为AllProject,那么在填报问题前需要先选择要填报的项目。可以选中“MakeDefault”,
这样在每次填报进入该界面时,所选择的就是默认项目了。在问题填报界面选择并输入
Category、Reproducibility、Impact、Severity、Summary、Description、AdditionalInformation
等信息,单击SubmitReport即可。在录入页面中还可以添加和上传附件。
3)问题查询和关键词检索
在系统界面,单击ViewIssues,可进入问题查询结果页面。在项目选择中,可以选择项
目查看所属项目问题,单击查询结果区的字段名称,可以进行排序显示。页面上方区域是问
题检索条件区,可以一览当前查询结果的查询条件,也可以单击每个查询条件以修改该查询
条件选项。修改各查询条件参数,单击ApplyFilter即可。该查询界面每个查询条件只能定
义单一值。如果需要定义多值查询,可以在查询结果界面单击AdvancedFilters,界面刷新后,
单击某查询条件,便可以选择多个选项进行查询。在查询结果页面的查询条件区,可以在
search文本框中输入所要查询问题信息中的关键词,单击ApplyFilter按钮,即可显示含有该
关键词的所有历史问题。可以将当前查询条件保存为过滤器,以便快速选择得到查询结果。
在查询区中单击SaveCurrentFilter,可以命名并保存当前过滤器。若当前过滤器的查询条件
与已有过滤器的相同,那么保存页面会提示“Thisparticularqueryappearstoalreadyexist”。
输入待保存的过滤器,保存即可。在查询页面单击Managefilters,可以管理过滤器。
4)问题更新
单击Assignto按钮,将问题安排给相关人员解决。
单击ChangeStatusto,修改问题状态。
单击Monitor,可以跟踪该问题。
单击Clone,可以克隆一个新问题。
单击Close,可以关闭该问题。
单击Move,可以将问题在不同项目间进行移动。
单击Delete,可以删除该问题。
也可以单击MyView或查询结果页面中某条问题前的图标,进入问题详细页面。单
击按钮可以直接下载问题的附件。也可以在系统菜单右侧的中输入问题编号,即可
进入问题详细页面。单击Edit,可以修改问题的属性数据。
5)问题讨论
在问题详细页面的后面添加Note信息,以便将该问题的讨论、交互信息记录下来。
讨论信息可以进行编辑、删除,也可以被修改为私有状态。
6)问题关联关系
在问题详细页面,可以设置该问题与其他问题之间的关联关系。每个问题都可以链接
到其他相关问题。链接的关系分为relatedto、parentof、childof、duplicateof、hasduplicate
这几种。可以对当前链接的问题进行删除,有关系冲突的可以设置最新的关联关系。对于
存在父子关系的问题,如果子问题没有解决,则父问题的关联关系中会显示“Notallthe
childrenofthisissueareyetresolvedorclosed”,以提示子问题没有被全部解决。
对于子问题没有全部解决的父问题,如果要将其状态设置为解决或关闭的话,则会在设
置状态页面的上方提示“thechildrenofthisissueareyetresolvedorclosed.
Beforeresolving/closingaparentissue,alltheissuesrelatedaschildwiththisoneshouldberesolvedor
closed”。通过单击问题详细页面中Relationships区域中的RelationGraph,可以查看该问题的关
联关系图。单击DependencyGraph,可以查看当前问题的依存关系图。在关联关系图和依存关
系图中,当光标移动到各问题的ID方框时,会显示该问题ID的Status和Summary。
7)集成CVS
当将CVS文档提交给CVS服务器时,在logmessage中添加“issue#nnnn”,提交后,
即可将该提交信息插入到issue#nnnn的Note中。单击该提交的文件版本链接,弹出commit
前后版本比较信息页面。通过单击系统菜单Docs|CVSWeb,可以浏览CVS仓库。
8)个人显示和E-mail通知设定
个人可定制的E-mail通知功能,使得每个用户可根据自身的工作特点而只订阅相关的
缺陷状态邮件。在系统菜单中单击MyAccount(个人资料),进入用户个人设定页面。可以在My
Account选项中修改用户密码和用户邮件地址,在Preferences(更改个人设置)中设定默认设
置,可以对不同问题状态设定是否接收E-mail。还可以设定自己的系统界面语言,在Profiles
(管理平台配置)中可以设定Platform、OperatingSystem、Version等。
8)统计分析、报表生成和输出
在系统菜单中单击Summary,以显示该项目下问题统计Synthesis情况,包括按Project、
Status、Date、Resolution、Severity、category等等进行统计的结果。单击Summary表上方的图
表按钮,分别有Perstate、Perseverity、Perimpact、Percategory和Perresolution的统计表。后
面仅列出了Perstate的表截图。单击AdvancedSummary,可以显示总体统计图表,包括
CumulativeByDate图。通过后台系统文件的设定,可以添加和修改统计图表。单击PrintReport,
可打印当前项目下的问题。可以选择性地将问题导出至Excel或Word文件中,也可通过预览
功能在IE中显示,并可另存为html文件。对于问题导出,还可以在问题查询结果页面中,通
过单击CSVExport,将问题导出为CSV文档。在问题查询结果页面单击PrintReport,可以进
入打印报告页面。
10)用户管理
使用管理员账户进入系统,单击系统菜单Manage|ManageUsers,进入用户一览页面。
可以按用户ID的字母顺序筛选用户。可以单击各用户以修改其权限和信息,也可以单击Prune
Accounts来阻止未登录的用户。单击CreateNewAccount建立新账户时,可以选择是否激活
该账户,也可以设定用户权限。用户权限包括viewer、reporter、updater、developer、manager
和administrator(角色可以定制)。权限可以在系统权限设置中进行控制。
11)自定义域
通过单击系统菜单Manage|ManageCustomFields,用户可以自行添加和修改自定义域,
添加数量没有限制。自定义域的类型有String、Numeric、Float、Enumeration、Email、
Checkbox、List、MultiselectionList、Date等。可以设置是否在报告、更新、解决、关闭页
面中显示和必填,以及是否仅在高级查询条件页面中显示。
12)系统设置
使用管理员权限进入系统,单击Manage|ManageConfiguration,进入系统设置页面。
PermissionsReport页面显示了当前系统的权限分配情况。在WorkflowThresholds页面,可
以设置不同角色权限。在WorkflowTransitions页面,可以设置工作流。可以根据公司流程
来进行定制。可以设定问题各状态的最低权限角色。
1.3.2Mantis应用环境建立
要安装运行Mantis,有两种主流的环境配置可供选择:IIS+PHP+MySQL+Mantis和
Apache+PHP+MySQL+Mantis,下面介绍后一种。由于单个配置相当复杂,且容易出错,这
里采用安装XAMPP来配置环境。
XAMPP(Apache+MySQL+PHP+PERL)是一个功能强大的软件集成包。这个软件包原来
的名字是LAMPP,但是为了避免误解,最新的几个版本就改名为XAMPP了。它可以在
Windows、Linux、Solaris、MacOSX等多种操作系统下安装使用,支持多语言:英文、简体
中文、繁体中文、韩文、俄文、日文等。许多人通过他们自己的经验认识到安装Apache服务
器是件不容易的事儿。如果您想添加MySQL、PHP和Perl,那就更难了。XAMPP是一个易
于安装且包含MySQL、PHP和Perl的Apache发行版。
1.安装XAMPP
这个安装比较简单,直接安装就行,这里安装的是XAMPPWindows1.8.3版本。下载
网址为/zh_cn/。
安装完之后,打开控制面板,如图1-3所示,表明Apache和MySQL正在运行,
图1-3XAMPP控制面板
点击图1-3Apache那行的Admin按钮,弹出XANMPP页面,选择中文后,点击左边的“安全”,
出现XAMPP安全页面,如图1-4。
图1-4XAMPP安全页面
修改MySQL中的root密码为“root”,如图1-5所示。
图1-5MySQL密码修改
2.安装Mantis
这里选择安装最新的Mantis发布版本1.2.15,
(1)登录localhost/phpmyadmin,用户名和密码为“root”,创建数据库mantis,
如图1-6所示。
图1-6创建数据库mantis
(2)把mantis1.2.15解压到E:xampphtdocs目录下,并改名为mantis。
(3)打开IE,输入localhost/mantis,即可进入安装界面。如图1-7所示。
图1-7Mantis安装界面
(4)在安装界面,除了Databasename填mantis,上下两个username和password都填root。
如果安装成功,后面的状态栏为全绿。如图1-8所示。
图1-8Mantis安装成功
(5)打开IE,输入localhost/mantis,可以看到Mantis的登录页面了,如图1-9所示,
初始用户可以使用默认用户名administrator和密码root登录进去,进行管理设置。
图1-9Mantis登录界面
其他设置
Mantis的设置是这样保存的:在config_defaults_中保留Mantis的默认设置,用
户自己的设置信息保存在config_中,如果某个选项在config_中已设置,则系统
使用config_中的设置,否则使用config_defaults_中的系统默认设置。
config_是Mantis给出的一个用户设置文件示例。sample中给出的一
些设置是一定需要修改的,比如MySQL数据库的连接参数、管理员的邮箱;其他的则要
根据实际情况进行修改。对config_文件中的设置,设置很简单,各个参数的意义
可以参见config_defaults_,那里对每个参数都有详细的解释。
下面是文件中的一些自定义参数,其中一些参数的设置请参照下面的内容:
$g_use_iis=ON;
#使用IIS
$g_show_version=OFF;
#不在页面下部显示Mantis的版本号
$g_default_language='chinese_simplified';
#默认语言为简体中文
$g_show_project_menu_bar=ON;
#显示项目选择栏
$g_show_queries_count=OFF;
#在页脚处不显示执行的查询次数
$g_default_new_account_access_level=DEVELOPER;
#默认用户级别
$g_use_jpgraph=ON;
#使用图形报表
$g_jpgraph_path='C:/PHP/includes/JPGraph/src/';#JPGraph路径
$g_window_title='MantisBug跟踪管理系统';#浏览器标题
$g_page_title='MantisBug跟踪管理系统
';#页面标题栏
$g_enable_email_notification=ON;
#开通邮件通知
$g_smtp_host='';#SMTP服务器
$g_smtp_username='mailuser';
#邮箱登录用户名
$g_smtp_password='mailpwd';
#邮箱登录密码
$g_use_phpMailer=ON;
#使用PHPMailer发送邮件
$g_phpMailer_path='C:/PHP/includes/PHPMailer/';
#PHPMailer的存放路径
$g_phpMailer_method=2;
#PHPMailer以SMTP方式发送Email
$g_file_upload_ftp_server='';
#上传文件FTP
$g_file_upload_ftp_user='ftpuser';#FTP
登录用户名
$g_file_upload_ftp_pass='ftppwd';#FTP
登录密码
$g_short_date_format='Y-m-d';
#短日期格式,Y大写表示以4位表示年数
$g_normal_date_format='Y-m-dH:i';
#普通日期格式
$g_complete_date_format='Y-m-dH:i:s';
#完整日期格式
(1)设置Mantis邮件服务
首先修改E:xamppphp目录下的文件,查找SMTP,将SMTP=localhost改为你的
发件服务器(这里以163的邮箱为例),如SMTP=;查找sendmail_from,并修改
为sendmail_from=xxx@(设置你的邮箱地址全称)。
然后在E:xampphtdocsmantis目录下的config_文件中,添加:
$g_phpMailer_method=2;
$g_smtp_host='';
$g_smtp_username='xxx';//邮箱用户名
$g_smtp_password='yyy';//邮箱密码
最后在同目录下的config_default_文件中做如下修改:
$g_phpMailer_method=PHPMAILER_METHOD_SMTP;
$g_smtp_host='';
$g_administrator_email='xxx@';//邮箱地址全称
$g_webmaster_email='xxx@';
$g_from_email='xxx@';
$g_return_path_email='xxx@';
(2)设置图形报表
默认情况下,Mantis的图形报表是关闭的,需要安装图形报
表模块才能打开图形报表。
下载JPGraph,从/download下载JPGraph的安装文件,目前最高版本是
3.5.0b1。
将解压缩,把其中的子目录src复制mantislibrary目录下,并改名为
jpgraph。
修改E:xamppphp目录下的文件,将“;extension=php_”前面的分号删除,确
保php有加载jpgraph使用的动态库。
安装插件:登录Mantis(管理员权限),管理→插件管理→安装MantisGraph1.0插件,如
图1-10所示。
图1-10安装MantisGraph插件
修改MantisGraph插件配置,将要使用的图形库修改为JpGraph,JpGraph库系统路径设置为
对应的jpgraph路径,例如:E:xampphtdocsmantislibraryjpgraph,如图1-11所示
第1章软件缺陷管理
•23•
图1-11MantisGraph插件配置
点击更新配置,现在再打开Mantis的统计页面,可以看到多了分别按状
态等进行统计的图形报表,包括柱图、饼图和线图。
如果使用的界面语言是简体中文,那么将会看到图形中的汉字都是乱码,
这是由于Mantis对JPGraph的编码设置不正确造成的。JPGraph会自动将汉
字转换为UTF-8编码,但是需要在调用JPGraph的时候对标题等设置字体,
Mantis没有做这个操作因此汉字显示出来都是乱码。解决方法如下:
1)修改mantislibraryjpgraphjpgraph_
elseif($aFF===FF_SIMSUN){
//DoChineseconversion
if($this->g2312==null){
include_once'jpgraph_';
$this->g2312=newGB2312toUTF8();
}
return$this->g2312->gb2utf8($aTxt);
}
将其改为:
/*elseif($aFF===FF_SIMSUN){
//DoChineseconversion
if($this->g2312==null){
include_once'jpgraph_';
$this->g2312=newGB2312toUTF8();
}
return$this->g2312->gb2utf8($aTxt);
}*/
elseif($aFF===FF_SIMSUN){
return$aTxt;
}
2)修改
增加字体simsun
$t_current_font_selected=array(
'arial'=>false,
将其改为:
$t_current_font_selected=array(
'simsun'=>false,
'arial'=>false,
配置页面显示新增加的simsun(宋体)
print_font_checked('arial')?>/>Arial 将其改为: print_font_checked('simsun')?>/>宋体 print_font_checked('arial')?>/>Arial 注:因直接使用中文,为不显示为乱码,需要把该代码文件转换成UTF-8编码格式,文件另存为 时选择即可。 3)修改mantispluginsMantisGraphpagesconfig_ if(plugin_config_get('font')!=$f_font){ switch($f_font){ case'arial': 将其改为: if(plugin_config_get('font')!=$f_font){ switch($f_font){ case'simsun': case'arial': 4)修改mantispluginsMantisGraphcoregraph_ $t_font_map=array( 'arial'=>FF_ARIAL, 将其改为: $t_font_map=array( 'simsun'=>FF_SIMSUN, 'arial'=>FF_ARIAL, 5)修改MantisGraph插件配置,管理→插件管理→Mantis图表1.0,编辑配 置,修改字体为“宋体”,如图1-12所示。 图1-12修改字体为“宋体” 这样,图形报表可以显示中文了。 1.3.3Mantis应用流程 在Mantis系统中,分别有如下几个角色:管理员、经理、开发人员、修改人员、报 告人员、查看人员。每个角色所拥有的权限是不一样的,权限从大到小依次排列是:管理 员→经理→开发人员→修改人员→报告人员→查看人员。 首先来看主页,在主页面中可以看到以下信息: 指派给登录用户且还未解决的Issue数目,单击该数目超链接,就可以进入Issue 列表,直接对这些Issue进行操作。 由登录用户报告且还未解决的Issue数目。 最后一次登录该系统的时间。 切换项目:单击界面中右上角的下拉式菜单来切换所选项目。 跳转到该Issue编号:根据Issue编号可以进行查询,直接进入到该Issue的详 细信息界面,进行相应操作。 转向其他操作界面:单击主页面上方的菜单栏,即可进入到相应的操作界面,如 图1-13所示。 图1-13Mantis的有关操作界面 下面将详细说明各个角色在系统中的具体权限和工作职责。 1.管理员 管理员是管理整个系统运作的工作人员,他不仅是整个系统操作流程中权限最高的工 作人员,而且还可以对项目和用户账户进行创建和管理等,下面将详细说明。管理员登录 到系统之后,可以先进入自己的主界面,然后再根据工作要求,选择页面上方的菜单栏来 进入相应的界面。 1)我的视图(MyView,图1-14所示) Bug根据其工作状态被分类成几个表格来显示,符合这些工作状态的Bug都被一一 罗列: 分派给我的,assigned(尚未解决)。 未分派的,unassigned。 我报告的,reportedbyme。 已解决的,resolved。 最近修改,recentlymodified。 我监视的,monitoredbyme 图1-13Mantis的视图界面 2)查看问题(ViewIssues,图1-15所示) 点击页面中的问题编号,可进入该问题的详细页面,并对该问题进行修改,图1-16所 示。 “编辑(Edit)”:修改问题的各项基本属性,并添加注释。 “分派(AssignTo)”:将问题分派给某个开发人员处理,分派之后系统将自动向被分派人发送 邮件通知,被分派人打开Mantis之后将在“我的视图”页看到被分派的问题。 “状态改为(ChangeStatusto)”:这里是指问题状态的转变,分6个层次——新建、反 馈、认可、已确认、已解决和已关闭。这是Mantis比较重要的一个功能,问题的每 次变动都会发生状态的改变,以此来标记问题的处理情况。 “监视问题(Monitor)”:单击此按钮后,用户就可以对该问题进行监视,也就是说只 要该问题有改动,系统就会自动发邮件通知到本人。这在“我的视图”页也可以体现 出来。 “创建子项问题(Clone)”:可以创建该问题的子项问题。 “移动问题(Move)”:可以将该问题移动到别的项目中(需要相应的权限)。 “删除问题(Delete)”:删除无用的问题,已处理完毕的问题建议不必删除,关闭即 可,以保留问题记录。 “关系(Relationships)”:可以指定问题之间的关联关系,具体关联方式见下拉菜单。 “上传文件(UploadFile)”:可以上传与问题相关的文件,大小暂时限制为5MB。 “问题历史(IssueHistory)”:此项为问题处理的历史记录。 图1-15Mantis的问题查看界面 图1-16Mantis的问题详细界面 3)提交问题(ReportIssues,如图1-17所示) 进入ReportIssue界面,可以看到一个提交Bug的表单,根据具体情况填写后提交即 可。在提交报告时请注意,带*号的是必填项。页面还提供了文件上传功能,只要是大小低于 2MB的文件都允许上传,支持doc、xls、zip等格式的文件。这样在报告Bug的时候,就 可以上传相关的文件,为Bug的解决提供更多的信息。全部填写完毕之后就可以单击“提交 报告”按钮来提交报告,之后系统会提示用户操作成功。返回“我的视图”界面,就可以看到新 提交的报告。 图1-17Mantis的问题提交界面 4)修改日志(ChangeLog,如图1-18所示):显示项目的更新日志 点击菜单栏中的“变更日志”项,是已经修改好了问题的日志,需要给项目添 加版本号,并且在提交/解决问题时都指定了相应的版本号才会显示。 图1-18Mantis的日志修改界面 5)路线图(Roadmap如图1-19所示) 点击菜单栏中的“路线图”,如果开始没有指定项目的情况下,则首先进 入项目选择界面,如果指定了默认值,则直接进入默认项目的路线图,其实项 目的路线图就相当于一个Bug的日志信息,如图所示,页面列出了该项目下已 解决的Bug编号、所属组别、Bug摘要以及该项目产品的版本号变化,点击Bug 编号还可进入其详细信息页面。 图1-19Mantis的路线图 6)个人资料(MyAccount,如图1-20所示) 设置个人信息,包括密码、邮件、姓名;更改个人设置,可设置邮件通知 的紧急程度级别等,根据个人需要和喜好来设置接收邮件通知的级别;管理平 台配置,包括硬件平台。操作系统、版本等信息。 图1-20Mantis的个人资料设置界面 7)统计报表(Summary,如图1-21所示) 单击“统计报表”项,将会出现一个包含所有Issue报告的综合报表,页面上还提供了“打 印报告”和“先进的摘要”的功能链接。在这个综合报表中,按照Bug报告详细资料中的项目, 将所有的报告按照不同的分类进行了统计。这个统计报表有助于管理员及经理很好地掌握Bug 报告处理的进度,而且很容易就能把没有解决的问题与该问题的负责人、监视人联系起来,提 高了工作效率。这个界面中还提供了更多按不同要求分类的统计图表,如按状态统计、按优先 级统计、按严重性统计、按项目分类统计和按处理状况统计。分别单击这5项,即可得到相应的 统计图。单击“先进的摘要”,可进入刚才所显示数据的一个图形化报表界面,更便于查阅和对 比,如图1-20所示。如果需要,还可以单击界面上方的“打印报告”,将所有的bug显示出来,如图 1-22所示,在页面列出了需要导出打印的bug列表,可以根据需要通过复选框选中需要打印的bug, 根据需要点击图标,bug数据便相应的导出到该类型的文件里,实现打印输出的需求。 图1-21Mantis的统计报表及统计图 图1-22打印报告界面 8)管理(Manage如图1-23所示) 单击菜单栏的“管理”项,即可进入管理界面,管理界面包含用户管理、项目管理和 自定义字段管理的管理部分。 (1)用户管理为单击“管理”项时进入的默认页面。 新账号:显示一周之内添加到该项目的新用户。 从未登录:显示目前存在却至今从未登录过的用户,对此用户可以单击“清理账号” 功能链接将其清除。 管理账号:在这里可以添加新用户和更新已有用户。单击CreateNewAccount,就可 以添加新的用户,并指定其工作身份。单击现有账号名称,就可以对当前账号的资 料进行更新,更新之后单击“重置”,系统就接受更新信息了。 (2)单击项目管理,即可查看当前的所有项目。再单击“创建新项目”项,进入新项 目创建页面,填写好项目资料后点击添加项目向,新的项目就添加到系统中了。 注意:上传文件时如果不指定存放路径,则默认为系统路径。 (3)单击现有项目列表中的项目名称,就可以看到该项目的具体情况列表,列表中包 括了各个项目的名称、状态、查看状态以及说明列属性。在这个页面上可以进行以下操作: a)编辑项目:在这里经理可以对项目的名称、状态、查看状态、上传文件的存 放路径以及说明等内容进行更行; b)子项目:可以创建属于该项目的子项目,或者指定某个项目为该项目的子项 目; c)增加分类:填入类别名称,点击增加分类便可在当前项目里增加类别; 编辑分类:点击编辑,进入类别编辑页面,还可以将当前的类别分配给指定 的工作人员,这样会在该项目下提交一个新bug的时候,直接分派给该指定 的工作人员处理。 d)版本:可以对已有的项目版本进行更新或者删除,也可以添加新的 版本; e)自定义字段:可以从已存在的自定义字段中选择出所需要的添加到 该项目中的自定义字段里,也可以删除已添加的自定义字段,自定 义字段添加入项目后,在“提交问题”单中会显示为必填字段; f)添加用户至项目:将与项目相关的用户添加进来; g)管理账号:对该项目中所有的相关人员的账号进行管理,可以删去 那些在项目中不需要的账号 (4)自定义字段管理是用于在提交问题的时候,系统给予的填写项不满足 实际需求,这样可以自行在这个功能页面里定义自己需要的字段,以便能更好 的描述bug的情况,而且在过滤器里也会增加这个字段的属性,可以根据其进 行数据过滤,点击功能链接进入该页面即可新建自定义字段、修改已有的自定 义字段。 图1-23Mantis的管理界面 2.权限用户 1)经理 经理是整个软件开发过程中较为重要的管理人员。经理在该系统下的使用权限比起管 理员来说稍微低一些,由于前面已经详细说明了各个菜单功能的使用,因而这里主要说明 经理在本系统所能使用的功能与管理员有什么不同。 对于前面提及的10个菜单功能,经理在使用的时候和管理员基本相同,但存在以下 几个差异: 只能对自己的过滤器进行操作,对于管理员设为共有的过滤器只能使用而不能进行 操作。 在“查看Issue”的时候,可以通过复选框来对某条Bug进行命令操作,经理级别的 工作人员不能执行“删除”操作,系统会提示“你无权执行该项操作”。 在“管理”功能中,不能对用户进行管理,包括新建、删除用户等,也不能新建项 目,只能管理现有项目的信息。 2)开发人员 开发人员,就是负责整个软件开发的工作人员。使用Mantis这个Bug跟踪管理系统, 开发人员可以及时地发现和解决软件缺陷。在该系统中,开发人员的权限比起经理来说要 稍低一些,从开始登录进入系统就能看出来,其主菜单栏的功能相对少了一些。比起经理 和管理员的菜单栏,少了“统计报表”、“管理”这2个功能。 由于前面已经详细说明了各个菜单功能的使用,因而这里主要说明开发人员在本系统 所能使用的功能与管理员有什么不同。 开发人员只能设置私有的过滤器,可以共享管理员和经理创建的且属性设置为公有 的过滤器。 在“查看Issue”的时候,可以通过复选框来对某条Bug进行命令操作,开发人 员不能执行“删除”操作,系统会提示,“你无权执行该项操作”。 3)修改人员 修改人员,就是负责修改Issue的工作人员。修改人员的主菜单和开发人员的一样, 但其使用权限还是比开发人员稍低一些,下面来具体说明一下操作区别。 不能创建过滤器,但是可以使用由其他工作人员创建且属性被设为公有的过滤器。 在“查看Issue”的时候,可以通过复选框来对某条Bug进行命令操作,修改人 员只能进行“复制”、“更新优先级”、“更新状态”、“更新视图状态”操作,对于 其他的命令操作则无权执行。 在“我的视图”界面,没有“分派给我的(尚未解决)”状态的Bug数据列表,因为 对于修改人员来说,不能将Bug直接指派给他。因此,相应的界面上没有这类 数据的显示。 4)报告人员 报告人员,就是专门负责提交Bug报告的工作人员。报告人员的主菜单也和开发人 员、修改人员的一样,但是其使用权限还是比修改人员稍低一些,下面来具体说明一下 操作区别: 不能创建过滤器,但是可以使用由其他工作人员创建且属性被设为公有的过滤器。 在“查看Issue”的时候,对Bug数据列表不能进行任何命令操作。 在“我的视图”界面,没有“分派给我的(尚未解决)”状态的Bug数据列表,因为对 于报告人员来说,也不能将Bug直接指派给他。因此,相应的界面上没有这类 数据的显示。 5)查看人员 查看人员,顾名思义就是只具有查看权限的工作人员,在Mantis系统中,其权限最低, 功能主菜单也相应更少。比起开发人员、修改人员、报告人员的主菜单功能来说,查看人 员少了“报告Issue”的功能,下面来具体说明一下操作区别: 因为查看人员为权限最低的工作人员,因此对于Mantis系统的操作功能基本上没有使 用权限(除了个人资料的功能外),而只能查看各个项目的Bug流程及具体情况。 6)分派给我的工作 前面主要是说明各个角色的工作人员在使用该系统的功能时所具备的权限,以下说明 一下工作人员登录到该系统后,该如何对分派给我的工作进行操作。 当工作人员登录到系统并进入“我的视图”后,单击“分派给我的(尚未解决)”Bug 数据列表的Bug编号链接,则进入分派任务的Issue界面。在该界面,Issue根据各种情况 被分成7个数据块来显示。在这里主要介绍查看问题详情数据块。 在分派任务的Issue界面,上面第一个数据块显示的就是Issue的详细资料,在这个数 据表格可以进行如下13种操作。 查看注释:单击此链接,可直接跳转到该页面的注释数据。 发送提醒:单击此链接,可对某个工作人员发送提醒,该提醒会直接在该工作人 员的Issue监视视图里生成,并在该Issue的注释里也增加一条记录。注意:这 个功能除了查看人员之外,其他工作人员也可以使用。 Issue历史:单击此链接,将直接跳转到该页面的Issue历史数据。 打印:单击此链接,将直接在页面上生成这个Issue的详细数据,可以通过IE提 供的打印功能进行打印。 修改Issue:如果Issue的信息需要修改,则可以单击“编辑”按钮,直接进入Issue 修改页面。根据实际情况进行修改,然后单击“更新信息”按钮。如果不需要修改 了,可以单击“返回Issue”回到前面的页面。需要注意的是:修改Issue的功能 只有管理员、经理、开发人员和修改人员能使用。 分派给:这个功能可以把当前的Issue直接指派给选定的工作人员。注意:指派功能只 有管理员、经理、开发人员和修改人员能使用,而且只有管理员才能指派给自身。 将状态改为:这个功能可以对当前的Issue流程状态直接进行修改。注意:该功 能只有管理员、经理和开发人员可以使用。 监视Issue:这个功能可以把当前这个Issue置于所监视的Issue范围之内。注 意:这个功能除了查看人员之外,其他工作人员也可以使用。 置顶:这个功能可以将当前这个Issue显示在所有分派给我的(未解决)Issue中的第 一行。 创建Issue子项:这个功能主要用于创建与当前Issue相关的Issue,单击该按 钮进入图1-24所示的页面。页面上用红框标注的就是设定创建Issue子项后和 当前Issue的关系。同时,在“关联”数据块中会增加一条记录。注意:创建子项 功能只有管理员、经理、开发人员和修改人员才能使用。 关闭:这个功能是将该问题关闭,不再修改、讨论。注意:关闭功能只有管理员、 经理才能使用。 移动Issue:单击此链接可直接将该Issue转移到别的项目中去。注意:移动Issue功 能只有管理员、经理和开发人员才能使用。 删除Issue:单击此链接将直接删除该Issue,只有管理员才有这个权限。 图1-24Mantis的创建子问题操作 1.3.4Mantis应用举例 这里以一个股票行情分析软件stock在Linux系统中的升级改造为例,简单介绍下 Mantis的应用过程。 的应用过程举例 打开IE,输入localhost/mantis并按Enter键,应该就可以看到Mantis的登录 页面了。可以用默认用户名administrator和密码root登录进去,进行管理设置。 Mantis目录下有一个admin目录,如果在IE中打开这个目录下的文件进行 查看,您就会知道这个目录是进行Mantis管理的,使用这个模块可以检查Mantis是否安 装完全,对旧版本的Mantis进行升级,以及对Mantis的页面CSS文件进行修改。使用这 个管理模块时是不需要用户名和密码的,因此任何人都可以通过这个管理模块来查看 Mantis的系统信息。而且由于有升级模块,在这里还可以直接对数据库进行修改。因此, 如果被未授权的人打开,就可能出现不好的结果。最好按照系统给出的建议,在配置完成 后将这个admin目录删除。注意一定是删除而不是改名!改名后仍然是可以访问的。在添 加一个管理员用户后,删除系统默认的administrator用户。 (1)创建项目 进入Mantis项目管理页面(图1-25所示),从菜单中选择“管理”,再选择“项目管 理”。 图1-25项目管理页面 添加项目:单击“创建新项目”,本例以股票软件stock为被测软件,读者也可以自选项 目。在“项目名称”中输入项目名称stock,其他保持默认即可,如图1-26所示。 图1-26项目创建结果 添加分类:点击新添加的项目Stock,在分类中“添加分类”,如图1-27所示。 图1-27添加分类 (2)提交问题 选择项目:单击“提交问题”进入图1-28所示页面,选择提交问题所属的项目。(角色为 报告员) 图1-28选择项目 填写项目详细资料:单击“选择项目”,进入提交问题主界面,填写项目的详细资料,完 成后单击“提交报告”,如图1-29所示。 图1-29填写项目详细资料 图中有些选项是打了星的,表示这些是必填内容。填好问题报告后,单击“提交报告”, 就可以将此问题提交到系统,系统将通过E-mail通知项目组的相关人员。 (3)查看问题 只需单击工具栏上的“查看问题”,就可以看到刚刚创建的问题,如图1-30所示。 图1-30问题查看列表 (4)更新问题 点击问题编号进入问题详情页面,点击编辑,对问题进行更新,更新信息后,单击“更新 信息”,如图1-31所示。问题更新后,会给提交问题的报告员发送一封包含更新信息的 邮件。 图1-31填写问题更新信息 查看修改结果,如图1-32所示 图1-32查看修改结果 查看问题更新历史,如图1-33所示 图1-33查看问题更新历史 (5)创建自定义字段,对创建的字段进行修改,如图1-34所示。 图1-34创建、修改字段并查看结果 图1-34创建、修改字段并查看结果(续) (6)查看最后的缺陷情况,如图1-35所示。 图1-35缺陷情况列表 (7)统计报表 单击工具栏上的“报表统计”,以表格的形式对问题进行统计,可“按问题状态”、 “按严重性”、“按项目”等进行统计,如图1-36所示。 图1-36缺陷统计 软件中的缺陷处理流程举例 (1)管理员创建项目之后,项目经理admin对测试项目(stock)进行编辑,如图1-37所示。 图1-37编辑测试项目stock (2)添加分类,还可以设置、修改版本信息,如图1-38所示。 图1-38添加测试分类及版本信息 (3)测试人员kerry(报告人员)发现问题(stock软件安装编译的时候发生问题,软件终止 且不能继续运行),编写缺陷报告后提交:stock软件出现缺陷。缺陷状态自动设置为“新建”, 如图1-39所示 图1-39编写问题报告 (4)开发人员amyny登录后在查看问题页面看到状态为“新建”的bug后,打开问 题报告详细页面,按照问题重现步骤实现bug,发现bug可以重现,将缺陷状态改 为“已确认”。如图1-40所示。 图1-40将缺陷状态设置为“已确认” (5)项目经理审查后,表示对该bug认可,将缺陷状态设置为“认可”,并将其 分派给开发人员amyny。如图1-41所示。 图1-41将缺陷状态设置为“认可”并分派 (6)amyny发现分派给自己的问题,将问题解决后更新缺陷报告(说明缺陷已经被 解决,并说明软件的现状),并更新缺陷状态为“已解决”,如图1-42所示。 图1-42将缺陷状态设置为“已解决” (7)kerry发现bug已经被修复,对该bug进行验证,若验证未通过,可以重启问题, 若通过验证,不进行任何操作。如图1-43所示 图1-43对缺陷进行验证 (8)项目经理发现问题被解决,且未被重启,将该问题关闭。如图1-44所示。 图1-44关闭问题 (9)现在任何级别的用户查看问题页面时,都将发现该问题已经不存在了,如图 1-44所示。 图1-44问题页面中已经没有该问题了 3.应用小结 Mantis是基于PHP+MySQL的开源的Web缺陷跟踪系统,安装起来比较复杂。但如 果按前面介绍的简便安装方法进行安装的话,就会顺利得多。Mantis支持个人可定制的 E-mail通知功能,每个用户可根据自身的工作特点,只订阅相关的缺陷状态邮件;支持多项目、 多语言;支持灵活的权限设置,不同角色有不同权限,每个项目可设为公开或私有 状态,每个缺陷也可设为公开或私有状态,每个缺陷还可以在不同项目间移动;主页上可 发布项目相关新闻,方便信息传播;方便缺陷关联,除重复缺陷外,每个缺陷都可以链接 到其他相关缺陷。 Mantis非常适合中小软件企业软件项目研发和测试中的缺陷管理,但对于大型软件开 发和测试来说就显得有些不足或单薄了。基于Mantis来进行缺陷管理流程的学习和实践是 非常适宜和有意义的。