这个冰清的学习天地,以后我会把自己觉得重要的学习资料和大家一起分享。
当好测试组长之测试计划的制定
上一篇 /
下一篇 2009-12-30 15:14:20
/ 个人分类:测试
每个软件都要进行
测试,每个软件公司也都会进行测试,但通常,测试都被当作最简单、最没有技术含量的
工作,搞技术的人不愿意做,全都交给一群新人。其实测试是软件质量的最后一道关卡,没有测试,软件的质量很难保证。
测试的过程可以分为计划、分析、设计、实现、执行、报告这几个阶段。诚然,执行测试的确不需要多少技术,新人经过一两天培训就能上手。但是,计划、分析、设计、实现、报告等过程,没有几年的软件工作经验,是不可能完成的。下面先来说说测试计划。
测试的目的、定义和范围
制定测试计划时,首先必须明确的是测试的目的、定义和范围。
一般来说,测试的目的有三种:
* 防止发生bug
* 找出bug
* 保证软件质量
找bug的测试用例和保证质量的测试用例是完全不同的。比如,回归测试的目的是防止发生bug,每次产品发布都应该执行,所以应尽量让测试用例能自动执行,减少测试执行的工作量;而为了找出bug,就要尽可能全面地考虑各种特殊值、错误处理、安全问题等;而保证软件质量的测试,则应当模拟完整的业务流程。
至于定义,也许你会觉得,“地球人都知道,有写的必要吗?”你可以去问问你的组员,单元测试、综合测试和系统测试是什么意思,可能十个人会给出十个答案。在流程完善的大公司里还好些,小公司里这种现象会很严重。所以有必要把大家对测试的认识统一起来。
范围也是必须明确的因素。测试整个系统,还是特定的模块?在什么硬件、什么操作系统上测试?这些也都必须事先明确。
测试的读者对象
接下来还要明确,测试计划是给谁看的?可能你会认为是给测试者看的,那么该计划是否需要给客户看?是否其他项目干系人如上司、公司决策者会关心该计划?测试计划应该根据读者对象,写出读者最想知道的内容。
测试的环境
接下来就是测试环境了。这恐怕是最复杂的因素了:
* 操作系统是XP,Vista,还是Win7?
*Linux的话,是RHEL4,5还是CentOS?要不要支持Debian、SuSE等?
* 浏览器是IE、Firefox还是Opera?IE的话需要测试什么版本?
*数据库是MySQL,Oracle还是SQLServer?
* 硬件配置有什么要求?
* 网络环境有什么特殊要求(如IP地址、网络拓扑结构、带宽等)?
* 服务器和客户端各需要架设几台?它们之间如何连接?
* 安装时使用的序列号是什么?
稍有经验的人就会知道,各种测试环境的组合会让测试数量成倍增长。比如测试网站,操作系统XP + Vista + Win7,浏览器 IE6 + IE7 + IE8 + Firefox,组合起来就是3 x 4 = 12种环境,原本500项测试用例就会膨胀到6000条。这显然是不现实的。因此要找出最有效的组合方式,避免测试用例爆炸。
比如这个例子中,我们知道Vista下没有IE6,Win7下没有IE6和IE7,这样就能减少3种环境。另外,不同操作系统下,只要浏览器相同,表现形式也几乎相同,所以不用测试所有组合情况,只需测试 XP + IE6、Vista + IE7、Win7 + IE8、Vista + Firefox四种环境即可。另外,这些都是客户端的测试,假如500个用例中有200项是服务器端的测试,那么这200项只需在一个环境中测试即可。这样最后的测试数量是 300 x 4 + 200 = 1400,比最初的6000项要少了许多。
收藏
举报
TAG: