1.教会你爱的人爱你。 2.创造财富,享受生活,享受人生。 3.知识只有经过分享才能体现价值。 4.做最好的自己!

[转]软件测试及Bug管理经验谈

上一篇 / 下一篇  2010-06-22 15:52:57

 1、写在前面的话  
本人从事软件工作多年,对如何作测试、如何管理Bug上有一些体会和想法;正好看到网上关于这方面的讨论较多,不妨简单地写出来。本文就测试工作的组织及工具的选用介绍一下主要的思路,供大家参考。  
2、如何作好软件测试  
(1)清晰的质量概念  
常言道没有规矩不成方圆,产品交到您手上,各方面质量标准您要心中有数。安装卸装、功能性能、用户界面、出错与恢复......等等,您可列出大纲式的 CheckList,不一定很详细但一定要全。  不同的开发队伍,规范化水平不同,他们不一定能提交完善的规格书、品质书,如果您自己也没有这个概念,测试中就容易疏漏很多东西。比如,界面上的Button大小、用词、字体、颜色等有规范吗?页面响应时间呢?总之,您要让人家明白,您对这些方面是有要求的。 
(2)善作计划 
 按照CheckList,要测试的东西真的是很多,但人力、时间等资源是有限的,您需要考虑重要性、优先级等因素,作一个测试计划。确定测试内容是重要的,确定哪些不测或暂缓测试、同样也是重要的。针对需要测的内容,安排测试环境、人员、时间等,这些大的方面要与上司、相关人员讨论清楚,获得他们的支持。接下来再细化大的Check点,形成详细的测试方案。  
(3)明确进入退出标准  
需要明确进行测试所必须具备的条件,如:测试环境、送测产品的媒介形式、文档等。如果达不到基本要求可明确地提出来,暂时退出直到问题得到解决,否则很浪费大家时间的。如:环境不具备、根本就安装不上、有大量严重错误等。  
(4)对测试人员的要求 
 逻辑思维要强,说到底,测试就是一种逻辑覆盖,要用尽量少的测试实例覆盖尽量多的逻辑,这就是效率。细心很重要,在每一个测试点,您需要静下来好好想想,还有哪些可能的情况?细心一定会给您带来高产量的Bug的。 
 (5)关于自动测试工具
任何工具都是在人的安排下发挥作用,您自己如何测永远是第一位的。一般说来,自动测试工具只能在压力、容量等某些性能领域发挥作用,其他绝大部分需要的是勤奋和智慧。  
(6)不断积累、持续改善 
 您无论多么出色还是会漏掉Bug,您需要有一个方法能够不断地、持续地改善。分析总结原因、不断完善测试计划、测试方法等,并用文档整理出来,您的基础就会越垫越厚,工作越来越有效。  
(7)明确自己的责任 
 作为测试人员,您的任务就是找出缺陷、及时清晰的汇报给相关人员,让管理者清楚产品的质量状况。有时,您测出的问题他们决定不改,或者您认为没达到 Release标准他们决定Release,这是可能的。影响一个决定的因素是多方面的,有经费、市场、策略、质量等,虽然测试通常是产品开发的最后一关,但我还没有见过测试人员决定一切的。 
 3、Bug管理的作用层次  
软件开发的重点已经从技术转到管理与质量控制上了,如何按时做出符合质量的产品是我们最大的挑战,测试工作在开发过程中占据相当大的份额,Bug管理的作用可想而知。其作用基本上分以下几个层次。 
 (1)备忘与沟通 
 备忘是一个Bug管理系统最朴素、最基本的作用,好记性不如烂笔头,道理就这么简单。您什么时候测出了Bug、怎么测的、当时环境怎样,开发人员解决了没有、什么时候解决的、如何解决的,需要及时记录下来;问题一多,您靠记忆是记不住的。没有遗漏地记下所有问题点并确保适当地处理掉,是Bug管理的基本要求。  Bug的产生、变更需及时通知相关人员,他们也应能随时查询不同状况的Bug 数据,良好的沟通才能保证有效的协作。
  (2)监控  
作为项目管理者,您需要及时全面了解目前的项目状况,有些Bug是影响全局的严重错误,需要立即做出处理、决策;有些Bug需要决定改还是不改,或是放入以后版本、分配给其他人等等。所以项目管理者应该能够监控Bug状况。  (3)定量分析  
对Bug数据作定量的统计分析是更进一步的需求,如:bug数量随时间变化的趋势图、从测试者、责任人、缺陷级别、缺陷原因等不同角度统计缺陷数量等等。  
(4)环境集成  
更高一级的需求是与需求、测试方案、SourceCode、自动测试工具等关联起来。
 4、Bug管理工具的选用  

与选用任何一件商品一样,与您的需求、产品价格、服务等有关。  
(1)需求  
大部分开发机构对Bug工具的要求并不高,能记录问题点、能及时传达给相关人员,并监督他们都作了适当的处理,基本上就可以了。很多网友说某某系统怎么弄得这么复杂、这么贵,自己花一个星期就能做个可用的东西,说的就是这个意思。早期,市场上没有合适的Bug管理系统,我使用Excel作,说实在的也不错。当然啦,时代在进步,Bug管理系统可更好地实现这些需求。  稍微高一点的要求,可做定量的统计分析,挖掘信息潜在价值。  更高一级的需求,就是景上添花啦,可以与需求、测试方案、SourceCode、自动测试工具等环境集成。但事物总是两面性的,要真正发挥这些作用需要有完善的需求规格、测试方案,需要仔细规划自动化工具所产生数据的过滤、运用。一句话,对自身的规范化要求较高,否则这些功能听起来不错,实际利用不起来。 
 (2)服务与价格 
 从价格上说,有3类缺陷管理工具可供选用。  一是纯免费的,如Bugzilla、Mantis等。但免费的东西用户友好性差、安装难,您需要懂linux、perl、mySQL、 apache之类的东西;而且没服务,出一点问题您就上Internet淘技术文章去吧,如何安装、使用这些免费软件简直是一门学问了。  二是价格较低的国产软件,基本满足备忘沟通和监控的需要。如华创BMS,做得比较灵活,字段、权限、email通知、数据字典等都可以定制,适应性较强,统计报表的定制性也较强,可以做一定的定量分析。一般开发单位使用这类系统基本够用。  三是价格中等或较高,如微创的BMS、MI的TestDirector、IBM Rational的ClearQuest等。可以做一定的环境集成,如TD,可以把Requirement、Testplan、Bug关联起来,微创 BMS可以与MS Project、SourceSafe关联。价格稍高,几万到几十万之间,关键是这些高级功能您真的能利用上。  总的说来,适合您的、就是好的,微软内部的Bug管理界面也非常朴素,看上去有点像windows 95那个时代的小工具。另外服务是很重要的,问题解决不了耽误自己的时间不说,可别影响测试工作。  
5、典型Bug管理工具比较  
我经历过几个单位,如何管理Bug前后使用过Excel、自制的简易工具、Bugzilla、TD、华创BMS,再参考分析 ClearQuest、微创BMS,分析比较如下:
功能特征 产品TestdirectorClearQuest微创BMS< /strong>Bugzilla华创BMS
构架模式B/SC/S,B/SB/SB/SB/S
用户友好性一般
流程定制YYNYY
查询功能定制YYYYY
功能域定制YYYYY
附件支持YYYYY
用户权限分级管理YYYYY
Email通知YYYYY
批量修改NNNYY
导出至外部文档Word文档NNNExcel,HTML
报表定制功能Y强,集成Crystal Report有标准报表和高级报表,定制功能不够Y强,有标准报表,定制方便
数据更改历史YYYNY
支持平台WindowsWindows, UnixWindowsLinux,FreeBSDWindows
支持数据库Oracle, M$ Access, SQL Server等Oracle, M$ Access, SQL ServerSQL Server等MSDEMySQLAccess, SQL Server
安装配置的复杂度简单复杂容易有些复杂简单
售后服务国内有多家代理公司提供相关服务在国内有分公司提供技术支持技术支持和服务体系完备有技术支持和服务,在线升级
与其他工具集成本身又是测试需求、测试案例管理工具,与winRunner, LoadRunner集成,具有多种主流Case工具接口AddIn与rational公司的其它产品无缝集成,特别与Clear Case配合以可实现UCM的配置管理体系M$ VSS, Project开源配置管理工具CVS
公司背景世界主流测试软件提供商已被IBM合并,世界著名软件公司微软与上海市政府成立的世界著名开源项目国产软件
价格几十万,昂贵几十万,昂贵几万,适中免费一二千
官方网址http://www.mercuryinteractive.comhttp://www.rational.comhttp://www.wicresoft.comhttp://www.bugzilla.org/http://www.hc-software.com/
比较同意作者的观点,收藏一下。
原文:软件测试及Bug管理经验谈

TAG: Bug bug 软件测试 管理

赵金莹的个人空间 引用 删除 赵金莹   /   2011-01-05 09:37:56
5
 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

Open Toolbar