
| 实验6缺陷管理工具的使用 |
一、实验目的:
(1)掌握缺陷管理的流程;
(2)能用缺陷管理工具进行缺陷管理。
二、实验内容:
1.什么是缺陷管理?缺陷管理的流程是什么?
缺陷管理:
缺陷管理/软件缺陷管理(Defect Management)是在软件生命周期中获取、管理、沟通任何变更请求的过程(从变更的建议到变更的解决)。可以确保你的问题如需求或者缺陷被跟踪管理而不丢失。如果用PVCS Tracker工具就可以成功地进行缺陷管理。
软件缺陷是软件开发过程中的"副产品"。缺陷会存在于软件产品的整个生命周期中:可以是软件代码的问题、系统文档(开发文档和测试文档等)存在的问题,或者是用户的帮助文档和使用指南方面的问题等。
测试是发现缺陷的主要手段,也是它的主要目的。测试活动和开发活动一样,是项目质量保证不可或缺的重要部分。因此,对于测试活动的主要产物:缺陷,我们需要建立一个完善的缺陷管理流程,来对缺陷进行报告、查询、分类、跟踪、处理和验证等。
缺陷管理的流程
1.和缺陷相关的角色:
测试工程师:在这里主要是指发现和报告缺陷的测试人员。在一般流程中,他需要对这个缺陷后续相关的状态负责:包括相关人员对这个缺陷相关信息的询问回答,以及在build中的验证测试和后面正式版本的验证测试。
开发工程师:这里主要指对这个缺陷进行研究和修改的开发人员。同时,他需要对修改后的缺陷在提交测试人员正式测试验证之前需要进行验证测试。
缺陷评审委员会:主要由项目经理、测试经理、质量经理、开发经理以及资深的开发、测试工程师等组成。他们对缺陷进行确认以及将之分配给相应的开发人员进行修改。
版本经理:负责将已经解决的缺陷相关的配置信息融入到新的版本,提交新的测试和相关的验证测试。
2.缺陷状态的含释:
New(新缺陷):软件中新发现报告的缺陷,一般由测试人员提交。当然也可能是开发人员自己在单元或代码测试过程中提交,或从软件使用的最终用户或测试现场反馈得到的缺陷报告。
Accepted(接受):经过缺陷评审委员会的确认,认为缺陷确实存在。
Assign(分配):将这个缺陷分配给相关的开发人员来进行修改。
Open(打开):处于这个状态时,缺陷已经被确认并已经分配给相关的开发人员进行相关的修改。
Deliver(交付):解决缺陷问题的方法已经找到,并且已经将修改后的代码等打上标签,交付给版本经理。
Resolved(解决):版本经理将相关的标签等融入某个build,交付给相关的开发小组进行验证测试,测试通过,则缺陷状态改为解决状态。
Fixed(已修改):版本经理将已经解决的缺陷标签融入某个版本,交付给相关的测试小组进行验证测试,测试通过,则缺陷状态修改为已修改状态。
Closed(结束):缺陷状态处于已修改后,自动变为结束状态。
上面简单介绍的缺陷状态是在缺陷管理过程中主要的状态,或者是在缺陷处理顺利时所经历的状态。实际上,缺陷还有其他一些其他的状态,或者可以认为是辅助的状态,分别是:
Investigate(研究):当缺陷分配给开发人员时,开发人员并不是都直接可以找到相关的解决方案的。开发人员需要对缺陷和引起缺陷的原因进行调查研究,这时候我们可以将缺陷状态改为研究状态。
Query&Reply(询问和回答):负责缺陷修改的工程师认为相关的缺陷描述信息不够明确、或希望得到更多和缺陷相关的配置和环境条件、或引起缺陷时系统产生的调试命令和信息等。
Declined(拒绝):缺陷评审委员会通过相关的讨论研究,认为不是缺陷。或通过开发人员的调查研究,认为不是缺陷,开发人员可以将具体的理由加入到缺陷描述中,缺陷评审委员会根据此将缺陷状态修改为拒绝状态。
Duplicate(重复):缺陷评审委员会认为这个缺陷和某个已经提交的缺陷是同一个问题,因此设置为重复状态。
Defferred(延期):缺陷不在当前版本解决。
Unplanned(无计划):在用户需求中没有要求或计划。
3.缺陷的严重度和优先级分类:
缺陷的严重度指得是假如缺陷没有修改,由这个缺陷引发的问题对客户的影响程度。而缺陷的优先级指得是解决这个缺陷需要的时间(或者在多少时间内必须解决这个缺陷)。对于一个缺陷,我们首先会给它指定一个严重度,而后给出它的优先级。我们下面来简单介绍缺陷的严重度和优先级的分类,提供一些分类的建议和思想。
缺陷的严重度,我们可以通过1到4来划分:
严重度1-最高级别:产品在正常的运行环境下无法给用户提供服务,并且没有其他的工作方式来补救。我们可以将下面的问题定义为严重度1级:
1.问题会自发的影响系统的数据传输。
2.用户使用正常的操作步骤,就会影响系统提供的服务。
严重度2-高级别:极大的影响了系统提供给用户的服务,有其他的工作方式来缓解这种影响。举例:
1.系统中的一些单板会自动重启,单没有影响它们所提供的传输性能。
2.用户使用正常的命令,会导致系统重启或挂起,但不影响系统的数据传输。
严重度3-中等级别:系统需要增强的或存在的一些缺陷,但有相应的补救方法来解决这个缺陷。举例:
1.系统的一块单板失效了,但系统没有上报相应的告警。
2.功能特征设计不符合系统的需求,不影响系统的业务,并且有相应的补救方法。
严重度4-低级别:细小的问题,不需要补救方法或功能增强的请求。举例:
3.上报的信息不符合系统的需求,描述不精确或可能对用户有些误导。
4.GUI界面问题,不精确或可能对用户有些歧义。
缺陷的优先级,我们可以进行下面的分类:
紧急的(Emergency):缺陷会对系统引起重大问题,必须尽快解决。
必须的(Must):在客户的下个交付之前必须解决。
应该的(Should):在客户的下个交付之前应该解决。
可选的(Optional):在客户的下个交付之前可选择的解决。
不需要(Don’t):在客户的下个交付之前不需要解决(由于解决的风险太大或这个功能特征不需要等)。
2.常用的缺陷管理工具有哪些?请列举5种产品进行比较.
一、Bugzilla(免费,跨平台)
Bugzilla是一个Bug追踪系统设计用来帮助你管理软件开发。
Bugzilla是一开源Bug Tracking System,是专门为Unix定制开发的。但是在windows平台下依然可以成功安装使用.
Testopia是一款和Bugzilla集成到一起的test case management系统.
二、BugFree(免费)
BugFree是借鉴微软的研发流程和Bug管理理念,使用PHP+MySQL写出的一个Bug管理 系统。简单实用、免费并且开放源代码(遵循GNU GPL)。
三、Quality Center(商业,前身Mercury TestDirector ,跨平台)
HP Quality Center; 提供了基于 Web 的系统,可在广泛的应用环境下自动执行软件质量测试和管理。仪表盘技术使您可以了解验证功能和将业务流程自动化,并确定生产中阻碍业务成果的瓶颈。HP Quality Center 使 IT 团队能够在开发流程完成前就参与应用程序测试。这样将缩短发布时间表,同时确保最高水平的质量。
企业级的软件质量解决方案。
四、IBM Rational ClearQuest (商业,跨平台)
IBM Rational ClearQuest 是一款强大的软件开发测试工具。集成并自动化软件及系统开发的业务过程。V7.0 提供增强的需求跟踪、构建跟踪、企业测试管理,及部署跟踪的功能。这提供了从开发到部署的完整的审计跟踪,并扩展了跨生命周期的可追溯性。软件增强了开发流程并使之自动化,同时还提高了软件生命周期的可理解性、可预测性和可控制性。
五、JIRA(商业)
JIRA是集项目计划、任务分配、需求管理、错误跟踪于一体的商业软件。
JIRA功能全面,界面友好,安装简单,配置灵活,权限管理以及可扩展性方面都十分出色。
JIRA创建的默认问题类型包括New Feature、Bug、Task和Improvement四种,还可以自己定义,所以它也一是过程管理系统。
Jira融合了项目管理、任务管理和缺陷管理,许多著名的开源项目都采用了JIRA。
JIRA 是目前比较流行的基于Java架构的管理系统,由于Atlassian公司对很多开源项目实行免费提供缺陷跟踪服务,因此在开源领域,其认知度比其他的产品要高得多,而且易用性也好一些。同时,开源则是其另一特色,在用户购买其软件的同时,也就将源代码也购置进来,方便做二次开发。
3. 请选择2中列举的产品中的1种进行安装,演示缺陷管理的流程。(贴图示意)
搭建bugfree平台
搭建bugfree平台 发表于 2011-5-1
研发人员主要的三个角色: PM (Program Manager)、 Dev (Developer)、 Tester 。PM来定义需求、书写出来每个功能特性 (Feature)的设计文档(Spec),Dev写代码来实现这个Spec,Tester来测试 Dev做出来的东西是否符合 PM定义的 Spec。三个角色之间并无必然的上下级关系,只是分工合作完成某个功能(Feature)。我将之形容为“三权分立”,三者之间有效合作并制衡 ----via bugfree
此次合作开发主要完成校园平台---评教模块的开发,由我来担任小组长,我的主要角色从Dev跳到了Tester。作为一个Tester,发现了bug当然要及时的通知我们的开发人员。很早就听说bugfree的大名,今天下午自己搭建了一下
准备工作:Wamp5 1.7.4 & bugfree2
WAMP5是一个很容易安装的windows程序,执行一个安装程序就能一次性把Apache、MySQL、PHP都安装完毕。这些东西都是做什么的,我们下篇介绍
一:安装Wamp5
①安装过程很简单,一路默认安装就可以了。安装的最后,WAMP5提示你选择存放网页的服务器根目录所在的实际位置。一般默认的设置为“c:\\wamp\\www\”(本次安装选择了d:\\wamp\\www),你也可以选择其他位置。
②接下来是发送邮件的smtp网址设置,如"smtp.qq.com如本地服务器环境不需要发送邮件,保持默认的localhost即可。 使用WAMP5的电子邮件功能还需要设置邮箱。
③ 接着选择默认浏览器。从文件管理器画面中找到iexplore.exe(IE浏览器)或者firefox(火狐狸浏览器)即可,或者选择其他你喜欢的浏览器。
这个将作用于WAMP5菜单中启动localhost、PhpMyAdmin等页面。
④ 完成安装,默认运行Wamp5
⑥系统托盘中多了一个半月形的图标。左键点击如图。可以看到MySql服务已经启动了,Apache服务没有启动,说明80端口被占用了
注意:如果你的系统80端口被占用了话,Apache服务是启动不了的,可以通过Apache菜单下的Test Port 80,测试一下是哪个程序占用了80端口,将其结束掉即可。Wamp5给出的提示是:IIS(Internet信息服务)占用了80端口
80端口被占用的查看方法以及解除占用的方法
开始---->运行--->cmd---> netstat -an -p tcp -o(是欧而不是零) ,记下80端口对应的PID
打开任务管理器---查看---选择列---勾选PID, 根据PID结束对应的进程
⑦下面我们停掉IIS服务,将占用的80端口释放出来。
我的电脑--->(右键)管理--->服务和应用程序--->Internet信息服务 ,将默认网站关闭即可
我们再来启动一下Apache,OK了。
点击菜单中的“LocalHost”,出现下面画面即安装成功。
二:Wamp5配置
这里的配置主要是为了解决不能访问Apache服务器问题,也就是在浏览器中输入本地IP地址,不能打开前述的主网页。
Apache服务器默认安装是不允许访问的,需要授权设置,配置方法如下:
左键打开菜单,找到httpd.conf 并打开,找到“Deny form all”
有多处这个Deny from all ,全部修改为Allow from all ,如下
修改完后,保存。重启所有服务。在浏览器中输入你的本机IP:192.168.24.142 ,就可以看到和输入localhost 一模一样的页面,授权成功!
你还可以到局域网内的其他电脑上,在浏览器中输入你的IP地址,看看能不能打开主页。记住你的本机防火墙要关掉哦!
至此我们已经将PHP的运行环境完全搭建好了,下面我们来配置bugfree
三:bugfree的配置
将bugfree2.rar中的文件解压到刚才的服务器根目录(本次安装选择了d:\\wamp\\www)www文件夹下。在浏览中输入http://localhost/bugfree/install.php
浏览器提示“File 'Include/Config.inc.php' cannot be found.You can manually copy a new Include/Config.inc.php from Include/Config.inc.Sample.php.”
提示的意思是说include文件夹下木有Config.inc.php这个文件,要你把Config.inc.Sample.php改名为Config.inc.php。 按照它说的,我们进入到那个www--->bugfree--->Include文件夹下,将Config.inc.Sample.php拷贝一份,改名为Config.inc.php
再次在浏览器中输入http://localhost/bugfree/install.php ,看到了数据库连接失败
按照提示点击创建数据库,提示“数据库安装成功,继续安装”,接下来安装bugfree2 ,OK,安装成功!
四:配置发送邮件服务
我们离成功还有一步之遥,那就是配置好发送邮件功能。打开我们Include文件夹下的那个Config.inc.php ,找到Mail Setting
未修改前的源码:
修改后的源码:
保存修改,然后登陆bugfree平台测试一下,看看你的项目组成员能不能收到邮件! 好了,bugfree平台搭建完毕!
三、心得体会:
这次的实验让我对缺陷管理工具的使用有了进一步的了解了,也让我对软件BUG的了解了更深入了。
