1. 保证自动化测试成功的三块基石
保证软件项目的自动化测试工作成功,如果有三个方面能够做好,那么项目成功即自动化测试成功指日可待。那么,它们是什么呢?它们分别是数据、自动化,以及工具。在此我们分别来讨论一下它们。
数据:对于验证日益复杂的软件功能来讲,测试数据的有效性是极其重要的,并且如果测试数据是能够重复的,那么才能够保证自动化测试的效率。所以对于数据来讲,我们要求它是能够被定制的,能够恢复的并且可以重复使用的。如果上述这些内容能够是自动的,那么数据部分就应该准备的比较充分了。通常情况下,我们的手工测试数据与自动化测试数据是混杂在一起的,通常情况下会互相受影响。特别是当你的软件项目有许多个release的时候,你每次为之前的项目跟自动化测试脚本的时候你就会发现数据几乎不能使用了,我们差不多需要为每个脚本重复制作数据,这其中的成本是很大的,而且自动化测试有效率的特性也无法显现。当然对于这种情况有多种不同的解决方案,我的建议是自动化测试部分的数据是能够独立存在的。当然你得保证它的有效性,这里不做具体的讨论,大家可以尝试多思考交流解决。
自动化:关于自动化,我们主要是讲自动化测试,也就是说,我们的用户需求,能够被转化为自动化测试脚本,这些自动化测试脚本能够对软件进行测试,从而保证软件功能变便以及重构后,其功能及业务流程未被破坏。对于自动化测试来讲,我们希望是能够有较高的自动化测试覆盖率,从而获得大量时间成本。同时我们也希望较少的脚本的维护。所以针对于自动化测试脚本来讲,我们更应该从软件开发的角度去考虑,构建以及维护它。而不应该简单将手工测试用例转化为自动化测试。如果只是将手工测试用例转为自动化测试用例,我们将会花费大量的时间在维护测试脚本,测试对象库等等方面。当然,我们这里提到自动化,我们也指软件工程的其它方面也被自动化,不只限于自动化测试。如果我们的整个工程大部分或绝大部分是能够自动化的,那么我们的生产力就会得到提升。例如:如果我们能够有自动化测试脚本,那么我们的自动化测试执行也应该是被自动调用的,并且最终的测试结果以及度量结果都应该是可以被自动获取的。简单来说,一切都应该被自动化。
......
2. 自动化测试生产力
最近,被同事问到一个有趣的问题,就是自动化测试生产力。我们的自动化测试生产能力是多少,如何知道我们每年的自动化测试生产力是提升了,还是下降了。针对此总题,我觉得这其实是对要求我们能够有数据指标来衡量一个企业或团队的自动化测试能力。关于这个指标如何定义,我相信各个企业一定有自己的标准。但我想数据的获取应该是类似的,也就是说,那些参与运算的数据应该是差不太多的。在提及这些数据之前我想说一下关于手工测试能力的考察方法,通常大家会把每年写了多少测试用例,执行了多少测试,通过了多少,也有无效的defect有多少等等这些数据考虑进去。对于自动化来讲,我们也会考虑相关数据,如我们的自动化测试覆盖率,我们的脚本被运行的多少次,pass多少次,我们节省了多少时间,我的脚本维护成本是多少等等,有了这些基础数据,我们就可以定制企业自己的自动化测试生产力模型,完成对自己企业或是团队的自动化测试能力的衡量工作。
3. 自动化测试框架
关于自动化测试框架,这其实是一个非常有意思的现象。为什么这么说呢,因为我们会发现,大多数自动化测试团队都会实现一个自动化测试框架,然后做为标准或规范在团队内推广。而且一但有了自动化测试框架后,我们就会发现,我们的自动化测试脚本开发效率提高了,而且了也规范了许多。这是一件好事,但在这里我想说的事,不要过度框架化,自动化测试的框架还是要尽可能的遵循复用的原则。千万不要搞我之前曾经实现过的类似的关键字框架,我认为目前所有的所谓的关键字测试框架都是效率极其低下的,维护成本是极其高昂的。
......
查看全文请点击下载:
http://www.51testing.com/html/98/n-1298298.html 本文收录于《51测试天地》电子杂志第三十六期。 版权声明:本文出自51Testing软件测试网电子杂志——《51测试天地》第三十六期。51Testing软件测试网及相关内容提供者拥有51testing.com内容的全部版权,未经明确的书面许可,任何人或单位不得对本网站内容复制、转载或进行镜像,否则将追究法律责任。