测试数据
测试数据(也叫 mock 数据、模拟数据、假数据)是指在开发和测试阶段人为构造、用来替代真实业务数据的一批数据。它们在结构和格式上通常与真实数据一致,比如合法的手机号、邮箱、身份证或银行卡号,但内容是虚构的,不对应任何真实的人或真实交易。
它的核心作用是让程序在没有真实数据的情况下也能跑起来、被验证。常见场景包括:
- 填充页面和列表,检查界面布局、排版与分页;
- 为接口和单元测试准备输入,覆盖正常值、空值与边界值;
- 压测时用
random-number、mock-data批量生成大量记录; - 演示或截图时避免暴露真实用户信息。
使用时要注意两点。一是别把「mock 数据」和单元测试里的「mock(打桩,即替换掉外部依赖的行为)」混为一谈:前者是数据,后者是一种测试手法。二是不要直接拷贝生产库里的真实用户数据来测试,既有隐私合规风险,也可能误发短信、误触发扣款。像本站 credit-card 生成的卡号只满足 Luhn 校验、并非真实可用卡,正是为了安全地填充这类字段。
常见问题
测试数据和真实数据有什么区别?
测试数据是人为构造的,格式合法但内容虚构,不对应真实用户或交易;真实(生产)数据来自实际业务,包含真实个人信息。用测试数据可以避免隐私泄露和误操作风险。
mock 数据就是单元测试里的 mock 吗?
不是。mock 数据指虚构的数据内容;单元测试里的 mock 指用桩(stub)替换数据库、第三方接口等外部依赖的行为。两者名字相近但概念不同,容易混淆。
生成的测试银行卡号能真的用来支付吗?
不能。这类卡号一般只通过 Luhn 校验算法,格式合法、可用于填表和功能测试,但不绑定任何真实账户,无法完成实际扣款。