1.1.接口
接口概念:指的是系统或组件之间的交互点,通过这些交互点可以实现数据的交互(数据交互的通道)
接口分类:硬件接口与软件接口,作为测试工程师,更多关注软件层面的接口
1.2.软件接口类型
接口测试分类有许多种,按照范围划分:系统之间的接口和程序内部的接口
系统之间的接口:多个内部系统之间的交互,内部系统与外部系统之间的交互
程序内部的接口:方法与方法之间,模块与模块之间的交互
2.接口测试
2.1什么是接口测试
接口测试是对系统或组件之间的接口进行测试,主要是校验数据的交换、传递和控制管理过程,以及互相逻辑依赖关系。
2.2接口测试原理是什么
接口测试的原理主要是模拟客户端向服务端发送请求,服务器接收请求后进行相应的业务处理,并向客户端返回响应数据,检查响应数据是否符合预期。
接口测试的特点:
1)测试可以提前介入,提早发现Bug,符合质量控制前移的理念
根据W测试模型(双v模型)提倡测试提前介入,提前介入测试,可以尽早发现问题,越早发现问题,成本越小。
2)可以发现一些页面操作发现不了的问题。
页面可能在前端进行了操作的限定,比如注册功能中密码框输入的长度等,在进行页面进行测试时,是不能超过长度输入的,但通过访问接口,可以自动以密码的长度,接口测试可以发现页面发现不了的问题。
3)接口测试实现低成本高效益(底层的一个Bug能够引发上层8个左右的Bug,接口测试可以实现自动化)
接口测试可能通过几行代码,执行多条用例,可以大大提高工作的效率,节约企业成本。
4)不同于传统的单元测试,接口测试是从用户的角度对系统进行全面的检测。
接口测试实现方式:
1)使用接口测试工具来实现(比如:JMeter、Postman)
接口测试的本质就是通过向接口发送请求,查看响应是否正确,现阶段主要以postman工具来实现接口测试,JMeter会在后续的性能测试中终点讲解。
2)通过编写代码来实现(比如:Python + Request)
接口测试的另一种方式就是通过代码实现,由于本质就是向接口发送请求,同样可以使用代码实现,并且代码相比工具实现起来更加灵活,但要求测试人员具有一定的coding能力。
2.3接口自动化
二. 网络协议1.常见的网络协议
TCP/IP(传输控制)协议、UDP(用户数据报)协议、HTTP协议、FTP(文件传输)协议、Telnet协议、SMTP协议、SSH(远程登录)协议等
1.2HTTP协议
概念:
HTTP协议,(HyperText Transer Protocol)超文本传输协议,是一个基于请求与响应模式的、应用层的协议,也是互联网上应用最为广泛的一种网络协议(传输超文本 --> 超文本)
HTTP协议特点:
1.智齿客户端/服务器模式
2.简单快速:快速传输,http协议比https协议更加分高效(https比HTTP更加安全)
3.灵活
4.无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并受到客户的应答后,即断开连接。
5.无状态:协议对于事务处理没有记忆能力,对同一个url请求没有上下文关系,每次的请求都是独立的,它的执行情况和结果与前面的请求和之后的请求是无直接关系的,它不会受前面的请求应答情况直接响应,也不会直接影响后面的请求应答情况。
1.3HTTP响应
http响应分三部分组成: 状态行、响应头、响应体
URL:
2.RESTful接口规范
概念:RESTful是一种软件架构风格、设计风格,而不是标准,只是提供了一组设计原则和约束条件。
REST:即(Representational State Transfer)的缩写,词组翻译为“表现层状态转化”,如果一个架构符合REST原则,就称它为RESTful架构。
RESTful接口风格:
RESTful接口特点:
测试接口流程:



