谈一谈接口自动化测试

所谓的接口(包括UI)自动化测试,其实包含4个方面的任务:

1,使用某种能够生成合法协议数据的工具,向接口发送数据并接收响应,对响应进行解释,检查响应结果是否符合预期(通常表现为测试脚本)

2,使用某种驱动工具,在合适的时候方便地调用测试脚本

3,使用某种隔离工具(包括测试数据生成/模拟),便于构建方便的接口测试环境

4,统计测试的覆盖率

针对测试本身而言,所需要的工具也包括4个方面:
1,针对接口协议的封包和解包工具;
2,驱动测试脚本运行的测试框架;
3,Mock或Fake工具,测试数据生成工具;
4,测试覆盖率统计工具


当然,如果说的组织内完整的自动化测试环境,那至少还需要合适的代码管理系统等。

举个例子。假如我们要对对一个HTTP的API接口进行测试,该API接口使用JSON协议。出于团队技能和可维护性的考虑,我们选择Java作为测试脚本的实现语言。需要说明的是,接口开发使用的编程语言与对接口测试使用的编程语言可以完全不同。

这时候,我们首先需要使用

1,能够生成合法JSON协议报文和发送HTTP请求的工具,如json-lib和HttpClient ,这样我们可以写测试脚本向该接口发送数据,接收响应并检查响应的正确性。而为了让测试脚本可以方便地运行,我们需要

2,类似JUnit的工具来驱动脚本,以及可以使用Jenkins等设置CI环境,让自动化测试脚本在代码提交/部署的时候自动运行。当我们对接口进行测试的时候,该被测接口通常依赖于其他接口或系统,在依赖关系不那么复杂,以及测试环境中的数据生成不那么复杂的情况下,我们可以使用

3,测试数据生成工具,如Data Factory或类似工具 生成测试环境中的数据;在依赖关系复杂或是很难生成有效测试数据的情况下,可以使用[3,基于录制回放/日志的隔离工具,这种工具好像没有现成的,以前我们都是自己写]隔离依赖关系。最后,每次测试都需要有测试覆盖的统计,对于Java来说

4,JCoverage是典型的这类工具。

摘取知乎大神的原话。
作者:段念
链接:https://www.zhihu.com/question/32223087/answer/55544817
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

猜你喜欢

转载自blog.csdn.net/rcjjian/article/details/79830570