热门角色不仅是灵感来源,更是你的效率助手。通过精挑细选的角色提示词,你可以快速生成高质量内容、提升创作灵感,并找到最契合你需求的解决方案。让创作更轻松,让价值更直接!
我们根据不同用户需求,持续更新角色库,让你总能找到合适的灵感入口。
本提示词专为开发人员和测试工程师设计,能够根据代码结构、功能需求或用户故事等输入规格,自动生成全面且可执行的测试套件。通过智能分析输入信息,系统会创建包含单元测试、集成测试和功能测试的完整测试方案,显著提升测试覆盖率并减少人工编写测试用例的时间。该工具支持多种测试类型和优先级设置,确保生成的测试套件既符合业务需求又具备良好的可维护性。
本测试套件面向文生文的自动化测试套件生成器的三个核心组件:Parser、RequirementValidator、TemplateRenderer。目标是在单元测试级别覆盖正常、边界、异常路径,验证:
测试用例采用 Given/When/Then 的步骤表达,并按模块分层组织、统一中文短句命名,确保同一输入产生稳定用例编号。函数级覆盖率目标不低于 85%。
| 用例编号 | 模块 | caseName | 前置条件 | 测试步骤 | 预期结果 | 优先级 |
|---|---|---|---|---|---|---|
| PAR-001 | Parser | 中文标题解析 | 准备输入文本:标题 用户故事\n模块 Parser\n规则 邮箱校验\n输出格式 YAML\n优先级 高 |
Given 输入上述文本;When 调用 Parser.parse(text);Then 获取模型中的顶级章节集合 | 第一章节标题等于“用户故事”;存在模块字段值为“Parser”;存在规则字段包含“邮箱校验”;不抛异常 | 高 |
| PAR-002 | Parser | 有序列表解析 | 输入文本包含有序列表:1. 条目一\n2. 条目二 置于“用户故事”章节下 |
Given 输入包含上述列表的文本;When Parser.parse;Then 访问模型对应列表节点 | 列表类型为有序(ordered);items 长度为 2;items[0] 为“条目一”,items[1] 为“条目二” | 高 |
| PAR-003 | Parser | 嵌套小节解析 | 输入文本采用层级结构:标题 用户故事\n## 子节 A\n### 子节 A.1\n- 要点 |
Given 含 ##/### 的嵌套小节文本;When Parser.parse;Then 访问章节层级结构 |
子节 A 为二级章节;子节 A.1 为三级章节且父级为子节 A;“要点”作为子节 A.1 内的列表项存在 | 高 |
| PAR-004 | Parser | 空列表边界 | 文本中标注列表段落但无条目:有序列表:\n 或 1. 后无内容 |
Given 边界输入无有效条目的列表文本;When Parser.parse;Then 访问列表节点 | 列表节点存在但 items 长度为 0;不抛异常;模型标记列表为空以便后续验证器处理 | 高 |
| PAR-005 | Parser | 超长标题边界 | 标题长度 > 120 字,例如:标题 + 130 字中文串 |
Given 超长标题文本;When Parser.parse;Then 访问章节标题 | 标题完整保留;不截断不抛异常;模型记录标题长度属性(如有)或可通过长度断言 > 120 | 高 |
| VAL-001 | RequirementValidator | 完整User通过 | 准备 User 模型:{id: "u1", name: "张三", email: "zhangsan@example.com"};优先级从输入文本为“高” |
Given 完整 User;When RequirementValidator.validate(user);Then 获取验证结果 | errors 为空;priority 等于“高”;返回结构稳定 | 高 |
| VAL-002 | RequirementValidator | 缺失Email错误提示 | User 模型:{id: "u2", name: "李四"};无 email |
Given 缺失 email 的 User;When validate;Then 检查错误列表 | errors 包含“缺失必填字段: email”或等效明确文案;错误码/类型(如有)标记为必填缺失;priority 不受影响或降级与规则一致 | 高 |
| VAL-003 | RequirementValidator | 非法邮箱错误提示 | User 模型:{id: "u3", name: "王五", email: "abc#example.com"} |
Given 非法邮箱;When validate;Then 检查错误列表 | errors 包含“邮箱必须包含 @”;可包含定位信息(字段名 email);整体返回不抛异常 | 高 |
| VAL-004 | RequirementValidator | 中文Name通过 | User 模型:{id: "u4", name: "测试工程师", email: "tester@example.com"} |
Given 中文 name;When validate;Then 获取验证结果 | 不因中文字符产生错误;errors 为空;priority 正常返回 | 高 |
| REN-001 | TemplateRenderer | YAML基本渲染 | 准备解析后模型,包含至少 1 个章节与 1 条列表项;设置 options {format:'YAML', indent:2} |
Given ParsedModel;When TemplateRenderer.render(model, {format:'YAML', indent:2});Then 获取 YAML 文本 | YAML 文本包含 caseName:、前置条件:、步骤与断言: 键;键顺序稳定;不含 Tab 字符 |
高 |
| REN-002 | TemplateRenderer | YAML缩进一致性(嵌套) | 模型包含嵌套章节与子列表;options {indent:2} |
Given 嵌套模型;When render YAML;Then 检查缩进 | 所有嵌套层级以 2 空格缩进;同层级缩进宽度一致;不出现混用 2/4 空格 | 高 |
| REN-003 | TemplateRenderer | JSON渲染稳定性 | 同一模型;options {format:'JSON'} |
Given ParsedModel;When render JSON;Then 检查结构与行数 | JSON 可被 JSON.parse 成功解析;包含 caseName、前置条件、步骤与断言 字段;行数与对象数一致(或采用快照) |
高 |
| REN-004 | TemplateRenderer | YAML行数与片段稳定性 | 模型包含 3 条用例;options {format:'YAML', indent:2} |
Given 含 3 用例的模型;When render YAML;Then 统计行数与片段 | YAML 总行数随用例数量稳定增长(断言大于阈值);每个用例片段均出现 caseName:、前置条件:、步骤与断言:;同一输入多次渲染内容一致(可比对哈希或快照) |
高 |
标题 用户故事\n模块 Parser\n规则 邮箱校验\n输出格式 YAML\n优先级 高标题 用户故事\n## 子节 A\n### 子节 A.1\n1. 条目一\n2. 条目二\n- 要点标题 用户故事\n模块 Parser\n有序列表:\n 或仅 1. 后换行标题 + 重复中文字符至长度 130 以上{id: "u1", name: "张三", email: "zhangsan@example.com"}{id: "u2", name: "李四"}{id: "u3", name: "王五", email: "abc#example.com"}{id: "u4", name: "测试工程师", email: "tester@example.com"}示例用例片段(YAML,渲染期用于断言关键片段与缩进):
- caseName: 中文标题解析
前置条件: 标题 用户故事;模块 Parser;规则 邮箱校验
步骤与断言:
- Given 输入上述文本
- When 调用 Parser.parse
- Then 第一章节标题为“用户故事”,不抛异常
缩进约定:每层 2 空格;不得出现制表符;同层级缩进宽度必须一致。
/^\s{2}(caseName|前置条件|步骤与断言):/m。通过以上组织与断言策略,可实现对 Parser、RequirementValidator、TemplateRenderer 的正常、边界、异常路径的全面单元测试覆盖,满足 85%+ 函数级覆盖率与可维护性要求。
| 用例编号 | 前置条件 | 测试步骤(含请求示例) | 预期结果(含输出片段) | 优先级 | 覆盖点 |
|---|---|---|---|---|---|
| IT-01 预览覆盖摘要(场景1) | 服务可用;设置TZ=UTC、Accept-Language=zh-CN | 1) POST /suite/preview,Body 为需求大纲(含模块与依赖)。请求示例:```curl -X POST "$BASE_URL/suite/preview" -H "Authorization: Bearer $AUTH_TOKEN" -H "Content-Type: application/json" -H "Accept: application/json" -d '{ "locale":"zh-CN","timezone":"UTC","requirementOutline":"Modules:\n- Search\n- Recommendation\nDependencies:\n- Recommendation -> Search\nUserStories:\n- 作为用户,我可以通过关键词搜索内容\n- 作为用户,我可以在搜索后看到个性化推荐\nAPIDefs:\n- POST /suite/preview\n- POST /suite/generate\n- GET /suite/export?format={yaml | json}\nBoundaries:\n- 关键词长度[0,1,256]\n- 推荐数目[0,1,100]\nRisks:\n- 依赖解析失败风险\n- 行序不稳定风险"}'``` | - HTTP 200;JSON 含预览ID(previewId)、覆盖率(coverage)、优先级分布(priorityDistribution)、覆盖矩阵摘要(coverageMatrixSummary)。示例:{ "previewId":"pvw_123", "coverage":0.85, "priorityDistribution":{"P0":1,"P1":3,"P2":2}, "coverageMatrixSummary":{"modules":["Search","Recommendation"],"dependencies":[["Recommendation","Search"]]} } |
中 |
| IT-02 生成清单与顺序(场景1) | 已获得 previewId | 1) POST /suite/generate,使用 previewId。示例:curl -X POST "$BASE_URL/suite/generate" -H "Authorization: Bearer $AUTH_TOKEN" -H "Content-Type: application/json" -H "Accept: application/json" -d '{ "previewId":"pvw_123" }' |
- HTTP 200;JSON 含 suiteId、hashDigest、tests[];tests 以依赖顺序排列:所有 Search 用例在 Recommendation 之前;覆盖统计与预览一致。输出片段:{ "suiteId":"st_456", "hashDigest":"a1b2c3...", "coverage":0.85, "priorityDistribution":{"P0":1,"P1":3,"P2":2}, "tests":[ {"id":"S-001","module":"Search","type":"integration","priority":"P1"}, {"id":"S-002","module":"Search","type":"integration","priority":"P0"}, {"id":"R-001","module":"Recommendation","type":"integration","priority":"P1"} ] } |
中 | 生成阶段有序性;与预览一致性(覆盖率/分布) |
| IT-03 导出 YAML 字段与可消费性(场景1) | 已有 suiteId | 1) GET /suite/export?format=yaml&suiteId=st_456,Accept: application/x-yaml;示例:curl -G "$BASE_URL/suite/export" -H "Authorization: Bearer $AUTH_TOKEN" -H "Accept: application/x-yaml" --data-urlencode "format=yaml" --data-urlencode "suiteId=st_456" 2) 使用 PyYAML 加载并校验关键字段存在 |
- HTTP 200;Content-Type 包含 yaml;YAML 包含优先级标签 priority 与类型字段 type,且可被 PyYAML 成功解析;示例片段:suite:\n id: st_456\n metadata:\n coverage: 0.85\n priorityDistribution:\n P0: 1\n P1: 3\n P2: 2\n tests:\n - id: S-001\n module: Search\n type: integration\n priority: P1\n - id: R-001\n module: Recommendation\n type: integration\n priority: P1 |
中 | 导出契约;必需字段;下游可消费 |
| IT-04 generate 幂等性(场景2) | 同一 previewId;输入不变 | 1) 连续两次 POST /suite/generate 使用相同 previewId 2) 比较 hashDigest 与 tests 列表 | - 两次响应的 hashDigest 完全一致;tests 内容与顺序完全一致;suiteId 可相同或可配置,但不影响内容等价 | 中 | 幂等性 |
| IT-05 导出格式字段一致性(场景2) | 已有 suiteId | 1) 导出 YAML 与 JSON:curl -G "$BASE_URL/suite/export" -H "Authorization: Bearer $AUTH_TOKEN" -H "Accept: application/x-yaml" --data-urlencode "format=yaml" --data-urlencode "suiteId=st_456" > suite.yaml curl -G "$BASE_URL/suite/export" -H "Authorization: Bearer $AUTH_TOKEN" -H "Accept: application/json" --data-urlencode "format=json" --data-urlencode "suiteId=st_456" > suite.json 2) 分别解析 YAML 与 JSON 并比较字段集合 |
- 解析后对象的字段集合一致(例如 tests[*] 均含 id,module,type,priority;metadata 含 coverage,priorityDistribution);仅序列化表示不同,不得出现丢字段或新增不可识别字段 | 中 | 格式转换一致性 |
| IT-06 预览-生成数据一致性 | 已有 previewId | 1) 调用 preview 与 generate 2) 对比 coverage、priorityDistribution、模块与依赖摘要 | - generate 返回的 coverage 与 priorityDistribution 与 preview 完全一致;模块与依赖摘要映射一致 | 中 | 跨阶段数据传递一致 |
| IT-07 依赖有环的错误处理(负向) | 构造需求中含循环依赖 | 1) POST /suite/preview,依赖包含 Search -> Recommendation 和 Recommendation -> Search 2) 若 preview 允许通过,则 generate 必须失败;否则 preview 应返回错误 | - 返回 4xx(建议 422 Unprocessable Entity),错误信息指明循环依赖;不得返回 200 且产生不确定顺序 | 中 | 健壮性;异常路径 |
| IT-08 边界条件覆盖与优先级分布 | 使用边界条件列表 | 1) 提供包含边界条件的需求:关键词长度=0、1、256;推荐数=0、1、100 2) preview 与 generate 结果中,覆盖率提升且优先级分布合理(边界相关用例标记较高优先级) | - preview 中 coverage ≥ 基线(无边界时) ;priorityDistribution 显示边界相关用例不低于 P1;generate 中相应边界用例存在 | 中 | 等价类/边界值覆盖;优先级分布 |
| IT-09 时区与语言归一 | 设置 locale=zh-CN, timezone=UTC | 1) preview 与 generate 请求均携带 locale 与 timezone 2) 检查响应中的时间戳与文本语言 | - 时间戳为 ISO-8601 UTC(以 Z 结尾);语言相关文本按 zh-CN 返回或不受语言切换影响的数据字段稳定 | 中 | 归一化设置 |
| IT-10 YAML 行序稳定性 | 已有 suiteId;服务启用稳定输出 | 1) 连续两次 GET /suite/export?format=yaml,同一 suiteId 2) 比较原始文本完全一致(逐字节比较) | - 两次导出文本逐字节一致;无随机排序或时间戳抖动(若含生成时间,需在 metadata 中固定或被排除) | 中 | 行序稳定性 |
| IT-11 接口契约与头一致性 | 无 | 1) 校验响应头 Content-Type:preview/generate 为 application/json;export 为 application/x-yaml 或 application/json 2) 校验状态码:成功 200;错误用 4xx 3) 若提供 ETag/Cache-Control,则记录 | - 响应头与状态码符合契约;无不符合的 MIME 类型;可选 ETag 一致便于缓存(不强制) | 中 | 契约合规 |
| IT-12 下游工具消费模拟 | 已导出 suite.yaml | 1) 使用 PyYAML 解析 suite.yaml 并按下游工具需求进行最小验证(存在 suite.id、metadata、tests) 2) 以稳定顺序重序列化对比字段齐全 | - 解析成功;关键字段齐全;二次序列化不丢失关键字段;字段类型正确(例如 priority 为字符串,type 为字符串) | 中 | 下游可消费性 |
以上测试套件遵循等价类与边界值分析设计,覆盖正常与异常路径,具备可执行性与可维护性,并满足验收标准:预览包含覆盖率与优先级分布;生成与预览一致;导出可被下游消费且行序稳定。
将“自动化测试套件生成器”打造为团队的测试加速引擎:用一次清晰的输入(需求、代码结构、用户故事),在几分钟内生成可直接落地的完整测试套件(单元/集成/功能),显著提升测试覆盖率与稳定性,减少人工编写与重复沟通成本,推动敏捷迭代与持续集成高效运行,最终以更低风险、更快交付赢得业务与用户。
为新增功能和修复提交快速生成单元与异常场景用例,随手运行,及时发现回归与边界问题,提升改动信心。
根据需求或用户故事一键产出完整用例与数据说明,按优先级执行关键路径与异常流程,显著提升覆盖与交付速度。
获得清晰的测试策略与执行顺序建议,把控版本风险,在紧张迭代中平衡质量与进度,减少漏测与返工。
将模板生成的提示词复制粘贴到您常用的 Chat 应用(如 ChatGPT、Claude 等),即可直接对话使用,无需额外开发。适合个人快速体验和轻量使用场景。
把提示词模板转化为 API,您的程序可任意修改模板参数,通过接口直接调用,轻松实现自动化与批量处理。适合开发者集成与业务系统嵌入。
在 MCP client 中配置对应的 server 地址,让您的 AI 应用自动调用提示词模板。适合高级用户和团队协作,让提示词在不同 AI 工具间无缝衔接。
免费获取高级提示词-优惠即将到期