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

软件测试学习笔记丨Mock的价值与实战

本文转自测试人社区,原文链接:https://ceshiren.com/t/topic/32331
在这里插入图片描述

一、Mock的价值与意义

1.1 简介

  • 测试过程中,对于一些不容易构造或获取的对象,用一个虚拟的对象来替代它,达到相同的效果,这个虚拟的对象即Mock。

  • 当做测试时,如果后端某些接口还不成熟,所依赖的接口不稳定,所依赖的接口为第三方接口,或者构造依赖的接口数据太复杂等等这些问题,可以用Mock的方式,先虚拟接口返回来代替真正的接口,从而提高工作效率。

1.2 Mock测试的场景

  • 前后端数据交互,比如联调
  • 第三方系统数据交互
  • 硬件设备解耦

1.3 Mock的价值与意义

  • 不依赖第三方数据
  • 节省工作量
  • 节省联调

二、Mock核心要素

  • 匹配规则:
    • 确定要对哪个接口,或者哪些接口进行修改;
    • 需要对接口中的哪些数据做修改。
  • 模拟响应:
    • 当接口符合了指定的匹配规则之后,就要把对应匹配上的内容做篡改;
    • 具体要篡改成什么样子,需要根据设计的测试用例来确定。比如,要验证的是前端内容展示的场景,那根据等价类、边界值,就需要设计很多不同的展示内容,如超长展示、不同数据类型等。

三、Mock实战

3.1 Rewrite

3.1.1 Rewrite原理

3.1.2 实战

  • 场景:
    • 修改雪球行情页面的股票名称;
    • 修改雪球行情页面的股票价格。
  • 设置方法:
  1. Tools->Rewrite
  2. 勾选Enable Rewrite
  3. 点击下方Add新建一个重写规则
  4. 在右侧编辑重写规则
  5. 点击OK生效

3.2 Map Local

3.2.1 Map Local原理

3.2.2 实战

  • 场景:
    • 修改雪球行情页面的股票名称;
    • 修改雪球行情页面的股票价格。
  • 设置方法:
  1. 准备本地接口响应数据
  2. 配置Map Local
  3. 选择要进行Map Local的接口
  4. 鼠标右键->选择Map Local选项,进入设置页面
  5. Map Form填写接口的信息
  6. 修改Map Local配置:Tools->Map Local

3.3 Map Remote

3.3.1 Map Remote原理

3.3.2 实战

  • 场景
    • 访问百度,转发至豆瓣
    • 访问开发环境,转发至测试环境
  • 操作
  1. 选择接口,点击鼠标右键,选择 Map Remote 进入到设置页面
  2. 设置重定向的接口信息
  3. 点击 ok 生效
  4. 修改设置:Tools – Map Remote 找对对应接口双击进入修改界面

在这里插入图片描述

推荐学习

【霍格沃兹测试开发】7天软件测试快速入门带你从零基础/转行/小白/就业/测试用例设计实战

【霍格沃兹测试开发】最新版!Web 自动化测试从入门到精通/ 电子商务产品实战/Selenium (上集)

【霍格沃兹测试开发】最新版!Web 自动化测试从入门到精通/ 电子商务产品实战/Selenium (下集)

【霍格沃兹测试开发】明星讲师精心打造最新Python 教程软件测试开发从业者必学(上集)

【霍格沃兹测试开发】明星讲师精心打造最新Python 教程软件测试开发从业者必学(下集)

【霍格沃兹测试开发】精品课合集/ 自动化测试/ 性能测试/ 精准测试/ 测试左移/ 测试右移/ 人工智能测试

【霍格沃兹测试开发】腾讯/ 百度/ 阿里/ 字节测试专家技术沙龙分享合集/ 精准化测试/ 流量回放/Diff

【霍格沃兹测试开发】Pytest 用例结构/ 编写规范 / 免费分享

【霍格沃兹测试开发】JMeter 实时性能监控平台/ 数据分析展示系统Grafana/Docker 安装

【霍格沃兹测试开发】接口自动化测试的场景有哪些?为什么要做接口自动化测试?如何一键生成测试报告?

【霍格沃兹测试开发】面试技巧指导/ 测试开发能力评级/1V1 模拟面试实战/ 冲刺年薪百万!

【霍格沃兹测试开发】腾讯软件测试能力评级标准/ 要评级表格的联系我

【霍格沃兹测试开发】Pytest 与Allure2 一键生成测试报告/ 测试用例断言/ 数据驱动/ 参数化

【霍格沃兹测试开发】App 功能测试实战快速入门/adb 常用命令/adb 压力测试

【霍格沃兹测试开发】阿里/ 百度/ 腾讯/ 滴滴/ 字节/ 一线大厂面试真题讲解,卷完拿高薪Offer !

【霍格沃兹测试开发】App自动化测试零基础快速入门/Appium/自动化用例录制/参数配置

【霍格沃兹测试开发】如何用Postman 做接口测试,从入门到实战/ 接口抓包(最新最全教程)

相关文章:

  • 【算法业务】关于数据驱动的用户增长思考
  • Ubuntu 开机自启动 .py / .sh 脚本,可通过脚本启动 roslaunch/roscore等
  • DMDSC更换DCR和VOTE磁盘
  • MySQL-数据库设计
  • tomcat的安装,管理与配置
  • ECMAScript与Python、Java和C++比较的详细的代码案例
  • Excel中查找某个值的位置,用位置取值
  • 浅谈stm32的GPIO引脚配置模式
  • 在Ubuntu 16.04上安装Virtualmin与Webmin、LAMP、BIND和PostFix的方法
  • Swagger配置且添加小锁(asp.net)(笔记)
  • 遥感图像语义分割数据集制作(使用ArcGIS Pro)
  • 只申请一块sizeofimage的内存能否实现PE文件的拉伸
  • 【PyTorch】生成对抗网络
  • C++游戏开发详解:从入门到实践
  • c++primier第十二章类和动态内存
  • 分享一款快速APP功能测试工具
  • 【划重点】MySQL技术内幕:InnoDB存储引擎
  • 【前端学习】-粗谈选择器
  • 【刷算法】求1+2+3+...+n
  • CentOS6 编译安装 redis-3.2.3
  • JavaScript 事件——“事件类型”中“HTML5事件”的注意要点
  • tensorflow学习笔记3——MNIST应用篇
  • Vue.js源码(2):初探List Rendering
  • Vue全家桶实现一个Web App
  • 复习Javascript专题(四):js中的深浅拷贝
  • 开年巨制!千人千面回放技术让你“看到”Flutter用户侧问题
  • 悄悄地说一个bug
  • 世界编程语言排行榜2008年06月(ActionScript 挺进20强)
  • 微服务框架lagom
  • 阿里云服务器如何修改远程端口?
  • 新年再起“裁员潮”,“钢铁侠”马斯克要一举裁掉SpaceX 600余名员工 ...
  • ​RecSys 2022 | 面向人岗匹配的双向选择偏好建模
  • ​软考-高级-系统架构设计师教程(清华第2版)【第1章-绪论-思维导图】​
  • ​香农与信息论三大定律
  • #进阶:轻量级ORM框架Dapper的使用教程与原理详解
  • ${factoryList }后面有空格不影响
  • (10)STL算法之搜索(二) 二分查找
  • (Pytorch框架)神经网络输出维度调试,做出我们自己的网络来!!(详细教程~)
  • (附源码)springboot社区居家养老互助服务管理平台 毕业设计 062027
  • (过滤器)Filter和(监听器)listener
  • (十七)Flink 容错机制
  • (四十一)大数据实战——spark的yarn模式生产环境部署
  • (算法)区间调度问题
  • (一)十分简易快速 自己训练样本 opencv级联haar分类器 车牌识别
  • (轉貼) VS2005 快捷键 (初級) (.NET) (Visual Studio)
  • .htaccess配置常用技巧
  • .NET Core 实现 Redis 批量查询指定格式的Key
  • .Net Memory Profiler的使用举例
  • .NET WebClient 类下载部分文件会错误?可能是解压缩的锅
  • .NET/C# 阻止屏幕关闭,阻止系统进入睡眠状态
  • .NET多线程执行函数
  • .pop ----remove 删除
  • //TODO 注释的作用
  • @GetMapping和@RequestMapping的区别
  • @Query中countQuery的介绍