接口测试的基础
1 接口测试:
是对系统或组件之间的接口进行测试,主要是校验数的交换,传递,和控制管理过程,以及相互逻辑依赖关系。
2.1接口测试原理
模拟客户端向服务器发送请求,服务器接收请求后进行相应的业务处理,冰箱客户端返回相应数据,检查响应数据是否符合预期。
2.2接口测试特点:
(1)测试可以提前介入,提早发现BUG,符合质量控制前移的理念
(2)可以发现一些页面操作发现不了的问题
(3)接口测试低成本高效益
(4)不同于传统的单元测试,接口测试是从用户角度对系统进行全面的检测
2.3接口测试的实现方式
(1)使用接口测试工具实现(比如:JMeter,Postman)
接口测试的本质就是通过接口发送请求,查看响应是否正确,现阶段主要以postman工具来实现接口测试,JMeter会在后续的性能测试中讲解
(2)通过编写代码来实现:
接口测试的另一种方式就是通过代码实现,由于本质就是向接口发送请求,同样可以实现代码,并且代码相比工具更加灵活,但要求测试人员具有一定的coding能力
2.4接口自动化:
测试的分类:
按照是否自动化测试分类:
手工测试
自动化测试
1.什么是接口测试?
通过工具或代码向接口发送请求, 获取响应数据, 验证接口返回的数据是否与预期一致.
2.接口测试有哪些方式?
接口测试一般有两种方式, 即工具和代码实现.
工具有postman和Jmeter可供选择
代码, 可以使用python+requests模块实现
3.接口测试有哪些特点?
1.接口可以提前介入测试, 符合测试前移的理念, 越早发现缺陷, 越早修复, 损失越小
2.接口测试可以发现一些页面发现不了的bug
3.接口测试成本低收益高
4.接口测试不同于单元测试, 接口测试是站在用户的角度进行分析和测试的
4.请写出OSI七层模型, TCP/IP五层模型, TCP/IP四层模型
OSI七层模型: 应用层, 表示层, 会话层, 传输层, 网络层, 数据链路层, 物理层
TCP/IP五层模型: 应用层,传输层, 网络层, 数据链路层, 物理层
TCP/IP四层模型: 应用层,传输层, 网络层, 数据链路层(网络接口层)
5.请写出8中常见的请求方法
(1).get
(2).post
(3).put
(4).delete
(5).patch
(6).options
(7).head
(8).trace
6.请写出你知道的响应状态码
-
200
-
200, 请求成功
-
-
300
-
301, 永久重定向
-
302, 临时重定向
-
-
400
-
400, 请求错误
-
401, 未授权
-
403, 禁止访问
-
404, 未找到资源
-
-
500
-
500, 服务端内部错误
-
501, 未实现
-
502, 网关错误
-
504, 网关超市
-
505, HTTP版本不支持
-
7.请简述什么是RESTful
RESTful是一种风格, 一种约束, 而不是一种标准. 遵循restful风格的架构, 我们称为restful架构, 其风格特点比较明了, 比如获取单个用户的信息, 一般我们URL会写成/users/userid, 如果获取所有用户, 一般URL会写成/users
8.请简述接口测试流程
-
需求分析
-
接口文档解析
-
测试用例编写
-
执行测试用例
-
缺陷跟踪
-
产出报告
9.请简述postman断言的特点
(1).使用postman进行接口测试, 其断言写在Tests里面, Tests内的脚本响应数据接收到后才执行
(2).执行测试后, 在Test Results当中查看断言结果
10.请写出postman几种常见的断言
-
断言响应状态码是不是为200
-
断言响应体JSON数据
-
断言响应体是否包含指定字符串
-
断言响应体是不是等于一个字符串
-
断言响应头信息是否包含指定的头部信息