目录
接口概念
不同单元或某块之间进行通信的通道,他有一套规范一套标准(数据与数据之间的交互)(遵循既定规则,比如百度搜索的wd)接口规范会预定到文档,称之为api文档
接口的作用
项目开发中,未采用接口时的缺点
1、研发标准不统一,团队磨合难度高
2、研发周期短
3、可扩展性差
使用接口时带来的优点
1、统一设计标准,更易于团队磨合
2、缩短研发周期
3、扩展性灵活
4、前后端都可以使用自己熟悉的技术,只需保证最终产出符合规范即可
接口测试的概念
跨过前段,直接测试后端实现是否符合接口规范
作用
1、更精准的定位bug
2、发现程序中的安全隐患
3、提高测试效率(项目越复杂越明显)
接口测试流程
1、定位接口资源
2、提交测试数据
3、查看响应结果
接口测试类型
1、Web接口测试(b/s)
* 服务器接口测试
* 外部第三方接口测试(别人的接口)
2、模块之间的接口测试(c/s)
安装XXX系统
安装接口测试环境必须要在XXXX当前目录下执行依赖程序代码(XXX系统的安装依赖模块:pip install -r XXXX.txt)
当前目录下使用python启动命令(启动命令:python run_server.py)
浏览器输入url:http://127.0.0.1:8000/api/XXX
数据库文件
使用第三方的数据库文件,将数据库要使用的数据文件放到文件中,查看表的结构
RESTful架构风格
RESTful架构风格:接口设计架构风格,对API文档规范作用,保证API文档的易读性(一人编写,多人阅读)
三要素:定位接口资源、提交测试数据、查看响应结果
Post方法和get方法区别
1、提交方式不同(get提交的数据显示在地址栏,post时隐藏式的提交数据,后者更安全)
2、提交的数据量不同(get方法提交的数据量有限制,post没有)
3、执行效率不同(get方法要比post高)
4xx开头的基本上都是浏览器的资源请求错了(浏览器异常)
1xx开头的请求正常,服务器响应正常,浏览器无法正常显示(杜绝出现)
接口响应类型
1、响应html文档,如访问百度首页
2、响应JSON数据,比如学生管理系统响应的数据
实现
请求方式 定位资源 提交的数据 响应的数据
查 URL+DET 一般键值对提交数据 响应码200 响应体:单条或多条查询信息
增 URL+POST 一般键值对或者JSON提交数据 响应码201或200 响应体:新增后的数据
改 URL+PUT 一般键值对或者JSON提交数据 响应码201或200 响应体:修改后的数据
删 URL+DELETE 一般键值对提交数据 响应码204 响应体:无
Jmeter
作用
1、接口测试
2、性能测试
3、压力测试
4、web自动化测试
5、数据库测试
6、java程序测试
优点
1、开源、免费—>支持二次开发
2、跨平台
3、支持多协议
4、小巧—》50兆 不需要安装
5、功能强大
缺点
1、不支持ip欺骗
2、使用jmeter无法验证JS程序,也无法验证页面ui,所以要需要和Selenium配合来完成Web2.0应用的测试
组件与元件
组件:Jmeter中的功能点实现
元件:Jmeter中组件众多,为了方便管理,对于组建按照功能、性质分类归组,分组的结果就是元件,换言之,元件是组件的集合
进程、线程组、线程:一个进程包含多个线程组,一个线程组可以包含多个线程
进程:正在运行的程序
线程:进程中的执行线索
线程组:为了方便线程管理,对线程按照性质、作用,归类分组。
并发执行:多个线程同时执行
顺序执行:多个线程顺序执行
线程组的作用
1、方便管理线程
2、可以通过一系列属性控制线程的执行
实现(重点)
线程组的执行顺序及层级结构
测试计划(进程)------------------- 线程组---------------------线程
| |
勾选每个线程组独