接口测试(十二)

news2024/12/25 15:45:38

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

在这里插入图片描述

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.coloradmin.cn/o/2141312.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

CC2530实现按键控制LED

实现按钮控制LED1开启和关闭 1配置环境 2扩展资料 通用io和外设io 设置输入输出 设置输入模式 3实例代码 #include "ioCC2530.h"void delay(int n){int i,j;for(i0;i<n;i){for(j0;j<240;j){asm("NOP");asm("NOP");asm("NOP")…

改编pikachu的打靶经历(题目不全)

前言 题目很少&#xff0c;只做了一些。正常版本的&#xff0c;完整的pikachu可参考下面这个师傅写的 https://www.cnblogs.com/henry666/p/16947270.html xss &#xff08;get&#xff09;反射xss 先尝试 1 这里有长度限制&#xff0c;而且&#xff0c;我改了长度&#xf…

带通滤波反相衰减器电路

1 简介 该可调带通衰减器可在 10Hz 到 100kHz 的频率范围内将信号电平降低 40dB。它还支持独立控制直流输出电平。该设计选择的极点频率在通带之外&#xff0c;以最大限度地减小指定带宽范围内的衰减。 2 设计目标 2.1 输入 2.2 输出 ​​​ 2.3 电源 3 电路设计 根据设计…

TalkSphere项目介绍

TalkSphere项目介绍 文章目录 TalkSphere项目介绍一、前言二、技术栈及开发环境三、主要功能&#xff08;一&#xff09;用户登录与注册&#xff08;二&#xff09;用户历史消息展示&#xff08;三&#xff09;在线用户实时聊天 四、结语 一、前言 在线聊天室作为一个虚拟社交…

JS高级(三)、深浅拷贝,异常处理,this指向总结,改变this指向;节流和防抖

文章目录 一、深浅拷贝1. 浅拷贝&#xff1a;object.assign;解构赋值2. 深拷贝&#xff1a;递归函数、lodash的cloneDeep、JSON 二、异常处理1. throw2. try catch finally 三. this总结1、this的指向2、箭头函数this的指向3、改变函数this的指向 四. 节流和防抖1. 防抖(deboun…

【KiCAD安装教程】

【KiCAD安装教程】 KiCAD安装教程1. 访问KiCAD官网2. 选择版本3. 下载镜像4. 运行安装程序5. 开始安装6. 用户类型选择7. 组件选择8. 安装位置9. 安装过程10. 完成安装 KiCAD安装教程 KiCAD是一款开源的电子设计自动化&#xff08;EDA&#xff09;软件套件&#xff0c;主要用于…

Axure RP 9最新安装程序及汉化包下载(支持Win、Mac版,附下载安装教程)

数月前Axure RP官方已经发布了Axure RP 9的消息&#xff0c;并计划在今年夏天发布beta版本。新版Axure RP 9将是该工具向前迈出的重要一步&#xff0c;其中包括一系列广泛的改进&#xff1a;全面的UI修改&#xff0c;新的设计和文档功能以及前所未有的内部优化。我们已经彻底重…

【渗透测试】——Upload靶场实战(1-5关)

&#x1f4d6; 前言&#xff1a;upload-labs是一个使用 php 语言编写的&#xff0c;专门收集渗透测试和CTF中遇到的各种上传漏洞的靶场。旨在帮助大家对上传漏洞有一个全面的了解。目前一共21关&#xff0c;每一关都包含着不同上传方式。 目录 &#x1f552; 0. 安装phpstudy&a…

Modelsim SE-64 2020.4关闭优化

一、问题起源 本人由于之前一直使用AMD的板子&#xff0c;使用vivado自带仿真器进行功能仿真&#xff0c;由于自带的页面简洁和仿真时间自己还都可以接受就没有什么modelsim联合仿真&#xff0c;又因准备FPGA大赛的国产FPGA易灵思的题目&#xff0c;使用Efinity&#xff0b;Mod…

嵌入式开发与应用实验四——通过串口通信实现收发功能

一、实验目的 1. 了解 USART 的基本特性&#xff1b; 2. 掌握STM32串口通信的基本原理&#xff0c;了解异步通信的概念&#xff1b; 3. 掌握用库函数操作 USART 的方法&#xff0c;学习编程实现STM32的USART通信&#xff1b; 4. 掌握如何使用 STM32 的串口发送和接收数据。…

vue part 11

vuex的模块化与namespace 115_尚硅谷Vue技术_vuex模块化namespace_1_哔哩哔哩_bilibili 116_尚硅谷Vue技术_vuex模块化namespace_2_哔哩哔哩_bilibili vue-router路由 很常见的很重要的应用&#xff1a;Ajax请求&#xff0c;将响应的数据替换掉原先的代码从而实现不跳转页面…

监控系列之-Grafana面板展示及制作

一 Grafana设置添加数据源 1、设置Grafana中文显示 最后保存退出&#xff0c;数据源添加完毕 2、导入node_exporter主机监控面板 此处 有外网的情况下&#xff0c;直接输入对应面板的ID号&#xff0c;然后点击加载即可&#xff1b;无无外网的话&#xff0c;则考虑使用上传仪表…

钢材表面缺陷数据集以coco格式做好了数据集的划分,1200张训练集,600张验证集,对应的json文件也在里面

钢材表面缺陷数据集 以coco格式做好了数据集的划分&#xff0c;1200张训练集&#xff0c;600张验证集&#xff0c;对应的json文件也在里面。 钢材表面缺陷检测数据集营销介绍 项目背景&#xff1a; 钢材作为工业生产的重要原材料之一&#xff0c;其表面质量直接影响到成品的性…

基于菜鸟教程的flask学习记录 —— Flask视图函数

文章目录 前言Flask视图函数1.定义视图函数2.接收请求数据&#xff08;1&#xff09;获取URL参数&#xff08;2&#xff09;获取表单数据&#xff08;3&#xff09;获取查询参数 3.返回响应&#xff08;1&#xff09;返回字符串&#xff08;2&#xff09;返回HTML模板&#xff…

机器人自主导航从零开始第四步———Rviz、Gazebo、Meshlab的安装

本文参考资料&#xff1a; rviz - ROS 维基 Gazebo : Tutorial : Ubuntu (gazebosim.org) 零. 什么是Rviz和Gazebo&#xff1a; Rviz是一个三维可视化工具&#xff0c;它利用已有的数据将数据可视化&#xff0c;并提供了可以显示图像、模型、表格、路径等信息的插件&#x…

css百分比布局中height:100%不起作用

百分比布局时&#xff0c;我们有时候会遇到给高度 height 设置百分比后无效的情况&#xff0c;而宽度设置百分比却是正常的。 当为一个元素的高度设定为百分比高度时&#xff0c;是相对于父元素的高度来计算的。当没有给父元素设置高度&#xff08;height&#xff09;时或设置…

浮点数始末详解|科学计数法、浮点数表示、精度有效值、规格化与非规格化

如果直接看浮点数表示法有点费力或者不好理解&#xff0c;不妨复习一下科学计数法。毕竟我们一直接触十进制&#xff0c;从十进制的角度可能更好理解其特性。 目录 科学计数法 Scientific Notation1. 科学计数法的定义2. 精确度与有效数字3. 转换为科学计数法示例&#xff1a;…

商务人士必备的精准翻译工具盘点

网易翻译是一款我外出游玩时候必备的翻译工具&#xff0c;最近没出去玩但是有更多的翻译需求了&#xff0c;为了方便在电脑上的操作我也找了不少翻译工具&#xff0c;这次一起分享给大家&#xff0c;看看哪款更得你的眼缘。 1.福昕在线翻译 链接直达&#xff1a;https://fany…

集群聊天服务器项目【C++】(六)MySql数据库

前面已经介绍了网络模块和业务模块&#xff0c;本章介绍数据模块&#xff0c;同样保持模块解耦的特性&#xff0c;即业务模块不能出现数据模块内容&#xff0c;如出现SQL语句&#xff0c;接下来看看怎么实现的。 1.环境安装 第一章已经介绍了MySql安装&#xff0c;但注意需要…

基于R语言的统计分析基础:使用SQL语句操作数据集

在使用R语言数据分析时&#xff0c;可以融合SQL语言使数据聚集操作更加便利&#xff0c;同时也可以增加对SQL语句的熟悉。借助sqldf、DBI、RSDLite等包&#xff0c;可以在R环境中直接运用SQL语句&#xff0c;轻松实现数据的分组统计、汇总分析&#xff0c;SQL的强大查询能力简化…