当前位置: 首页 > news >正文

接口测试(十二)

一、前台、后台、数据库三者关系

在这里插入图片描述

fiddler抓包是抓取客户端 --> 服务端 发送的的请求接口
开N个网页,只要有对后端发送请求, fiddler是无差别抓取
F12只抓取当前页面的数据

二、接口概念

  1. 接口是什么?— 传递数据的通道
    测试系统组件间接口的一种测试,工具模拟前端对接口进行调用 — 灰盒测试
  2. 项目处于哪种测试阶段? — 为什么需要测试接口,做接口的意义,对接口测试的理解
    接口测试应用场景:
    ① 前端晚于后端开发,后端已经开发结束,没有前端,提前介入测试,用工具模拟前端,对接口调用 — 集成测试,测试左移
    ② 防止恶意绕过前端,对后端发送异常数据 — 接口能够处理,接口的安全性 — 系统测试
  3. 扩展:测试左移,测试右移

单元测试 — 集成测试 — 系统测试 — 验收测试
需求阶段 — 开发阶段 — 测试阶段 — 上线阶段

测试左移:提早介入项目中,降低成本,提高效率,尽早发现问题,接口 — 越早发现问题,系统测试的时候BUG越少
测试右移:介入到用户问题收集,上线后,问题解决 — 跟踪用户bug,补充用例

三、接口类型

  1. 接口主要包括:2种类型
    ① 同一个系统中模块与模块间的接口/前后端接口 – 内部接口
    ② 另一个是跨系统平台的对接 – 外部接口/第三方接口,身份验证等
  2. 常见接口类型/协议
    a. HTTP(S)类型/协议:通过GET或POST等方法来获取数据,在数据处理上效率比较高
    b. webservice类型/协议:通过soapi协议来获取数据,比起http来说能处理更加复杂的数据类型。本质也是http协议封装的
  3. http
    参看pdf 《深入浅出https》

四、常见http状态码

200 | 正常 | 表示一切正常,到了服务器,并且服务器响应了请求
302 | 临时重定向 | 指出被请求的文档已被临时移动到别处,此文档的新的URL在Location响应头中给出
304 | 未修改 | 表示客户机缓存的版本是最新的,客户机应该继续使用它,比如前端js - 缓存,节省资源
403 | 禁止 | 服务器理解客户端请求,但拒绝处理它。通常由于服务器上文件或目录的权限设置所致
404 | 找不到 | 服务器上不存在客户机所请求的资源 – 客户端地址错误
500 | 内部服务器错误 | 服务器 CGI,ASP,JSP等程序发生错误 – 服务器挂了
504 | 超时

五、解释 cookie,session,token

  • cookie 在客户端存储用户的一些数据
  • session 在服务器端,记录用户的请求状态,一般默认有效时间为30min
  • token 用计算成本替换存储空间成本
    用户权限检查 鉴权方式 cookies+session token

session_id会存储在cookie中,每次请求cookie中的所有信息都会传送给服务器,服务器通过session_id来识别是否是同一个用户的请求。不是同一个用户的话,要求用户重新登陆

六、 接口测试流程步骤 — 接口测试怎么做!!!

  1. 获取接口需求并分析 – 开发 ,前端抓包
  2. 编写接口测试用例&用例评审
  3. 项目环境部署 – 给现成可直接测试
  4. 执行测试 & 工具选用 – Jmeter,postman,soapUI
  5. 提交BUG并跟讲
  6. 单独需要整理接口测试报告

要求:

  • 软件测试基础知识,编写用例,设计方法
  • 数据库知识,观察数据表中的数据流
  • 接口概念,http协议知识
  • 工具,Jmeter原理及具体操作步骤
  • 分析能力,需求业务/日志分析/浏览器抓包定位问题/fiddler抓包定位问题/数据库

七、接口测试用例模板

在这里插入图片描述

八、接口测试用例设计考虑

1、先考虑接口的正常调用
按照接口定义,传递正确的接口信息,包括地址、方法、传输数据,然后查看返回的响应结果是否正确、数据库数据是否正确;
1)传递的请求数据覆盖有效类、边界值
2)返回的响应结果的每个字段都需检查,例如code、msg信息
3)调用接口对数据库中数据的测试,增删改业务接口调用需确保到表字段的正确性验证

2、考虑请求参数的错误、异常情况
1)请求数据输入异常值,例如空值、长度类型异常等,接口能否正确处理且返回响应是否合理;
2)考虑业务约束,例如订单状态必须确认收货后才能评价,调用非该状态的订单,进行评价
3)输入错误的参数名、多一个参数、少一个参数,接口能否正确处理且返回响应是否合理;

3、关注接口的安全性测试:
1)敏感数据,例如密码是否加密传输;
2)返回数据是否含有敏感数据,如身份证信息、完整的用户银行账号信息等;
3)接口是否对传入的数据做安全校验,如用户鉴权token校验;


http://www.mrgr.cn/news/28449.html

相关文章:

  • 图形几何之美系列:法向量计算之轮廓有向面积辅助法
  • 【Redis】Redis的一些应用场景及使用策略
  • Python数据分析NumPy和pandas(二十九、其他Python可视化工具)
  • 微信小程序上传pdf和显示
  • Atlassian公司相关信息
  • 数据仓库面试题集离线实时
  • 【网络】TCP/IP 五层网络模型:数据链路层
  • 速盾:怎么使用cdn加速视频?
  • c++ templates常用函数
  • 进口车电子信息单二维码解密
  • react hooks--useLayoutEffect
  • Python pdf转换为html
  • vmvare如何给centos7 设置静态IP地址
  • 计算机的错误计算(九十五)
  • 【C++学习入门】6.左值右值
  • 探索人工智能的未来趋势
  • 24.9.16数据结构|平衡二叉树
  • [项目][WebServer][Makefile Shell]详细讲解
  • 机器学习的入门指南
  • re题(22)BUUFCTF-[ACTF新生赛2020]rome
  • 速盾:cdn免备案免费加速?
  • Spring为什么要用三级缓存解决循环依赖?
  • Robot Operating System——带有协方差矩阵的线速度和角速度
  • 世界排名第一的数码照片和图形放大软件PhotoZoom Pro 9
  • 【ShuQiHere】 进位回补与溢出问题全解:二补码与一补码的进阶指南
  • 指纹与指甲检测系统源码分享