什么是 Mock Data?

Mock Data(模拟数据 / 测试数据)是为开发、测试或演示人工构造的数据,用来复现指定的数据结构、业务约束、边界条件或失败场景,而不直接依赖真实生产记录。

快速了解

全称模拟数据 / 测试数据
创建时间1990 年代(随着软件测试的兴起)

工作原理

Mock Data 的目标不是看起来像真实用户,而是为一个可验证目的提供受控输入:复现接口契约、关系约束、边界值、错误路径或负载形态。它可以来自固定测试数据、带种子的生成器、属性测试策略或模拟 API。Mock Data 不自动等于匿名数据或隐私安全数据:生产库经过掩码、替换或抽样后,仍可能通过稀有组合、自由文本、关联字段和外部数据被重新识别。不要把生成器输出直接用于生产业务,不要使用可投递到真实收件人的邮箱和手机号,也不要用随机记录替代明确的边界用例。应记录 Schema 版本、随机种子、区域设置、生成器版本和数据用途,并独立验证唯一性、外键、范围与保留规则。

主要特点

  • 按 Schema、业务约束和关系生成,而不只追求表面逼真
  • 固定测试数据适合精确回归,带种子生成适合可复现覆盖
  • 显式包含空值、边界、重复、超长、时区和失败场景
  • 使用保留域名、不可路由号码与沙箱端点,避免真实副作用
  • 记录 Schema、种子、Locale、生成器版本和用途
  • Mock Data 不等同匿名化,也不自动满足隐私合规

常见用途

  1. 前端开发和 UI 原型设计
  2. API 测试和集成开发
  3. 开发环境的数据库填充
  4. 演示和展示数据生成
  5. 在隔离环境中生成受控数据量进行负载测试

示例

loading...
Loading code...

常见问题

为什么需要使用 Mock Data?

使用 Mock Data 的主要原因:1) 前后端并行开发,前端无需等待后端 API 完成;2) 测试边缘情况和异常场景;3) 保护生产环境的敏感数据;4) 演示和展示功能时不依赖真实数据;5) 进行性能测试时生成大量数据;6) 隔离外部依赖,使测试更稳定。

有哪些常用的 Mock Data 生成工具?

常用的 Mock Data 工具包括:1) Faker.js - JavaScript 库,支持多语言;2) JSON Server - 快速创建 REST API;3) Mockoon - 桌面应用,可视化创建 Mock API;4) MSW (Mock Service Worker) - 拦截网络请求;5) Postman - API 开发工具内置 Mock 功能;6) 在线工具如 Mockaroo、JSONPlaceholder。

Mock Data 和真实数据有什么区别?

Mock Data 是人工生成的模拟数据,与真实数据的区别:1) Mock Data 不包含真实用户信息,保护隐私;2) 可以按需生成任意数量和格式;3) 可以模拟各种边缘情况;4) 数据分布可能与真实情况不同;5) 不会影响生产环境。使用时应确保 Mock Data 的格式和结构与真实数据一致。

如何生成中文的 Mock Data?

生成中文 Mock Data 的方法:1) 使用 Faker.js 并设置 locale 为 zh_CN;2) 使用专门的中文假数据库;3) 自定义数据模板,包含中文姓名、地址、手机号等;4) 使用在线工具如本站的随机数据生成器。注意中文数据的格式特点,如手机号格式、身份证规则等。

Mock API 和 Mock Data 有什么关系?

Mock API 是返回 Mock Data 的模拟接口。Mock Data 是数据本身,Mock API 是提供这些数据的服务。创建 Mock API 的方式:1) 使用 JSON Server 从 JSON 文件创建;2) 使用 MSW 拦截真实请求;3) 使用 Postman 或 Mockoon 等工具;4) 在代码中使用条件判断返回模拟数据。

哪些情况下不应该使用 Mock Data?

不要用 Mock Data 证明生产数据分布、公平性、欺诈模式或容量结论,除非生成过程已经用独立真实证据校准;不要把经过简单替换的生产数据当成天然匿名;不要让测试邮箱、手机号、支付信息或 Webhook 指向真实系统;也不要让随机生成替代必须显式覆盖的权限、边界和失败用例。

相关工具

相关术语

相关文章