项目接口自动化测试开展思路以及实践方案
更新时间:2021-09-14 02:19:03 作者:admin 浏览:582
项目接口自动化测试开展思路以及实践方案
接口自动化测试介绍
接口自动化测试(Automated Testing),是指把以人为驱动的测试行为转化为机器执行的过程。实际上接口自动化测试往往通过一些测试工具或框架,编写接口自动化测试用例,来模拟手工测试过程。比如说,在项目迭代过程中,持续的回归测试是一项非常枯燥且重复的任务,并且测试人员在每天重复劳动的工作之下,也丝毫得不到成长。此时开展接口自动化测试就能够帮助测试人员从重复、枯燥的手工测试中解放出来,提高测试效率,缩短回归测试时间。一般来说,接口自动化测试通常都会跟持续集成系统(比如Jenkins)配合使用。
但在接口自动化实践过程中,往往会发现理想和现实之间的差距很大。接口自动化测试的坑,主要体现在以下几方面:
接口自动化测试并不能取代手工测试,它只能替代手工测试中执行频率高、机械化的重复步骤;;
接口自动化测试远比手工测试脆弱,用例维护成本很高;
不能指望接口自动化测试去发现更多新的BUG,接口自动化测试能发现的缺陷远远比手工测试少;
接口自动化测试用例的开发工作远大于单次的手工测试,产出价值往往在于长期的回归测试,短期内发挥的作用可能不明显;
实行接口自动化测试的初期,用例开发效率通常都很低,并且有很大概率后期在功能没有的变化的情况下重构用例;
接口自动化测试的效率很大程度上依赖接口自动化测试用例的设计以及实现质量,不稳定的接口自动化测试用例比没有接口自动化更糟糕;
希望借助接口自动化流程解决的问题
测试时间紧张,手工测试可能覆盖不全,容易错过某些边界情况;
模块间强耦合时,单纯从页面进行测试时,比较难深入的发现问题;
回归测试时,需要投入较大的人力/工时;
实现手工测试无法达成的测试任务;
通过编写测试用例,加深对业务/数据的认知,有助于下阶段迭代中发现隐藏的问题;
作为心跳脚本,监控线上核心流程功能是否正常;
什么样的项目适合接口自动化测试?
需求稳定,不会频繁变更的系统或模块;
研发和维护周期长,需要频繁执行回归测试;
单个用例需要在多种平台上执行多次,如浏览器兼容性测试、手机系统版本测试等;
通过手工测试无法实现的测试活动,如压力测试;
被测系统的开发流程比较规范,如GUI接口自动化测试中,控件的命令遵循制定的规则,接口测试需要提供最新新文档;
做接口自动化测试需要具备的能力
拥有编码能力
至少要熟悉接口自动化工具/框架的代码语言,最好有一定的编码能力,同时代码逻辑要清晰,否则不仅不能保证用例的逻辑性、业务性与健壮性等要素,也不能保证效率;
熟悉被测系统;
熟悉被测系统对任何测试人员来说都是最起码的要求;
掌握一个接口自动化测试框架/工具;
可以根据所掌握的代码,学习一门接口自动化测试的框架,如 Selenium/Appium/Robot Framework/UI Recorder/TestNG等。
以上是关于项目接口接口自动化测试开展思路以及实践方案的介绍,由多测师亲自撰写。 https://www.aichudan.com/