在软件毛病的处理过程中,测试职员须要进行软件毛病跟踪,这就哀求测试职员节制软件毛病跟踪系统的利用和软件毛病跟踪的方法,以及图表的制作方法。
软件毛病跟踪管理是测试事情的一个主要部分。测试的目的是尽早创造软件系统中所存在的毛病,而对软件毛病进行跟踪管理的目的是确保每个被创造的毛病都及时得到处理。软件测试是环绕毛病进行的,对毛病的跟踪管理一样平常须要达到以下目标。

(1)确保每个被创造的毛病都能够被办理。“办理”的意思不一定是改动,也可能是其他处理办法(如延迟到下一个版本中改动或者由于技能缘故原由不能被改动)。总之,对每个被创造的毛病的处理办法必须能够在开拓组织中达成同等。
(2)网络毛病数据并根据毛病趋势曲线识别测试所处阶段。
(3)决定测试过程是否可以结束。通过毛病趋势曲线来确定测试过程是否可以结束是常用并且较为有效的一种办法。
(4)网络毛病数据并对其进行数据剖析,作为组织过程改进的财富。
上述的第(1)条随意马虎受到重视,第(2)(3)(4)条款的却很随意马虎被忽略。实在,在一个运行良好的组织中,毛病数据的网络和剖析是很主要的,从毛病数据中可以得到很多与软件质量改进干系的数据。
软件毛病跟踪系统在实际软件测试中还须要用到软件毛病跟踪管理系统,以便描述报告所创造的毛病、处理软件毛病、跟踪软件毛病和天生软件毛病跟踪图表等。建立一套软件毛病跟踪系统的意义如下:
(1)软件毛病跟踪系统中的软件毛病跟踪数据库,不仅可以清楚地描述软件毛病,还能供应统一的、标准化的软件毛病报告,这样就可以使所有职员对软件毛病的理解保持同等。
(2)毛病跟踪数据库可以自动天生软件毛病的编号,还有剖析和统计的选项,这是手工方法无法实现的。
(3)在毛病跟踪数据库的根本上,可快速天生必要的、知足查询条件的毛病报表、曲线图等,测试小组、开拓小组甚年夜公司的高层都可以随时节制软件产品质量的整体状况或软件测试/开拓的进度。
(4)毛病跟踪数据库还供应了软件毛病属性并许可开拓小组的成员根据毛病对项目的相对和绝对主要性来进行软件毛病的修复。
(5)在软件毛病生命周期中利用毛病跟踪系统来管理软件毛病,从最初的报告到末了的办理,确保了每一个毛病都不会被忽略。同时,它还可以使测试职员的把稳力集中在那些务必尽快修复的严重毛病上。
(6)当软件毛病在其生命周期中发生变革时,开拓职员、测试职员以及管理职员必须迅速熟习新的软件毛病信息。一个良好的软件毛病跟踪系统可以很快地获取历史记录,并在检讨毛病的状态时参考历史记录。
(7)在软件毛病跟踪数据库中关闭任何一份软件毛病报告,都可以被记录下来。当产品送出去时,每一份未关闭的软件毛病报告都供应了有效的技能支持,并且证明测试职员找到了分外领域溘然涌现的事宜中的软件毛病。
对付项目管理,毛病跟踪是很主要的一个环节,它除了可以对需求的完成度进行掌握,还可以对软件本身的质量进行掌握,从而担保软件开拓迭代的顺利进行。
以前软件项目开拓中的毛病跟踪都是通过Excel 表格的形式来完成的,利用这种表格虽然也可以进行项目管理和项目实行度的交互,但效率与实时性不高,也不好掩护和统计,因此就涌现了毛病跟踪系统,通过软件技能来办理软件项目的管理问题。
目前毛病跟踪系统比较多,比较有名的如 Mercury的 TestDirector/Quality Center、IBM的ClearQuest、Atlassian的Jira、易软开源小组的BugFree、Seapine的TestTrack以及本文将要重点先容的Bugzilla和Mantis,如下图所示。
软件毛病管理工具
1.Bugzilla毛病跟踪系统
Bugzilla是Mozilla公司供应的一个开源软件测试毛病管理工具,其主界面如下图所示。它具有完善的毛病跟踪体系,包括报告毛病、查询毛病记录并产生报表、处理办理、管理员系统初始化和设置四部分。
Bugzilla系统主界面
(1)Bugzilla的特点
Bugzilla具有以下几个特点。
① 基于Web办法,安装大略,运行方便快捷,管理安全。
② 有利于毛病的清楚传达。
③ 系统灵巧,强大的可配置能力。
④ 自动发送E-mail,关照干系职员。
(2)Bugzilla新建账号
下面先容如何新建一个Bugzilla账号。
① 单击“New Account”链接,输入E-mail地址(如:×××@office)然后单击“Create Account”按钮。
② 稍后,该邮箱会收到一封邮件。邮件包含登录账号(与 E-mail 地址相同)和口令,这个口令是Bugzilla系统随机天生的,可以根据须要进行变动。
③ 在页面中单击“Log In”链接,然后输入账号和口令。末了单击“Login”按钮。
(3)毛病报告状态分类和毛病处理见地
毛病报告状态分类:待确认的(Unconfirmed)、新提交的(New)、未办理的(Reopened)、已办理的(Resolved)、已验证的(Verified)、已关闭的(Closed)。
毛病处理见地:已修正(Fixed)、不是问题(Invalid)、不修正(Wontfix)、往后版本办理(Later)、保留(Remind)、重复(Duplicate)、须要更多信息(Worksforme)。毛病的状态和处理见地如下表所示。
状态和处理见地
(4)填写项目
指定处理人(Assigned To):可以指定一个人处理,如不指定处理人,系统就会默认管理员为处理人。
超链接(URL):输入超链接地址,勾引处理人找到与软件毛病报告干系联的信息。
概述(Summarize):该当担保处理人在阅读时能够明白提交者在进行何种操作时创造了什么样的问题。如果是通用组件部分的测试,则必须将这一通用组件对应的功能名称写入概述,从而方便日后的查询。
硬件平台和操作系统(Platform and OS):测试所须要的硬件平台(一样平常会选择PC)和测试运用的操作系统。
版本(Version):产生毛病的软件版本。
毛病报告优先级(Priority):分四个等级,即P1—P4,P1的优先级别最高,然后逐级递减。
毛病状态(Severity):Blocker,阻碍开拓和/或测试事情;Critical,去世机,丢失数据,内存溢出;Major,较大的功能毛病;Normal,普通的功能毛病;Minor,较轻的功能毛病;Trivial,产品外不雅观上的问题或一些不影相应用的小毛病,如菜单或对话框中的笔墨拼写或字体问题等;Enhancement,建议或见地。
报告人(Reporter):毛病报告提交者的账号。
邮件抄送列表(CC List):毛病报告抄送工具。此项可以不填写,如果需抄送多位收件人,可将收件人地址用“,”隔开。
从属关系(Affiliation):Bug“ID”depends on,如果某毛病必须在其他毛病修正之后才能进行修正,则在此项目后填写该毛病的编号;Bug“ID”blocks,如果该毛病的存在影响了其他毛病的修正,则在此项目后填写被影响的毛病的编号。
附加描述(Additional Comments):在毛病跟踪的过程中测试职员与开拓职员通过附加描述进行沟通,开拓职员可以在这里填写毛病处理记录和毛病处理见地,测试职员可以在此处填写返测见地以及对在返测的过程中创造的新问题的描述。
毛病查找:可以通过页脚中的“Query”链接进入查找界面,根据查找的需求在界面中输入关键字或选择工具。查找功能可以进行字符、字符串的匹配查找,并且具有布尔逻辑的检索功能。
在一定的权限下,还可以通过在查找页面中选择“Remember this as my default query”对当前检索页面中设定的项目进行保存,往后就可以直接从页脚中的“My bugs”中调用这个项目来进行检索。
还可以在“Remember this query,and name it:”后面输入字符,为当前检索页面中所设定的项目命名,同时选中“and put it in my page footer”,则往后这个被命名的检索就会涌如今页脚中。
毛病列表:如果运行了毛病检索功能,系统则会根据须要列出干系的项目。可以通过列表页脚处的“Change Columns”设定在列表中显示的毛病记录中的字段名称。如果拥有一定的权限,还可以通过“Change several bugs”对列表中所列出的毛病记录进行修正,例如,修正毛病的所有者。
通过“Send mail to bug owners”可以向列表中列出的毛病记录的所有者发送信息。如果对查找出的结果并不满意,希望变动检索设定,可以通过“Edit this query”完成。一样平常情形下,检索出的结果仅显示基本信息,可以通过“Long Format”来查看更为详细的内容。
(5)用户属性设置
① 账号设置(Account Settings):可以变更自己账号的基本信息,如真实姓名、口令、E-mail地址。但为安全起见,在此页进行任何信息变动之前都必须输入当前的口令。当变动了E-mail地址,系统会给新旧E-mail地址分别发送一封E-mail地址变动确认邮件,用户必须到邮件中指定的地址对变动良行确认。
② E-mail设置(E-mail Settings):可以在此选择希望在什么条件下收到哪些与自己干系的邮件。
③ 页脚(Page Footer):设定“Preset Queries”是否在页脚中显示。
④ 用户权限(User Permissions):可以查看自己账号当前所拥有的权限种类。
2.Mantis毛病跟踪系统
Mantis毛病跟踪系统是一个基于PHP技能的轻量级开源毛病跟踪系统,在功能、实用性上可以知足中小型项目的管理及跟踪需求。
(1)Mantis的基本特性
Mantis具有以下基本特性。
① 个人可定制 E-mail 关照功能。每个用户可依据自身的特点只订阅与自己干系的毛病状态邮件。
② 支持多项目、多措辞。
③ 不同角色有不同权限,权限设置十分灵巧。每个项目以及毛病都可将权限设置为公开或私有,每个毛病也可以在不同的项目之间进行移动。
④ 方便信息的传播。在主页可以发布与项目干系的新闻。
⑤ 具备毛病关联功能。除重复毛病外,每个毛病都可以链接到与其干系的毛病。
⑥ 毛病报告可打印或输出为CSV格式,支持可定制的报表输出、用户输入域。
⑦ 供应各种毛病的趋势图和柱状图,为项目状态剖析供应主要依据。如果还是不能知足需求,还可以把数据输出到Excel中进行进一步的剖析。
⑧ 流程定制十分方便并且符合标准,知足一样平常的毛病跟踪需求。
(2)Mantis的安装步骤
安装之前须要下载安装包mantis0.19.2、mysql3.1.8、PHP5.0.3、apache2.0.52。Mantis系统主界面如下图所示。
Mantis系统主界面
安装下载的软件,假设各软件的安装目录为C:\mantis-0.19.2、C:\mysql-3.1.8、C:\php-5.0.3、C:\apache-2.0.52。
下载ZIP版的程序,直接解压到一个目录。如果没有ZIP版,下载Windows Installer版本。
① 安装Apache。
运行安装程序,安装时选择安装给当前用户,采取8080端口,不必安装成做事。
假设在 Windows 下安装,运行 C:\apache-2.0.52\bin\apache.exe,在 IE 地址栏输入http://localhost:8080/,可以看到安装成功。如果安装成80端口的做事,则输入http://localhost/。
其他软件直接解压到自己想要的目录。如果下载的是Installer版本,也直接运行安装程序,只是安装后多几个启动的快捷菜单,外加一些默认设置。
② 为Apache配置PHP。
打开C:\apache-2.0.52 \conf\httpd.conf文件,添加如下内容到文件尾。
#PHP 5
Load File "c:/php-5.0.3/php5ts.dll"
Load Module php5_module "c:/php-5.0.3/php5apache2.dll"
Add Type application/x-httpd-php .php
#PHP.ini path
PHP IniDir "c:/php-5.0.3"
③ PHP配置。
将C:\php-5.0.3下的php.ini-dist复制一份,并改名为php.ini。
查找include_path,改为include_path=".;c:\php-5.0.3\pear"。
查找extension_dir,改为extension_dir="c:\php-5.0.3\ext"。
查找php_mysql.dll,将这一行前面的“;”号去掉。
保存文件。
④ 为Apache安装Mantis系统。
打开C:\apache-2.0.52 \conf\httpd.conf文件,添加如下内容到文件尾。
Alias /mantis "c:/mantis-0.19.2/"
<Directory "c:/mantis-0.19.2/">
Options Indexes
AllowOverride None
Order allow,deny
Allow from all
</Directory>
查找 Directory Index,在其后添加 index.php。添加后为:Directory Index index.html index.html.var index.php。
⑤ 创建数据库。
运行C:\mysql-3.1.8\bin\mysqld,启动数据库。
mysql -uroot -p
create database bugtracker;
use bugtracker;
source c:\mantis-0.19.2\sql\db_generate.sql;
当然也可以用其他GUI工具创建数据库。
⑥ Mantis配置。
将C:\mantis-0.19.2下的config_inc.php.sample复制一份,并改名为config_inc.php。
如果改了root的密码,打开这个文件,设置$g_db_password='yourpassword'。
⑦ Windows环境。
将C:\php-5.0.3添加到path中。
⑧ 启动毛病跟踪系统。
首先启动 Apache和 MySQL,在地址栏输入 http://localhost:8080/mantis/index.php或者http://localhost/mantis/index.php。看到初始页面。用 administrator/root 登录,Mantis 开始事情。
⑨ 邮件做事器配置。
在 C:\php-5.0.3\php.ini 文件中查找 smtp,将 localhost 改为发件做事器,如 SMTP=smtp.162.com。
在php.ini文件中查找sendmail_from,将前面的分号去掉,并在后面填上邮件地址。在 C:\mantis-0.19.2\config_inc.php 文件中添加$g_smtp_host='smtp.162.com';$g_smtp_username='yourusername';$g_smtp_password='yourpassword';$g_phpMailer_method =2;。
查找$g_return_path_email,将后面的邮件地址改为有效的地址,这一点非常主要,否则将无法正常发送激活注册的邮件。
config_inc.php其他邮件地址也改为有效的地址。
$g_smtp_username和$g_smtp_password在做事器须要验证时用,不需验证时不用加,或设为$g_smtp_username=',$g_smtp_password='。
现在可以注册新用户,并利用发送邮件功能了。
⑩ 中文显示。
在Apache的httpd.conf配置文件中将AddDefaultCharset ISO-8859-1改为Add Default Charset OFF。
在C:\mantis-0.19.2\config_inc.php中添加$g_default_language='auto';。
[11] 文件上传。
将如下内容添加到config_inc.php中。
$g_allow_file_upload=ON;
$g_file_upload_method=DISK;
在C:\mantis-0.19.2下面新建一个upload目录。
当以管理员身份登录、新建项目时,上传文件路径填upload即可。如果要为每一个项目指定不同的目录,可以先在 upload 下建一个 projectname,在上传文件路径那一项填写upload\projectname,把稳不要用中文目录名,目录名也不要带空格。
软件毛病跟踪的方法和图表软件毛病数据是天生各种各样测试剖析、质量掌握图表的根本,干系职员可以从这些毛病剖析图表中看到毛病修复的详细过程,剖析毛病发生的根本缘故原由,提高跟踪管理软件毛病的效率。
1.软件项目如何发展
软件毛病打开/关闭图表是最基本的毛病剖析图表,它可以供应大量有关软件毛病状态、项目进度、产品质量、开拓职员和测试职员事情情形的信息。
(1)项目当前的质量情形表示在打开软件毛病总数曲线和关闭软件毛病总数曲线的走势。
(2)项目当前的开展进度表示在关闭软件毛病总数曲线和打开软件毛病总数曲线的韶光差。
(3)软件毛病是否及时被开拓职员修复,表示在关闭软件毛病总数曲线是否快速上升。
(4)测试职员是否迅速地去验证软件毛病,表示在关闭软件毛病总数曲线是否紧跟在打开软件毛病总数曲线的后面。
管理职员可以理解项目详细在哪个韶光节点涌现问题,折衷开拓职员与测试职员两者之间的关系,积极推动项目的开展,提高项目发布时的质量。下面通过软件毛病打开/关闭图剖析项目的进展情形,如下图所示。
当打开软件毛病总数曲线(图的顶部曲线)的走势趋于水平,一样平常就可以认为测试靠近尾声。
关闭日期在打开日期之后,这种滞后情形源于将修复的软件毛病引入产品并将该产品发送至测试组进行配置测试和回归测试所引起的延迟。
软件毛病打开/关闭图
找到软件毛病的速率逐渐减慢。创造软件毛病的极限在2015年6月16日旁边。接下来在系统测试的第二周期创造少数几个软件毛病,在末了的周期中没有创造软件毛病。
在测试和修复的过程中,两条曲线不断趋近,当这两条曲线汇聚到一个点时,开拓职员基本上已经完成修复软件毛病的任务。关闭软件毛病总数曲线紧跟在打开软件毛病总数曲线之后,这表示出项目成员正在快速地推进问题的办理。
2.软件毛病为何发生
剖析软件毛病的根本缘故原由有助于测试职员决定哪部分的功能须要增强测试,还可以使开拓职员把把稳力集中到那些引起最严重、最频繁问题的方向。软件毛病紧张涌如今三个区域——用户界面、逻辑以及规格解释书。
如下图所示,这三方面的问题霸占创造软件毛病总数的74%。从测试风险角度来看,这些区域很可能是隐蔽毛病比较多的地方,须要进行更加细致、深入的测试。站在开拓的角度来看,这些便是须要提高代码质量的紧张区域。如果某个产品前后共创造10000个毛病,代码在这三个区域减少10个百分点,则总毛病数就能减少740个(7.4%),这样一来代码的质量改进效果就非常显著。
根本缘故原由图表
3.开拓职员如何相应
关闭软件毛病周期图表将开拓职员对软件毛病的相应量化到软件毛病报告中,如下图所示。
关闭软件毛病周期图表
一个稳定的关闭软件毛病周期图表上,一天到另一天的变革相对较小。上图中的关闭软件毛病周期曲线较为稳定,可以接管。软件毛病修复的韶光最好掌握在一周半之内。