这个冰清的学习天地,以后我会把自己觉得重要的学习资料和大家一起分享。

当好测试组长之测试计划的制定

上一篇 / 下一篇  2009-12-30 15:14:20 / 个人分类:测试

每个软件都要进行测试,每个软件公司也都会进行测试,但通常,测试都被当作最简单、最没有技术含量的工作,搞技术的人不愿意做,全都交给一群新人。其实测试是软件质量的最后一道关卡,没有测试,软件的质量很难保证。

  测试的过程可以分为计划、分析、设计、实现、执行、报告这几个阶段。诚然,执行测试的确不需要多少技术,新人经过一两天培训就能上手。但是,计划、分析、设计、实现、报告等过程,没有几年的软件工作经验,是不可能完成的。下面先来说说测试计划。

  测试的目的、定义和范围

  制定测试计划时,首先必须明确的是测试的目的、定义和范围。

  一般来说,测试的目的有三种:

  * 防止发生bug

  * 找出bug

  * 保证软件质量

  找bug的测试用例和保证质量的测试用例是完全不同的。比如,回归测试的目的是防止发生bug,每次产品发布都应该执行,所以应尽量让测试用例能自动执行,减少测试执行的工作量;而为了找出bug,就要尽可能全面地考虑各种特殊值、错误处理、安全问题等;而保证软件质量的测试,则应当模拟完整的业务流程。

  至于定义,也许你会觉得,“地球人都知道,有写的必要吗?”你可以去问问你的组员,单元测试、综合测试和系统测试是什么意思,可能十个人会给出十个答案。在流程完善的大公司里还好些,小公司里这种现象会很严重。所以有必要把大家对测试的认识统一起来。

  范围也是必须明确的因素。测试整个系统,还是特定的模块?在什么硬件、什么操作系统上测试?这些也都必须事先明确。

  测试的读者对象

  接下来还要明确,测试计划是给谁看的?可能你会认为是给测试者看的,那么该计划是否需要给客户看?是否其他项目干系人如上司、公司决策者会关心该计划?测试计划应该根据读者对象,写出读者最想知道的内容。

  测试的环境

  接下来就是测试环境了。这恐怕是最复杂的因素了:

  * 操作系统是XP,Vista,还是Win7?

  *Linux的话,是RHEL4,5还是CentOS?要不要支持Debian、SuSE等?

  * 浏览器是IE、Firefox还是Opera?IE的话需要测试什么版本?

  *数据库MySQLOracle还是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:

 

评分:0

我来说两句

Open Toolbar