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,分析比较如下:
功能特征\ 产品 |
Testdirector |
ClearQuest |
微创BMS |
Bugzilla |
华创BMS |
构架模式 |
B/S |
C/S,B/S |
B/S |
B/S |
B/S |
用户友好性 |
好 |
一般 |
好 |
差 |
好 |
流程定制 |
Y |
Y |
N |
Y |
Y |
查询功能定制 |
Y |
Y |
Y |
Y |
Y |
功能域定制 |
Y |
Y |
Y |
Y |
Y |
附件支持 |
Y |
Y |
Y |
Y |
Y |
用户权限分级管理 |
Y |
Y |
Y |
Y |
Y |
Email通知 |
Y |
Y |
Y |
Y |
Y |
批量修改 |
N |
N |
N |
Y |
Y |
导出至外部文档 |
Word文档 |
N |
N |
N |
Excel,HTML |
报表定制功能 |
Y |
强,集成Crystal Report |
有标准报表和高级报表,定制功能不够 |
Y |
强,有标准报表,定制方便 |
数据更改历史 |
Y |
Y |
Y |
N |
Y |
支持平台 |
Windows |
Windows, Unix |
Windows |
Linux,FreeBSD |
Windows |
支持数据库 |
Oracle, M$ Access, SQL Server等 |
Oracle, M$ Access, SQL Server |
SQL Server等MSDE |
MySQL |
Access, SQL Server |
安装配置的复杂度 |
简单 |
复杂 |
容易 |
有些复杂 |
简单 |
售后服务 |
国内有多家代理公司提供相关服务 |
在国内有分公司提供技术支持 |
技术支持和服务体系完备 |
无 |
有技术支持和服务,在线升级 |
与其他工具集成 |
本身又是测试需求、测试案例管理工具,与winRunner, LoadRunner集成,具有多种主流Case工具接口AddIn |
与rational公司的其它产品无缝集成,特别与Clear Case配合以可实现UCM的配置管理体系 |
M$ VSS, Project |
开源配置管理工具CVS |
无 |
公司背景 |
世界主流测试软件提供商 |
已被IBM合并,世界著名软件公司 |
微软与上海市政府成立的 |
世界著名开源项目 |
国产软件 |
价格 |
几十万,昂贵 |
几十万,昂贵 |
几万,适中 |
免费 |
一二千 |
官方网址 |
http://www.mercuryinteractive.com |
http://www.rational.com |
http://www.wicresoft.com |
http://www.bugzilla.org |
http://www.hc-software.com |
|