软件测试bugfree测试管理工具.docx
《软件测试bugfree测试管理工具.docx》由会员分享,可在线阅读,更多相关《软件测试bugfree测试管理工具.docx(21页珍藏版)》请在冰豆网上搜索。
软件测试bugfree测试管理工具
《软件测试》实验六
bugfree缺陷管理系统
计算机与信息工程系软件测试实验
一、实验目的
1.掌握缺陷管理工具的意图
2.掌握缺陷管理开源工具Bugfree
二、基本知识
1.BugFree简介[1]
1.1BugFree的来源BugFree是借鉴微软的研发流程和Bug管理理念,使用PHP+MySQL独立写出的一个Bug管理系统。
简单实用、免费并且开放源代码(遵循FreeBSDLicense>。
如何有效地管理软件产品中的Bug,是每一家软件企业必须面临的问题。
遗憾的是很多软件企业还是停留在作坊式的研发模式中,其研发流程、研发工具、人员管理不尽人意,无法有效的保证质量、控制进度,并使产品可持续发展。
针对这个问题,我们独立做出了BugFree,并且半年多来每天都在使用。
我们公司就是用它来管理Bug,不断提高产品质量的:
->
1.2BugFree名称的含义命名BugFree有两层意思:
一是希望软件中的缺陷越来越少直到没有,Free嘛;二是表示它是免费且开放源代码的,大家可以自由使用传播。
1.3为什么开放BugFree的源代码呢?
根据半年多的实践,觉得BugFree非常有用,我们公司的日常工作已经离不开它了。
虽然没有微软的Bug管理系统(以前叫Raid,现在是ProductStudio>的功能那么强大,但是处理方法和思想是完全一致的,起码我自己用起来的感觉和在微软时基本一样,值得向大家推荐。
我们是用开放源代码的PHP+MySQL开发的,目的就是希望跟大家分享BugFree。
而且开放源代码之后,期待高手不断改进它,大家都能用到更加强大的功能。
也算为中国的软件业做点小小的贡献:
->BugFree代码在我们的“数字神经系统”中非常独立,很容易拿出来给大家共享。
1.4BugFree仅仅是个工具
不过坦率的讲,BugFree仅仅是个工具而已,重要的是掌握其中蕴含的软件研发的流程思想,才能用好这个工具。
如果你以前没有用过Bug管理系统,那么一开始的时候也许你会觉得这个工具是在浪费时间,因为一个测试人员需要费神把发现Bug的详细步骤记录下来,有时还要贴一张示意图,这一切都不如当面说来得直接。
但是使用一段时间,你会发现BugFree很有用,它忠实的记录着每个问题的处理过程,不《自由软件BugFree简介---借鉴微软公司软件研发理念的Bug管理系统》(FreeSoftwareBugFree>2/7自由软件BugFree官方网站
断提醒你存在的问题,永远不会丢失和忘记。
如果你参与过较大软件工程或产品的研发,就会理解它对软件可持续发展是至关重要的。
而且研发的规模越大,BugFree的作用就会越大。
2.bugfree安装[2]
本文档已按照最新版本的BugFree2进行了更新,部分内容可能不适用于老版本的BugFree。
建议访问BugFree下载页面,下载并升级至最新版本的BugFree。
BugFree基于PHP和MySQL开发,是免费且开发源代码的缺陷管理系统。
服务器端在Linux和Windows平台上都可以运行;客户端无需安装任何软件,通过IE,FireFox等浏览器就可以自由使用。
BugFree2 在BugFree1.1的基础上,集成了TestCase和TestResult的管理功能。
具体使用流程是:
首先创建TestCase<测试用例),运行TestCase产生TestResult<测试结果),运行结果为Failed的Case,可以直接创建Bug。
TestCase标题、步骤和TestResult运行环境等信息直接复制到新建的Bug中。
如下图所示。
全新安装BUGFREE2
在安装BugFree2之前,需要首先安装Apache,PHP,Mysql支持软件包,例如XAMPP或EASYPHP等。
下面以XAMPP为例进行说明。
请先访问http:
//www.apachefriends.org/zh_cn/xampp.html 下载并安装最新的XAMPP版本。
1. 下载BugFree2安装包,解压后复制到XAMPP系统的htdocs子目录下。
如果是Linux系统,安装路径一般为/opt/lampp/htdocs/bugfree。
Window系统的安装路径一般为C:
\xampp\htdocs\bugfree。
2. 进入bugfree的安装目录,复制文件Include/Config.inc.Sample.php为新文件Include/Config.inc.php,编辑新创建的文件,修改数据库链接设置:
/*3.DefinetheusernameandpasswordoftheBugFreedatabase.*/
$_CFG['DB']['User'] = 'root'。
// 数据库登录用户名
$_CFG['DB']['Password'] = ''。
// 数据库登录用户密码
$_CFG['DB']['Host'] = 'localhost'。
// 数据库服务器地址
$_CFG['DB']['Database'] = 'bugfree2'。
// 指定BugFree数据库名称
$_CFG['DB']['TablePrefix']='bf_'。
// 数据库表前缀,默认为bf_。
除非有冲突,不建议修改或为空
$_CFG['DBCharset'] ='UTF8'。
// 数据库编码设置,保留默认值
3. 如果是Linux 系统,修改下列目录和文件的权限;如果是Windows系统,跳过这一步。
a> chmod777Data/TplCompile/
b> chmod777BugFile/
c> chmod777Include/Config.inc.php
4. 在浏览器访问http:
///bugfree。
如果设置的数据库不存在,按照提示创建数据库,再点击继续安装。
5. 点击“安装全新的 BugFree2”。
6. 安装成功后,显示首次登录的默认管理员帐号和密码,按照提示首先使用默认管理员用户名和密码登陆BugFree。
从BUGFREE2.0RTM或2.0.X升级
升级之前,为防止数据丢失,建议从浏览器退出BugFree,并备份相应的数据库和虚拟目录。
1. 下载BugFree2安装包,解压后复制到原BugFree安装目录下,覆盖原有文件。
2. 在浏览器访问http:
///bugfree。
3. 点击“从现有的BugFree2 升级”,完成升级。
从BUGFREE1.1升级
升级之前,为防止数据丢失,建议在浏览器退出BugFree,并备份相应的数据库和虚拟目录。
1. 下载BugFree2安装包,解压后复制到原BugFree的安装目录下,覆盖原有文件。
2. 进入Bugfree的安装目录,复制文件Include/Config.inc.Sample.php 为新文件Include/Config.inc.php,编辑新创建的文件,并复制Include/ConfigBug.inc.php的相应设置。
3. 点击“从BugFree1 升级”,完成BugFree1.1 到BugFree2的升级。
注意:
如果BugFree1.1升级到BugFree2之后显示乱码,请修改Include/Config.inc.php的$_CFG['DBCharset']值为空,再恢复原有的BugFree1.1数据库,重新进行升级
$_CFG['DBCharset'] =''
主界面
访问http:
///bugfree,输入用户名和密码登录成功后,显示BugFree主界面:
工程选择框①:
可以快速切换当前工程,工程模块框②和查询结果框⑥显示相应的模块结构和记录。
工程模块框②:
显示当前工程的模块结构。
点击某一模块,查询结果框⑥会显示所选模块的所有记录。
个性显示框③:
a> 指派给我:
显示最近10条指派给我的记录。
b> 由我创建:
显示最近10条由我创建的记录。
c> 我的查询:
保存查询框⑤的查询条件。
模式切换标签④:
切换Bug,TestCase和TestResult模式。
默认登陆为Bug模式。
查询框⑤:
设置查询条件。
查询结果框⑥:
显示当前查询的结果。
a> 自定义显示:
设置查询结果的显示字段。
b> 统计报表:
显示当前查询结果的统计信息。
c> 导出:
将查询结果显示的自定义字段导出到XML文件。
最多可同时导出5000条记录。
d> 导入<仅支持TestCase模式):
可以将导出的XML文件在Excel进行编辑后,再导入到BugFree中,实现TestCase批量编辑。
最大支持2M大小的XML文件。
e> 批量运行<仅支持TestCase 模式):
可以对查询结果的TestCase同时创建TestResult。
最多支持100个TestCase。
导航栏⑦:
显示当前登录用户名等信息。
创建界面
为了保持用户体验的一致性,新建Bug,TestCase和TestResult的界面布局基本保持一致,只是具体填写字段有所不同。
以新建Bug为例,在主界面模式切换标签选择Bug,点击[新建 Bug]打开新建Bug页面。
如下图,黄色标注字段为必填项。
BUG的3种状态
状态
说明
Active(活动>
Bug的初始状态。
任何新建的Bug状态都是Active。
可以通过编辑修改Bug的内容,并指派给合适的人员解决。
Resolved(已解决>
解决Bug之后的状态。
Closed(已关闭>
已修复Bug在验证无误之后关闭,该Bug处理完毕。
如果没有真正解决或者重新复现,可以重新激活,Bug状态重新变为Active。
BUG 生命周期
新建的Bug处于Active状态,可以通过编辑指派给合适的解决者。
解决Bug之后,Bug状态变为Resolved,并自动指派给创建者。
创建者验证Bug。
如果未修复,再重新激活,Bug状态重新变为Active;如果已经修复则可以关闭,Bug状态变为Closed,Bug生命周期结束。
已经Closed的Bug如果重新复现,也可以直接激活。
具体流程如下图所示。
BUG的七种解决方案
类型
解决方案
详细说明
三种无效的Bug
ByDesign
设计需求就是这么设计的
Duplicate
这个问题别人已经发现
NotRepro
无法复现的问题
四种有效的Bug
Fixed
问题被修复
External
外部原因(比如浏览器、操作系统、其他第三方软件>造成的问题
Postponed
发现的太晚了,下一个版本讨论是否解决
Won’tFix
是个问题,但是不值得修复
BUG 字段说明
Bug 标题:
为包含关键词的简单问题摘要,要有利于其他人员进行搜索或通过标题快速了解问题。
工程名/模块路径:
指定问题出现在哪个工程的哪个模块。
Bug处理过程中,需要随时根据需要修改工程或模块,方便跟踪。
如果后台管理指定了模块负责人,选择模块时,会自动指派给负责人。
指派给:
Bug的当前处理人。
如果不知道Bug的处理人,可以指派给Active,工程或模块负责人再重新分发、指派给具体人员。
如果设定了邮件通知,被指派者会收到邮件通知。
状态为Closed的Bug,默认会指派给Closed,表示Bug生命周期的结束。
抄送给:
需要通知相关人员时填写,例如测试主管或者开发主管等。
可以同时指派多个,人员之间用逗号分隔。
如果设定了邮件通知,当Bug有任何更新时,被指派者都会收到邮件通知。
严重程度:
Bug的严重程度。
由Bug的创建者视情况来指定,其中1为最严重的问题,4为最小的问题。
一般1级为系统崩溃或者数据丢失的问题;2级为主要功能的问题;3级为次要功能的问题;4级为细微的问题。
优先级:
Bug处理的优先级。
由Bug的处理人员按照当前业务需求、开发计划和资源状态指定,其中1的优先级最高,4的优先级最低。
一般1级为需要立即解决的问题;2级为需要在指定时间内解决的问题;3级为工程开发计划内解决的问题;4级为资源充沛时解决的问题。
其余选项字段可以通过编辑Lang/ZH_CN_UTF-8/_COMMON.php来自定义。
创建Build:
Bug是在哪个版本解决Build:
Bug是在哪个版本解决方案:
参考Bug的七种解决方案。
如果解决方案为Duplicated,需要指定重复Bug的编号。
处理状态:
Bug处理过程的附属子状态,例如LocalFix表示已在本地修复;CheckedIn表示修复代码已经提交;Can’tRegress表示修复的问题暂无法验证等。
机器配置:
测试运行的硬件环境,例如DellG2802G/200G。
关键词:
主要用于自定义标记,方便查询。
关键词之间用逗号或者空格分隔。
例如,对于跨团队的工程开发,可以约定一个关键词统一标记工程。
相关 Bug:
与当前Bug相关的Bug。
例如,相同代码产生的不同问题,可以在相关Bug注明。
相关 Case:
与当前Bug相关的Case。
例如,测试遗漏的Bug可以在补充了Case之后,在Bug的相关Case注明。
上传附件:
上传Bug的屏幕截图,Log日志或者CallStack等,方便处理人员。
复现步骤:
[步骤]要描述清晰,简明扼要,步骤数尽可能少;[结果]说明Bug产生的错误结果;[期望]说明正确的结果。
可以在[备注]提供一些辅助性的信息,例如,这个bug在上个版本是否也能复现,方便处理人员。
测试用例在导航栏点击TestCase,即切换到TestCase模式,点击[新建Case],创建测试用例。
可以通过页面上方的[复制]按钮快速创建类似的测试用例。
TESTCASE 状态
Case状态
详细说明
Active
标示有效的测试用例。
所有新建Case都默认为该状态
Blocked
当前Case因为其他原因,无法正常运行。
通过编辑Case进行修改
Investigating
待研究确认的测试用例。
通过编辑Case进行修改
Reviewed
通过测试用例评审的用例。
通过编辑Case进行修改
TESTCASE 字段说明
Case 标题:
测试点的简单描述<30字以内)或测试的目的。
工程名/模块路径:
指定测试用例对应的工程名称和模块路径。
指派给:
执行TestCase的人员。
如果不知道具体的用例执行人员,可以指派给Active 。
抄送给:
需要通知相关人员时填写。
可以同时指派多个,人员之间用逗号分隔。
优先级:
Case执行的优先级。
1:
冒烟测试及每次测试都需执行的用例,严重程度最高;2:
覆盖产品所有主要功能;3:
次要功能;4:
细节功能<资源有限时,可以不执行)。
其余选项字段可以通过编辑Lang/ZH_CN_UTF-8/_COMMON.php来自定义。
标记删除:
用来标记已失效的用例,再通过查询条件进行排除。
关键词:
主要用于自定义标记,方便查询。
关键词之间用逗号或者空格分隔。
例如,对于跨团队的工程开发,可以约定一个关键词统一标记工程。
显示顺序:
通过输入0~255之间的任一整数实现对TestCase的自定义排序。
例如,按照业务执行的流程重新排列Case的显示顺序。
TestResult只能通过运行已有测试用例来创建。
打开一个已有的测试用例,点击页面上方[运行]按钮,进入创建TestResult页面。
Case标题、模块路径和步骤等信息自动复制到新的TestResult中。
同时,TestResult相关Case自动指向该测试用例。
记录执行结果针对执行结果为Fail的TestResult,点击页面上方的[新建 Bug]按钮,创建新Bug。
Result标题、模块路径、运行环境和步骤等信息自动复制到新的Bug中。
同时TestResult相关Bug指向新建Bug。
TESTCASE的执行结果
Case状态
详细说明
Passed
运行成功的TestCase
Failed
运行失败的TestCase
设置查询条件
BugFree默认显示2个查询组,每组有3个查询字段<总共6个查询字段)。
假设要查询工程Project1,Project2和Project3从2008年1月1日起所有未关闭的Bug,可以设置如下的查询条件:
查询技巧:
1. 点击[保存查询]按钮,可以将当前的查询条件保存到右下角个性查询框“我的查询”标签页。
点击已保存的查询,可以对查询条件进行编辑和修改。
2. 日期类型字段支持相对日期的查询。
例如,创建日期 =-1将查询所有昨天创建的Bug。
3. 通过“包含”操作,可以指定多个查询值。
例如,创建者包含user1,user2,搜索结果将显示两个创建者的Bug。
注意:
BugFree默认支持6个查询字段,可以通过修改Include/Config.inc.php下面的值更改查询字段的数量。
$_CFG['QueryFieldNumber']= 6。
//ThefieldsnumbertoqueryinQueryBugForm.php
快速筛选
在搜索结果列点击某一字段的值,可以快速进行筛选,筛选列高亮显示。
例如,要查看所有解决方案为ByDesign的Bug,如下图,点击任一解决方案为ByDesign的Bug。
注意:
筛选会忽略当前设置的查询条件。
自定义显示字段
在查询结果框右上角,点击[自定义显示]链接,可以显示或隐藏查询结果的字段和显示顺序。
查询结果排序
点击搜索结果标题某一字段的标题栏,可以按该字段对搜索结果进行排序。
再次点击则切换升序或降序。
例如,需要查看最近更新的Bug,首先添加“最后修改日期”自定义字段,再在查询结果标题栏点击该字段。
在查询结果框右上角,点击[统计报表]链接打开新窗口。
统计报表可以显示Bug,TestCase或TestResult当前查询结果的统计信息。
在统计报表页面的左侧选择统计项,点击[查看统计]按钮,右侧显示Flash统计图表。
如下图:
发送邮件通知
在安装过程或者通过编辑Include/Config.inc.php文件可以启用邮件通知功能。
例如,修改如下SMTP服务器信息。
/*9.SMTPparamsetting.*/
$_CFG['Mail']['SendParam']['Host'] = 'localhost'。
//Theservertoconnect.Defaultislocalhost
$_CFG['Mail']['SendParam']['SMTPAuth']= false。
//WhetherornottouseSMTPauthentication.DefaultisFALSE
$_CFG['Mail']['SendParam']['Username']= ''。
//TheusernametouseforSMTPauthentication.
$_CFG['Mail']['SendParam']['Password']= ''。
//ThepasswordtouseforSMTPauthentication.
BugFree可以实时和定时发送邮件通知。
在新建Bug或TestCase并保存后,指派给和抄送给将收到实时邮件通知。
可以在“抄送给”编辑框输入多个用户帐号或者邮件地址,地址之间用逗号分隔。
如下图,BugFree自动按照输入的字母对用户名进行筛选。
BugFree还可以发送定期邮件通知。
1. 如果需要定期对所有未关闭Bug的当前指派者发送邮件提醒,在Linux环境下定期执行bugfree/Shell/NoticeBug.sh;Windows环境下则定期执行bugfree/Shell/NoticeBug.bat。
2. 如果需要每周接收各工程/模块的过去7天新增Bug和超过7天未处理的Bug的邮件通知:
a> 后台管理页面,编辑指定的工程,在通知邮箱编辑框输入邮件接收的地址。
b> Linux环境下,通过crontab定期执行bugfree/Shell/StatBug.sh;Windows环境下则可以通过定时任务程序定期执行bugfree/Shell/StatBug.bat。
在BUG和CASE中使用UBB代码
BugFree2.0 提供了对基本UBB代码的支持,可以在编写复现步骤和注释时添加链接、设置字体、嵌入图像等,也可以直接引用bug,case和result。
例如,编辑状态下输入文字:
链接[url][/url]
字体[b]加粗[/b],[i]斜体[/i],[u]下划线[/u]
引用bug#[bug]100[/bug],case#[case]11[/case],result#[result]6[/result]
嵌入图像[img]
保存后的显示效果:
更改上传附件的大小
BugFree默认附件大小为1000K,可以编辑Include/Config.inc.php文件下列设置更改上传文件大小。
$_CFG['File']['MaxFileSize'] =1024* 1000。
//Themaxfilesize(Byte>.
使用快捷键
以下快捷键需要浏览器支持。
页面
快捷键
说明
主页面
Ctrl+G
弹出一个对话框。
输入ID后,直接打开相应编号的Bug,Case或Result
Bug,Case和Result
通用快捷键
Alt+P
显示查询结果的上一个记录
Alt+N
显示查询结果的下一个记录
Alt+E
编辑当前记录
Alt+S
保存记录
Bug页面
Alt+R
解决Bug
Alt+C
关闭Bug
Alt+A
激活Bug
Case页面
Alt+C
复制Case
Alt+R
运行Case
Result页面
Alt+B
创建Bug
BUGFREE管理员角色
BugFree的管理员包括系统管理员、工程管