接口类型
rest接口:通过http的get和post方式得到数据,返回报文为json格式
soap接口:通过soap协议得到数据,相比httpservice更能处理复杂的数据,请求和返回报文都为xml格式
接口测试作用
1.在后端程序完成后,可尽早进行系统测试,发现bug
2.解决系统测试复杂度,测试脚本运行速度快,节省时间成本
3.检查系统安全性和稳定性
4.接口测试稳定,便于前端开发
接口测试原理
模拟客户端向服务器发请求,服务器处理请求并返回响应报文,根据接口文档验证返回的响应是否符合文档要求
接口测试关注点
1.接口的可用性
2.输入输出参数的个数及命名
3.输入参数的默认值,必填项及合法性
4.输出参数的正确性
5.接口文档的规范性
6.接口传递参数的安全性
接口测试用例如何设计
根据接口功能测试点设计,主要用等价类,边界值,场景法
正例:
根据接口说明文档的业务逻辑,输入,输出参数的描述,在正常输入情况下的输出值正确性的验证
反例:
1.鉴权码token异常(空,错误,过期)
2.必填项检查
3.参数长度,类型,格式异常
4.状态码异常覆盖
5.其他情况:页码,数据库,列表页接口排序值
使用jmeter进行接口测试
1、测试计划:默认打开JMeter后便存在
2、线程组:测试计划 -> 右键 -> 添加 -> 线程 -> 线程组注意元件的作用域
3、HTTP请求:线程组 -> 右键 -> 添加 -> 取样器 -> http请求
4、查看结果树:线程组 -> 右键 -> 添加 -> 监听器 -> 查看结果树
5、HTTP请求默认值:线程组 -> 右键 -> 添加 -> 配置元件 -> HTTP请求默认值
6、HTTP信息头管理器:请求 -> 右键 -> 添加 -> 配置元件 -> HTTP信息头管理器主体参数与头部参数不要搞混,对照接口说明书
7、JSON提取器:请求 -> 右键 -> 添加 -> 后置处理器 -> JSON 提取器
JSON Path expression: { “a”:“b”,“c”:1,“d”:{“e”:“f”} }
$.a --> b
$.c --> 1
$.d.e --> f
8、调试取样器:线程组 -> 右键 -> 添加 -> 取样器 -> 调试取样器将调试取样器前面提取的变量显示出来
9、变量的引用:${变量名}
10、JSON断言:请求 -> 右键 -> 添加 -> 断言 -> JSON断言
11、正则表达式提取器:请求 -> 右键 -> 添加 -> 后置处理器 -> 正则表达式提取器详情见百度百科(搜索正则表达式)上课讲了* + . 这三个特殊字符的用法例如:
{“status”:200,“msg”:“success”,“token”:“b94d67f7fb554cf09c172ba8675ae”}
提取上面字符串中token值:“token”:"(.*)"}
提取上面字符串中200,success,token值:
{“status” : (. *),
“msg”:"(.*)",
“token”:"(.*)"}
12、事务控制器:请求 -> 右键 -> 插入上级 -> 逻辑控制器 -> 事务控制器
13、循环控制器:请求 -> 右键 -> 插入上级 -> 逻辑控制器 -> 循环控制器
14、函数助手对话框:Tools -> 函数助手对话框 -> 选择对应的函数 -> …
15、CSV数据文件设置(注意作用域):循环控制器 -> 右键 -> 添加 -> 配置元件 -> CSV数据文件设置
CSV文件创建:先创建txt或xlsx文件,再另存为csv格式,注意文件名及文件路径最好用全英文
16、HTTP Cookie管理器:线程组 -> 右键 -> 添加 -> 配置元件 -> HTTP Cookie管理器
原文地址:https://blog.csdn.net/kangkings/article/details/112783541
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。