要达到该点,在做接口测试前,做为测试者,我们需要非常明确自己选择测试工具去达到的核心目的。通常情况下可能有以下几个:
这里不仅仅只是说明了全流程自动化接口测试实现方案,对于常规的接口测试也进行了罗列
开发者调试接口
测试人员提前介入测试,尽早发现程序缺陷
测试人员对于系统接口回归,确保后台逻辑无缺陷,降低版本迭代风险
如是情况1或者2,在实际的项目开发过程中,这其中的空余时间不固定且零散,按照这样的预期,我们期望接口测试工具更为便捷,可以快速的配置出接口测试脚本或用例。这类接口自动化测试工具有:
1、Postman
Postman工具的优势
清晰的图形界面;
结合界面操作可以快速的配置接口请求信息,提供各种类型接口配置,以及数据配置;
有丰富响应断言,方便对于接口进行快速验证。
Postman满足了基本常见接口测试,但是还是有部分不足的地方,下面就讲。
Postman工具的不足
无法连接数据库
无法进行共有的代码封装以及引入第三方插件
2、Jmeter
Jmeter工具的优势
C/S架构,基于java实现的工具,配置起来比较容易,更偏向于性能测试;
JMeter提供了BeanShell编程能力,可以写出比较灵活的测试脚本;
JMeter提供了比较高级的扩展能力,允许自己定义和扩展新的协议支持;
JMeter的社区比较完善,提供了比较丰富的协议支持;
脚本缺乏灵活性,测试报告更多的偏向于性能方面;
对于全自动化实现的支持不足。
3、SoapUI
SoapUI工具的优势
SoapUI支持REST和SOAP服务;
使用拖放,点击即可轻松生成测试脚本,并可以导致代码形式测试用例;
使用来自文件和数据库的数据进行强大的数据驱动测试;
脚本可以轻松重用;
使用RESTful模拟模拟服务;
需要破解;
SoapUI对于PC资源占用大。
4、Airpost
和postman类似,非开源。
最后我们来到情况3:测试人员对于系统接口回归,确保后台逻辑无缺陷,降低版本迭代风险。
这种情况下,我们就需要选择比较完整的自动化测试框架并可持续执行。对于该实现形式主要有以下要求:
可持续运行;
可维护性高;
丰富断言以及报告;
这里推荐一些代码形式实现接口自动化测试框架或可视化接口测试平台:
5、代码实现形式:
需要代码功底,实现功能灵活,可以根据自己需要来进行定制,以便对接口实现比较完整的测试点覆盖
Java:testng+git+jenkins+httpclient+maven+poi+jsonpath
Python:pytest+git+jenkins+requests
6、可视化接口自动化测试平台:
测试人员只要进行简单培训就能进行操作,跟平常使用业务功能系统一样,方便灵活组织、维护和运行测试用例,丰富的报告,这里提供两个开源工具平台。
EasyTest:https://github.com/lixiaofeng1993/EasyTest
Django实现的可视化接口自动化测试平台:https://github.com/githublitao/api_automation_test
通过上面部分的阐述,相信大家对于哪个工具能达到的效果已有了一定的识别。下面我们再回过头来看到我们另一个依据,最少投入。
投入包含两部分:一是学习成本投入,二是工具本身的资金投入。
1、从学习成本来看
完整的接口自动化测试体系学习成本肯定要比Postman、jmeter这类独立工具成本高。
但Postman、jmeter这类独立工具来做接口测试,它们之间的学习难度差距不大。
2、从工具本身的资金投入来看
部分测试工具拥有比较强大的功能,但是非开源。在选择的过程中,个人建议要更偏向于使用开源工具。
综合上面的描述,我们用下面的表格来做个小的总结,请看:
最后结合上面的表格来选择适合自己需要的接口自动化测试工具吧。加油,最后预祝你自学也能月薪10k+。
作者:小码哥说测试
原文链接:https://blog.csdn.net/jiangjunsss/article/details/123140449