1、接口的定义
系统与系统之间、组件与组件之间、数据传递交换的通道
2、接口的类型
按协议:http、tcp、ip
按语言:C++、java、php
按范围:系统与系统、内部系统与内部系统、外部系统与外部系统之间
程序划分:多个内部程序、内部系统与外部系统、模块与模块
3、接口的优点
责任划分清晰、缩短研发周期、可拓性强
4、接口测试的特点
1、接口测试可提前接入,提早发现bug,符合质量控制前移的理念
2、可以发现一些页面操作发现不了的问题
3、接口测试低成本高收益
4、不同于传统的单元测试,接口测试是从用户角度对系统进行全面的检测
同时,我也为大家准备了一份软件测试视频教程(含面试、接口、自动化、性能测试等),就在下方,需要的可以直接去观看,也可以直接点击文末小卡片免费领取资料文档
软件测试视频教程观看处:
2023最新【软件测试面试300问】面试八股文教程,涵盖自动化测试/接口测试/性能测试/测试开发等内容
5、接口测试的实现方式
1、使用接口测试工具来实现(比如:JMeter、postman、fiddler)
2、通过编写代码来实现(比如:python+request)
6、自动化接口测试的定义
让程序或工具代替人工自动完成对接口进行测试的一种过程,借助工具、代码、模拟客户端发送请求给服务器,借助断言自动判断预期结果和实际结果是否一致。
7、网络编程基本概念
客户端(Client):移动应用(iOS、Android、Web等应用)
服务器(Server):为客户端提供服务、提供数据、提供资源等机器
请求(Request):客户端向服务器索取数据的一种行为
响应(Response):服务器对客户端发出请求做出的影响,一般指返回数据给客户端
8、HTTP协议
计算机网络中两台计算机之前进行通信所必须遵守的规则或规定。
HTTP协议:(Hyper Text Transfer Protocol)超文本传输协议,是一种规定了浏览器和服务器之前通信的规则。是一个基于请求与响应模式的、应用层协议、也是互联网上应用最为广泛的一种协议。
9、HTTP协议的特点
1、支持客户端服务器端模式
2、支持快速简单
3、灵活
4、无连接
5、无状态
10、URL(统一资源定位符)
是互联网标准的资源地址,HTTP使用URL建立连接和传输数据。
概念:互联网上资源的地址,位置。唯一的定义一个数据资源。
格式:协议:主机地址/路径
11、URL语法格式组成
https://mp.weixin.qq.com/mp/appmsgalbum?__biz=MzkxMzI4ODgyOA==&action=getalbum&album_id=2068674408138768385#wechat_redirect
协议 域名IP 资源路径 查询参数
端口范围 0到65535、http默认80、https默认443
12、协议http规定数据传输的方式
域名ip:在网络环境中找到主机
端口(port):在网络主机上,标识一个进程(应用程序)
资源路径:标识网络资源(文件、图片、音视频、变量等等)
查询参数:传递给资源路径对应的数据,查询参数内部用&隔分多个键值对
13、请求分为两种:GET POST
GET:提交的数据显示在地址栏,不安全,提交的数据量有限制,不重要的数据使用
POST:隐式提交数据,更安全,没有数据量大小的限制,重要数据使用
14、数据传递的格式
1、纯文本的和简单的名称值对
2、ML格式:适用于标记文档,提供了对大规模数据的逐步解析方案
3、JSON格式:轻量级的数据交换格式,因为简单灵活适用于数据分析
15、HTTP请求
请求行:请求方法+URL+协议版本
请求头:请求体的数据类型User-Agent描述请求发送端的浏览器类型
请求体:post(添加,常用于登录) put(修改) 有请求体get(查询) delete(删除)没有请求体
16、HTTP响应
1XX:指示信息,表示请求已接受,继续处理
2XX:成功,表示请求已被成功接收、理解、接受,200 201
3XX:重定向,要完成请求必须进行进一步的操作
4XX:客户端错误,请求由语法错误或请求无法实现,404 403
5XX:服务器端错误
17、传统风格接口
查询某个用户:get和post
查询所有用户:get和post
添加用户:post
修改用户:post
删除用户:get和post
特点:
1、请求方法:只使用get和post即可
2、URL不唯一,同一个操作可以对应不同的URL
3、状态码的使用比较单一,200比较常见
18、RESTful接口
定义:一种软件架构设计风格而不是标准,只是提供了一组设计原则和约束条件
RESTful架构特点:
1、统一的接口:http(s)/服务器地址:端口号【项目名称/版本-可选】资源
http:// 为我们http协议的访问头标准
服务器地址:为我们项目服务器ip地址
端口号:为我们服务器内项目访问的指定编号
项目名称/版本:可选
资源:互联网-图片、音乐、视频、文本、数据
2、http请求方法
get:从服务器取出资源 一个或者多个
post:在服务器新建一个资源 单个或者多个
put:在服务器更新资源(客户端提供改变后的完整资源)
delete:从服务器删除资源
19、接口测试流程
1、需求分析,主要依据需求文档
2、接口文档解析,一般是由开发人员编写接口文档(API文档)
3、设计测试用例
4、执行测试,使用接口测试工具实现或通过编写代码实现
5、接口缺陷管理与跟踪
6、生成测试报告
7、接口自动化集成(可选)
开发:概要设计书、详细设计书、代码
测试:测试计划、测试方案、测试用例、执行测试用例、提交跟踪缺陷、编写测试报告
20、接口文档定义
又称为API文档,一般是由开发人员所编写的,用来描述系统所提供接口信息的文档。大家都根据这个文档进行开发,并需要一直维护和遵守。
21、为什么要写接口文档
1、能够让前端开发与后端开发人员更好的配合,提高工作效率(有一个统一参考的文件)
2、项目迭代或者项目人员更迭时,方便后期人员查看和维护
3、方便测试人员进行接口测试
22、接口文档内容
一个规范的接口文档要包含以下信息
资源路径:协议、域名、请求方法、接口描述
请求参数:请求头Content-Type描述请求体的数据类型
请求体:实现该接口使用的数据及对应类型
返回数据:状态码200,错误码(自定义错误码)码值+描述信息
最后我给大家整了一套软件测试面试文档,一共有216页,应该对朋友们跳槽面试、升职加薪、摆脱职业困境、提高自己的技术有很大的帮助,希望各位都能前程似锦。【点击文末小卡片免费领取软件测试全套资料】
基本涵盖了软件测试的全部核心技术点:测试理论,Linux 基础,MySQL 基础,Web 测试,接口测试,App 测试,管理工具,Selenium 相关,性能测试,计算机网络,组成原理,数据结构与算法,逻辑题,人力资源,技术脑图等等…质量非常高!!!应对技术面试绰绰有余!