初识接口测试
1.接口测试的概念
接口测试(Interface Testing)是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。
注:接口其实就是为了实现某些功能封装起来的方法集成,可被调用、进行数据返回。接口的表现形式大到页面,小到按钮。通过接口测试,可以对系统进行更底层更全面的测试。如点击登录,可能调用User API接口,传参:用户名和密码。
2.需要掌握的基本技能-Http协议
(1)请求方(客户端)
1)请求方法:GET、POST、PUT、DELETE,与数据库操作的对应关系:GET:查、POST:改、PUT:增、DELETE:删。
注:Get与Post区别
Get请求参数基本都是明码的,在浏览器中的地址栏里可以看到具体的请求参数;Post请求在浏览器地址栏中只有一个URL地址,后面没有跟着参数,实际上是通过加密的方式传递的Post参数。Get用于信息获取,就像数据库查询一样,不会修改、增加数据,不会影响资源的状态;Post可修改服务器上资源的请求。另外,实际做的时候很多人都没有按照HTTP协议规范去做,比如对资源的增、删、改、查操作,其实都可以通过Get/Post完成,不需要用到Put和Delete。
2)请求地址:服务器名称(或IP地址)、路径和文件名、协议Http1.1。
3)请求实体(入参):webforms、body、json
注:JSON(JavaScript Object Notation, JS对象标记)是一种轻量级的数据交换格式。采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得JSON成为理想的数据交换语言。
(2)响应方(服务器端)
1)状态码:200(成功)、302(重定向)、4XX(请求被服务器拒绝)、500(服务器异常)
2)返回值:json(比较多的类型)
注:推荐看书:图解HTTP协议(群分享)
3.接口说明文档
接口文档一般在提交测试之前由开发人员提供。如没有接口文档,可以通过Jmeter(Fiddler)抓包获取URL。如下图请求方法:Get。
4.接口测试工具
1)Jmeter 2)Postman 3)SoapUI
注:工具没必要和其他人一样,笑眯眯一号和同事用的工具就不同。要想清楚你喜欢用哪个工具,并结合实际选择一个好用的工具即可。
5.Jmeter环境搭建
1)安装JDK
2)配置环境变量
6.Jmeter测试实践
详见笑眯眯一号博文http://www.jianshu.com/p/240b0db4a091
1)测试计划建立:一个测试计划可建立多个线程组,每个线程组互不影响。
2)创建线程组:线程组相当于用户执行请求。
3)创建HTTP请求(前置条件)。(如下图:10个接口即10个http请求)
常用字段的是Average和Error。(平均时间:单个request平均响应时间。)
注:1)响应断言具有唯一性。
2) 数据驱动测试:参数化。
后记:由于目前没有接触到接口测试,此文章为后续开展接口测试提供思路,也是为了完成自己的目标:百人计划每分享一次,至少输出一篇博文。为什么一定要输出博文?博文是一种仪式感,能让自己真正用心对待每次分享,并进行总结沉淀。如果目前用不到,后续也一定会用到。参加百人计划,觉得自己的路还有好远好远,不要心急,毕竟学习是一个过程。你可以跑得慢,但是一定要坚持跑!坚信坚持的力量!自律会带给你真正的自由!