1.1. 自动化测试的优点
● 提高测试效率和降低测试成本
● 实现快速的回归测试,加快测试进度从而加快产品发布进度
● 更多的测试,提高测试覆盖率
● 保证一致性
● 提高测试的可靠性,避免人为因素
1.2. 为什么要做自动化测试框架
通过以往的尝试,发现真正实现自动化测试,并不是掌握了某个自动化测试工具,掌握了脚本的编写技术就能够达成,面对复杂的ERP系统,简单的录制/回放并不能达到自动化测试的要求,完全通过编写脚本的方式,工作量巨大且可维护性极差、不能复用。实现自动化就是为了能够提升测试效率,不具备可维护性、复用性差将成为导致自动化测试失败的最致命因素,付出巨大代价但起到的效果甚微。
基于以上因素并结合行业发展思路,在正式实施自动化之前,必须搭建一套适合的自动化测试框架,将脚本能够有效的组织、连贯应用起来,提高测试脚本的可维护性和可读性。
1.3. 希望达成的目标
搭建符合以下要求的自动化测试框架,使得未来自动化测试正式实施时能够有序、高效的开展:
● 高复用性
● 高可维护性
● 稳定性
● 快速编写脚本
● 自动执行
● 正确输出结果
● 能够不断提升自动化测试比例
1.4. 实现思路
● 分层设计:业务流程、功能点、操作组件
我们在进行测试时,首先会验证各个页面、各个字段的正确性,到验证功能点的正确性,再组合各个功能点进行业务逻辑、业务流程的验证,最终确保系统满足业务需求。
* 对于自动化脚本,采用分层的思想,先实现最底层的操作组件,通过调用操作组件、及业务逻辑实现对功能点的验证,再通过调用业务逻辑组合功能点实现对业务流程的验证。不同的业务流程,对于底层的操作组件、中间层的功能点函数是完全可以复用的,只是调用的业务逻辑的差异,或者是测试数据的差异性。
* 尽可能做到各脚本之间具备独立性,不相互依赖,便于进行各种基本场景的组合运行。
如销售系统中的选择房间操作,在做预约、小订、认购等操作时,都需要用到选择房产,因此可以将选择房产做为一个公共的操作组件,详细描述选择房产的操作步骤,在测试新增预约、新增小订、新增认购等功能点时都需要调用到选择房产的操作组件,只是业务的校验逻辑与所选择的数据不一致。
再看业务流程,新增一个小订单后可以作废,也可以由小订转认购,业务流程就有两个:新增小订单—作废订单,新增小订单—转认购,这两个业务流程中“新增小订单”这个功能点是一致的,可以通过调用不同的用例数据组合成不同的业务流程。