如何当好测试组长(1)-制定测试计划
每个软件都要进行测试,每个软件公司也都会进行测试,但通常,测试都被当作最简单、最没有技术含量的工作,搞技术的人不愿意做,全都交给一群新人。其实测试是软件质量的最后一道关卡,没有测试,软件的质量很难保证。
测试的过程可以分为计划、分析、设计、实现、执行、报告这几个阶段。诚然,执行测试的确不需要多少技术,新人经过一两天培训就能上手。但是,计划、分析、设计、实现、报告等过程,没有几年的软件工作经验,是不可能完成的。下面先来说说测试计划。
测试的目的、定义和范围
制定测试计划时,首先必须明确的是测试的目的、定义和范围。
一般来说,测试的目的有三种:
防止发生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项要少了许多。
测试组的编制和日程
此外,测试组的编制和日程计划也必须在计划中明确。谁负责写测试用例,谁负责执行测试,谁负责报告?现有的成员能否在规定的时间内完成?测试人员的能力是否达到要求?
编制通常用组织结构图来表现:
而任务责任分工可以用TRM(Task Responsibility Matrix,也称RAM――Responsibility Assignment Matrix)来表现。TRM中用行表示任务,列表示各个成员,行列交点处使用圆圈、三角等表示不同的责任。最简单的TRM如:
日程计划可以用甘特图表现,这个就不再附图了。
建议继续学习:
- Xvfb+YSlow+ShowSlow搭建前端性能测试框架 (阅读:54214)
- 安全测试与渗透测试区别 (阅读:23699)
- 使用Fiddler对手机应用进行抓包测试 (阅读:6929)
- 服务器性能测试工具推荐 (阅读:6477)
- 给Apache做压力测试时遇到的问题 (阅读:5920)
- WEB性能测试工具推荐 (阅读:5650)
- 可用性测试好助手——Morae软件的应用 (阅读:5500)
- 12款很棒的浏览器兼容性测试工具推荐 (阅读:4864)
- 可用性测试的权衡之道(二) (阅读:4804)
- 性能测试工具sysbench简介 (阅读:4755)
扫一扫订阅我的微信号:IT技术博客大学习
- 作者:charlee 来源: idv2
- 标签: 测试
- 发布时间:2009-12-08 23:10:19
- [55] IOS安全–浅谈关于IOS加固的几种方法
- [53] android 开发入门
- [52] 如何拿下简短的域名
- [52] 图书馆的世界纪录
- [50] Oracle MTS模式下 进程地址与会话信
- [50] Go Reflect 性能
- [48] 【社会化设计】自我(self)部分――欢迎区
- [47] 读书笔记-壹百度:百度十年千倍的29条法则
- [37] 程序员技术练级攻略
- [27] 视觉调整-设计师 vs. 逻辑