一、 什么是接口测试?
什么是接口?
程序内部接口 (1)方法与方法之间的交互。 (2)模块与模块之间的交互。系统对外接口 例如百度提供的图像识别接口,我们在实现这个功能的时候,并不是看到了百度写的具体代码,而是通过调用百度提供给我们的接口来实现这个功能。
比较常见的接口分为三大类:web接口、应用程序接口、数据库接口
常用Web接口方式
http 是走soap协议通过http传输,请求报文和返回报文都是xml格式的。此协议比较复杂且安全性高。https 超文本协议,常用POST和GET两种方式。webService 并非是应用层的一种新协议,只是http通信接口部分用SSL和TLS协议代替而已。
接口测试原理
属于功能测试,也可以看做是需要了解部分代码的灰盒测试
测试流程: (1)测试接口文档 (2)根据接口文档编写测试用例 (3)执行测试
查看接口返回的接口数据是否正确
二、 怎么做接口测试?
两种方式:代码、工具
使用Jmeter做接口测试流程
1. 接口文档
接口地址 协议 : //服务名称或域名:端口号/路径 常用端口号:http 默认 80 https 默认 443 tomcat 默认 8080 Mysql 默认 3306 代理服务器如fiddler 默认 8888返回格式请求方式 常用 POST/GET请求参数 表单格式、文件格式、json等请求头返回数据示例
没有接口文档时,自行抓包进行分析 请求由请求行、请求头、空行、body四部分组成 响应也由四部分组成
2. Jmeter操作
由于没有测试文档,故而抓包以下图为例:
(1)创建测试计划
(2)增加线程组
(3)http请求
(4)参数填入
(5)断言(判断谁就放在谁的作用域下,在请求完成后进行)
(6)增加察看结果树
(7)运行
实战总结:
线程组中设置线程数是设置总模拟用户量线程组中循环次数是设置每一个用户(线程)循环进行几次Synchronizing Timer(同步定时器)中设置数量是设置同一时间访问(并发)用户量