概述
我们主要就接口功能自动化测试从两个方面做一些交流,一是何为自动化测试 ,二是为何自动化测试, 同时包含关于下面三个问题自己的一些认识:
明确自动化测试开展原由
明确自动化测试开展方式
明确自动化测试开展评估
关于自动化基础的认知:
常见的错误认知
使用自动化完全替代手工测试。
使用自动化测试发现更多的新BUG。
应该形成怎样的认知
自动化测试的目的不单纯是为了减少或者替代手工测试,而是为了测试人员能够做更多更有意义的测试(也包含手工测试)。
自动化测试是用来验证以前能够正常工作的功能是否依旧可以正常工作。
为何自动化测试
不是为了自动化而自动化,而是为了实现一套解决方案来解决问题从而开展某种自动化 ,肯定是解决某些测试过程中的问题而引入自动化测试。
利与弊
既然选择自动化解决某些问题,首先要清楚自动化测试其本身的利弊。
利
1.关于成本
机器资源成本代替人力成本,一定程度解决了重复性的测试执行成本问题。
2.关于效率
提高测试执行效率,缩短测试周期,一定程度解决了测试周期随版本迭代次数的增加(功能点增加)而增长的问题。
3.关于测试覆盖
通过自动化测试工具的录制回放及数据驱动来测试功能,可以提高测试覆盖率,一定程度解决了回归测试中测试覆盖率低的问题。
4.关于发现问题
自动化测试具有较好的一致性和可重复性, 一定程度解决了手工反复执行过程中的一致性的问题。
5.关于流程
自动化测试工具作为一种角色引入到整个测试流程中,提高测试执行流畅性。
弊
1.关于人员
额外要求测试人员具备定测试开发能力,引入了对测试人员能力要求较高的问题。
2.关于成本
自动化测试开发成本因选择自动化框架(或工具)而异,但都具有较高的开发成本,引入了开发成本的问题。
3.关于维护
随着版本迭代和功能变更,引入了自动化代码的开发维护的问题。
4.关于发现问题
受其本身的局限性(大多应用在回归测试、稳定版本场景中), 自动化测试发现问题较少。
我们在认识自动化优点的时候,是否思考过其弊端带来的影响,我们是否能够应对,如何应对?