软件测试的本质是“测”和“试”
软件测试的本质是“测”和“试”。
这里的“测”,是指对软件需求和设计文档,对软件代码进行检测,找出其中存在的缺陷,以协助开发人员完善软件产品的一系列工作;这里的“试”,是指在用户使用的软件环境(包括操作系统、数据库系统及应用软件系统等)、硬件环境(包括CPU、内存、硬盘空间、网卡和网络带宽等)和其他特殊情况(包括高并发、高容量)的环境下,尝试软件是否可以正常运行的工作。
换句话说,软件测试的本质就是找出软件中的Bug,并且确保软件在用户环境下正常运行。
软件测试工程师的精力应当主要放在“测”和“试”之上。
而在实际的测试过程中,测试工程师不得不遵守组织的相关规定,要编写软件测试文档。但测试工程师要时刻记住测试的本质,不应在编写测试文档上花费太多的时间。如果测试工程师在编写测试文档和为了对组织体系合规所做的其它事项上投入的时间远远超过“测”和“试”的时间,那就有些得不偿失了。
举个例子:
一个测试工程师设计和编写一个功能的测试用例起码需要花费20分钟的时间,那么设计和编写1000个功能测试用例就要花费20000分钟(约334小时),如果其中的1/4需要编写测试代码,按照书写一个功能测试代码需要2.5倍的功能测试用例的时间计算,编写测试代码还要花费约334/4×2.5=208小时,测试工程师编写测试用例和测试代码总共需要花费542小时。按照每人每天工作8小时计算,测试工程师花费了67个工作日的时间,真正的“测”“试”却还没有开始。如果项目周期有限,那么留给真正“测”“试”的时间就寥寥无几了。所以,我们面临的结果只能是要么测试草草结束,要么项目不得不一再延长。
所以,要做好测试,必须要确保“测”和“试”的时间。我们应当合理地安排测试工程师的时间,比如在需求分析阶段就编写测试计划,在编码阶段就设计测试用例,同时根据项目周期,对测试文档做适当的裁剪(保留核心内容,简化形式上要求),采取灵活的评审方式等,使得测试工程师的精力能够集中在“测”和“试”上。
这正是:
测试本质是“测”“试”,不能舍本去逐末
合理安排和策划,确保“测”“试”获益多
参考书目:软件测试技术实战:设计、工具及管理,作者:顾翔,出版社:人民邮电出版社