接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。html
为何要作接口测试?前端
越底层发现bug,它的修复成本是越低的。java
前端随便变,接口测好了,后端不用变,先后端是两拨人开发的。面试
检查系统的安全性、稳定性,前端传参不可信正则表达式
现在的系统复杂度不断上升,传统的测试方法成本急剧增长且测试效率大幅降低,接口测试能够提供这种状况下的解决方案。数据库
接口测试相对容易实现自动化持续集成,且相对UI自动化也比较稳定,能够减小人工回归测试人力成本与时间,缩短测试周期,支持后端快速发版需求。apache
怎样作接口测试?后端
因为项目先后端调用主要是基于http协议的接口,因此测试接口时主要是经过工具或代码模拟http请求的发送与接收。工具备不少如:postman、jmeter、soupUI、java+httpclient、robotframework+httplibrary等。安全
也能够用接口自动化来实现,就是用代码实现,框架和UI自动化差很少,发送请求用断言来判断。服务器
若是对软件测试、接口、自动化、性能测试、LR脚本开发、面试经验交流。感兴趣能够273462828,群内会有不按期的发放免费的资料连接,这些资料都是从各个技术网站搜集、整理出来的,若是你有好的学习资料能够私聊发我,我会注明出处以后分享给你们。
为何选择Jmeter进行http接口测试?
在进行网页或应用程序后台接口开发时,通常要及时测试开发的接口可否正确接收和返回数据,对于单次测试,Postman插件是个不错的Http请求模拟工具。
可是Postman只能模拟单客户端的单次请求,而对于模拟多用户并发等性能测试,就必须借助其余的工具了,这里推荐功能强大的JMeter自动化测试工具,Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件作压力测试,它最初被设计用于Web应用测试但后来扩展到其余测试领域。
它能够用于测试静态和动态资源例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库, FTP 服务器, 等等。JMeter 能够用于对服务器、网络或对象模拟巨大的负载,来自不一样压力类别下测试它们的强度和分析总体性能。
下面我就简单的介绍下使用Jmeter进行接口测试的方法。
1、接口测试环境准备
Jdk1.6或以上:http://www.oracle.com/technetwork/java/javase/downloads/index.html
Jmeter下载址址:http://jmeter.apache.org/download_jmeter.cgi
插件的下载安装地址:http://www.jmeter-plugins.org/
2、建立工程:
一、打开Jmeter:下载好Jmeter后,双击bin目录下的jmeter.bat文件:
二、添加线程组:在“测试计划”上点击鼠标右键-->添加-->threads(Users)-->线程组,添加测试场景设置组件,接口测试中通常设置为1个“线程数”,根据测试数据的个数设定“循环次数”。
三、添加“HTTP Cookie管理器”:
四、添加“Http请求默认值”组件,当被测系统有惟一的访问域名和端口时,这个组件很好用:
五、在“HTTP 请求默认值”组件配置页面,填写被测系统的域名和端口,http请求的实现包版本以及具体协议类型,线程组里的全部“HTTP Sampler”可默认使用此设置。
六、在“线程组”里添加“HTTP 请求”的Sampler
七、在HTTP请求设置页面,录入被测接口的详细信息,包括请求路径,对应的请求方法,以及随请求一块儿发送的参数列表:
八、设置检查点:在被测接口对应的“HTTP 请求”上,添加“响应断言”
九、在设置页面上添加对相应结果的正则表达式存在性判断便可:
十、添加监听器:方便查看运行后的结果
运行结果:
总结:
上述步骤完成了一个简单测试案例的建立,复杂测试案例均在此基础上扩展完成。使用Jmeter工具开发的接口测试案例,一个子系统建议放在同一个 “测试计划”中,流程测试能够经过“线程组”来区分,这样也便于设定不一样的测试数据个数。比较独立的接口,能够统一放在一个线程组内,顺序完成测试。 同时,JMeter这个工具的强大之处不只仅只有这一点,还能够单独对每一个取样器添加各类控制器,从而作到不一样取样器不一样的循环次数,及不一样取样器之间数据的引用。