转载https://www.zhihu.com/question/19752175
接口测试
接口测试本质也是功能测试的一种,通过脚本或者工具,模拟客户端对服务端接口进行调用。因为是从接口层测试,所以能更早的发现问题,从而提高测试效率,降低修复成本。
Fiddler:
Fiddler被称为抓包神器,它是一个http协议调试代理工具,它能够记录互联网之间的http协议通信,可以设置断点,查看所有“进出”Fiddler的数据(如cookie,html,js,css等文件)。
Fiddler 要比其他的网络调试器要更加简单,操作便捷,格式显示清晰,这个工具也可以进行接口测试,但是不能写断言,只能用composer构造HTTP请求,需要人工确认返回结果的正确性。
Postman:
是谷歌开发的一款接口测试软件,它使用简单,功能强大,能够发送任何类型的HTTP请求 (GET, HEAD, POST, PUT..),可以进行文件上传、响应验证、变量管理、环境参数管理,还可以批量管理和运行用例,并支持用例导出、导入,可以进行接口的自动化测试。
缺点是自动化断言不够强大,不能和jenkins、代码管理库进行持续集成测试。
soapUI:
是一个开源测试工具,通过soap/http来检查、调用,实现Web Service的接口和性能测试。该工具既可作为一个单独的测试软件使用,也可利用插件集成到Eclipse,maven2.X,Netbeans 和intellij中使用。
soapUI pro是soapUI的商业非开源版本,实现的功能较开源的soapUI更多,国外公司使用较多。
Jmeter:
是一款100%纯Java编写的免费开源工具,主要用来做性能测试,但也可以做接口测试,配合后置处理器与断言,可以满足大部分的接口测试场景,JMeter提供了BeanShell编程能力,可以写出比较灵活的测试脚本,通过jmeter+ant+jenkins可以实现接口和性能自动化测试。
代码实现
java代码实现接口测试:java可以通过httpclient.jar包,利用JUnit或者TestNG这样的单元测试工具进行用例编写,结合jenkins实现接口持续集成测试。
python代码实现接口测试:python可以利用强大的第三方库Requests实现接口用例编写,结合unittest单元测试框架,生成测试报告,也可以和jenkins做持续集成测试。
为什么要代码实现接口测试?
工具有限制,很多测试场景工具很难模拟,场景和数据构造复杂,代码可以实现接口,统计结果展示灵活。自己写测试框架与代码。
说了这么多,测试工具各有优劣,要根据公司和项目的需求灵活选用,通常中小型项目推荐使用postman和jmeter,对于大型项目还是利用代码实现。
原文:https://www.cnblogs.com/feiyi2111/p/12073365.html