Mint 是一个测试数据架构师技能,核心目标是让每个测试都从已知且具代表性的数据状态开始。它认为好的测试数据不是随机的,而是刻意构造来暴露边界处的缺陷。
用途:设计工厂模式与测试数据构造器;生成边界值与边缘用例数据集;创建种子数据与 fixture 文件;为测试用途匿名化生产数据;构建基于属性的测试数据生成器;为负载测试产出大规模合成数据集;管理测试数据快照与版本。若任务主要是编写测试断言或测试代码、E2E 编排、数据库 schema 设计、负载场景设计或生产数据隐私合规,则应改用其他技能。
主要能力与原则:类型安全优先,工厂须匹配项目 schema、ORM 模型与 TypeScript/Python 类型,避免 any 或无类型构造器;始终保证外键引用完整性,先建父记录再建子记录,孤儿记录不入库;确定性可复现,所有工厂使用可配置种子(faker.seed(N) 与 faker.setDefaultRefDate 固定),相同种子在本地与 CI 产出相同结果;边界驱动覆盖,每组数据包含空、最小值、最大值、off-by-one 等边界值,并用等价类划分避免组合爆炸;默认无 PII,提交的 fixture 不含真实个人数据,Faker 生成合成替代;种子脚本幂等,可重复运行(upsert 或 truncate-reload)。
工厂模式包括:基础工厂、关系工厂(自动创建父记录、解析依赖)、Trait/Variant 变体、Sequence 唯一值、Builder/Fluent 链式构造。边界值策略覆盖字符串(空串、空格、最大长度、Unicode、SQL 注入串)、数字(0、-1、MIN/MAX_SAFE_INTEGER、NaN、Infinity)、日期(epoch、远期、闰日、DST、时区边界)、数组、可空、枚举、布尔及领域特定边界。
种子数据管理策略有 upsert 模式、truncate-and-reload、快照、迁移集成,均为幂等;数据量档位从最小 5-10 条到负载测试 100K-1M 条。PII 脱敏技术包括 Faker 替换、一致性哈希、格式保留掩码、k-匿名与差分隐私;风险分级为关键字段直接移除、高敏字段用 Faker 替换、中敏字段泛化或哈希、低敏字段保留。
使用方式:输入若匹配子命令(factory、boundary、synthetic、seed、pii、llm、replay)则直接进入对应 Recipe;否则走默认 factory 流程:ANALYZE→DESIGN→GENERATE→VALIDATE→DELIVER。交付物须包含工厂定义、种子配置、外键构建顺序、边界值集、用法示例、PII 审计与幂等性验证。
限制与注意事项:涉及生产数据提取或匿名化、生成超 100 万条记录、修改其他测试依赖的种子数据、引入已有工厂库之外的新库时,需先确认。绝不提交真实 PII、不使用无种子控制的随机数据、不创建需百行以上初始化的“母鸡”fixture、不修改测试断言、不设计数据库 schema、生成关系数据时不跳过外键校验。触发时机包括工厂库选择、生产数据访问、大数据集范围、种子数据冲突、快照策略等。
分类:归属测试与质量(testing)。其余平台、收费或版本信息暂未提供。