目录
▶相关文章:
JAVA面向对象|(一)Java接口 Interface-优快云博客
▶系列文章:
解析 客户端 / 服务器 / 请求 /响应 HTTP / URL / get / post请求…… 是什么?
Android网络请求 |(一) 网络基础概念-优快云博客 (建议阅读本文章前先看(一))
Android网络请求 |(二) OkHttp简介_android网络请求 认证-优快云博客
Android网络请求 |(三)post请求的数据格式_android发起post请求-优快云博客
现实中的接口:插入手机的是Type-C端,不是USB端(要符合要求才能将手机与充电头相连)。
定义:程序之间协作所要遵循的一套规范、标准。
软件提供给外部的一种服务,用于数据传输。
优点:
前、后端责任划分清晰;缩短研发周期;可拓展性强。
为什么需要接口?
接口能让内部的数据被外部进行修改。
为什么做接口测试?
- 目前较多系统前后端分离,开发进度不同
- 安全考虑:前端验证很容易绕过
- 推崇测试左移,测试尽早介入
接口测试本质:测试接口能否正常的交互数据,权限控制以及异常场景。
一、接口分类
类型 | 介绍 | 举例 |
程序 内部接口 | 开发人员自己开发的对自身系统提供的接口。 程序内部,用于方法与方法之间,模块与模块之间的交互。 | 如:BBS公告板系统有登录模块、发帖模块等。发帖就必须先登录,两个模块就有交互,就会抛出一个接口,供内部系统进行调用。 |
系统 外部接口 | 开发人员调用外部的 从别的网站或服务器上获取资源或信息,别人肯定不会把数据库共享给你,而是提供一个他们写好的方法来获取数据,你引用他提供的接口就能使用他写好的方法,从而达到数据共享的目的。 | 比如说我们用的app、网址这些它在进行数据处理的时候都是通过接口来进行调用的。 |
二、常见接口
常见接口 | 介绍 | 可以使用的工具 |
http Api接口 | 应用程序编程接口(API,Application Programm Interface,应用程序编程接口),以HTTP协议形式提供,定义了输入、输出、功能描述的服务。 请求报文都是key-value形式的,返回报文一般是json串; 有get和post等方法,这也是最常用的两种请求方式。 | postman、RESTClient、jmeter、loadrunner等; |
web Service接口 | soap协议,通过http传输; 请求报文和返回报文都是xml格式的; 我们在测试的时候都用通过工具才能进行调用,测试。 | SoapUI、jmeter、loadrunner等; |
下面均以 http Api接口 为讲解内容
三、接口测试流程
1.准备:理解需求(需求文档) + 了解接口(接口文档),体验产品、抓包分析
2.工具:postman、jmeter、apifox
3.用例
- 基本的正向用例
- 有可选参数的扩展正向用例
- 有效的反向用例
- 无效的反向用例
- 破坏性用例
4.执行
5.持续集成(管家代替我们干活)
6.报告(工作成果展示)
- 接口的功能测试(先要保证接口是正确的)
- 测试接口的数据(传递一些特殊的数据,保证接口没有问题)
- 自动化测试脚本的编辑(Apache JMeter)
- 接口的性能、压力测试
四、HTTP协议——常见响应状态码
状态码有三位数字组成,第一位数字定义了响应类型,有5种可能取值。
1xx: 指示信息 | 表示请求已接收,正在继续处理; |
2xx: 成功 | 表示请求已被成功接收、理解、接受; |
3xx: 重定向 | 要完成请求必须进行更进一步的操作;(输入的是http,自动变为更安全的https) |
4xx: 客户端错误 | 请求有语法错误 / 请求无法实现; |
5xx: 服务器端错误 | 服务器未能实现合法的请求。 |
五、接口工具的安装(Postman)
- Postman(邮递员) :软件测试中,一款用来做接口测试/调试的工具
Postman适用于不同的操作系统,MacOs、Windows X32、Windows X64、Linux系统,在官网都提供了下载链接。(此处以Windows X64为例)
1.点击下载,注册即可
2. 【bug】白屏
:postman启动异常之打开白屏_postman白屏且关不掉-优快云博客
3. 【bug】一直加载
打开Postman一直处于加载中_postman打开一直在加载-优快云博客
解决postman开启一直加载问题_postman一直在加载-优快云博客
4.成功
六、接口规范
作用:让前端开发与后端接口开发人员更好的配合,提高工作效率。
(一)传统接口风格
较为老一点的系统
(二)restful风格
restful风格是写API文档的一套(非强制要求,软要求的)规则/规矩,不遵循也可以,但不专业。
目的是让前端、后端、测试三方在工作的时候有据可循,提升开发和测试的效率。
四大功能的语法风格 | |
增 | 方法:post 响应码:201+新增的数据 |
删 | 方法:delete 响应码:204+无 |
改 | 方法:put 响应码:200或201+修改后的数据 |
查 | 方法:get 响应码:200+查询的数据 |