¥
立即购买

软件回归测试用例设计专家

45 浏览
4 试用
0 购买
Dec 10, 2025更新

本提示词专为软件质量保障场景设计,能够帮助测试人员快速生成专业、全面的回归测试用例。通过系统化的测试场景分析、功能影响评估和测试步骤设计,确保软件功能修改后原有功能的稳定性。该提示词采用结构化的工作流程,涵盖测试目标设定、前置条件分析、测试步骤设计、预期结果验证等完整测试环节,输出符合行业标准的测试用例文档,有效提升软件测试效率和质量。

以下回归测试用例覆盖本次“长文本自动摘要与标题生成”在多语种检测、摘要长度自适应、重复句去重优化、召回模型升级至 r-2025.4 的变更点,以及与关键词抽取等关联模块的关键业务流程。所有用例均以实际业务文本为数据基础,明确边界与异常场景,确保可重复执行与验证。

测试说明与约定

  • 接口形态(抽象):摘要服务同步接口、异步任务接口、批量接口;请求关键参数(示例):lang=auto,title_len_range=8-14,summary_len_range=50-80,seed(可选),ab_variant(可选,A/B 实验标识),request_id(幂等键),return_keywords(可选,默认不变),callback_url(异步),items(批量数组)
  • 统一检查项:
    • 输出字段:必须返回 title(字符串)、summary(字符串),字段不缺失,类型正确,编码为 UTF-8
    • 长度约束:summary 字数在 50-80(含边界);title 字数在 8-14(含边界)
    • 数字稳定性:不得误读、改写或丢失关键数值、单位与百分号
    • 语种检测:lang_detect 字段或日志/指标中可见,且与输入主语种一致;混合文本按主语种生成摘要
    • 模型版本:响应头或 payload 中 model_version=r-2025.4
  • 固定测试参数与数据:
    • 有效租户 Token:tenant_qa_valid_01;无效 Token:tenant_invalid_99
    • 固定随机种子:seed=20251210
    • A/B 标识:A、B(区分缓存与实验路线)
    • 基础示例文本(中文,含关键数字): “本周,市交通委发布年度出行报告,地铁客流同比增长12%,共享单车分担率提升至18%。为缓解早高峰拥堵,新增两条微循环公交,鼓励市民错峰出行,并计划在核心区增设30处换乘节点。”
    • 英文文本样例: “This week, the city transit authority released its annual report: metro ridership rose by 12% year over year, and bike-sharing reached an 18% modal share. Two feeder bus lines were added to ease peak congestion, and 30 transfer hubs are planned in the central area.”
    • 中英混合文本样例:在上述中文段尾部追加英文一句,或交替段落
    • 多段文本样例:3 段中文,含时间—措施—指标,顺序 A→B→C

用例 01:中文同步摘要与标题生成(核心路径)

  • 功能描述:验证中文输入的摘要与标题生成,长度自适应、数字稳定、模型版本与语种检测
  • 前置条件:
    • 鉴权通过(tenant_qa_valid_01)
    • 配置中心 length.auto=true;summary_len_range=50-80;title_len_range=8-14
  • 测试步骤:
    1. 同步调用摘要接口,参数:text=中文样例,lang=auto,seed=20251210,ab_variant=A
    2. 记录响应:title、summary、lang_detect、model_version
  • 预期结果:
    • status=200
    • model_version=r-2025.4
    • lang_detect=zh 或 zh-CN
    • summary 字数∈[50,80] 且包含“同比增长12%”“分担率…18%”“增设30处”三项指标,数字与符号准确
    • title 字数∈[8,14],语义概括“出行/客流/共享单车/换乘”等核心要点之一
    • 未出现重复句堆叠
  • 优先级标识:P0
  • 关联信息:CHG-2025-MLD, CHG-2025-SUM-LEN, CHG-2025-DEDUP, CHG-2025-MDL-r2025.4

用例 02:英文同步摘要与标题生成

  • 功能描述:验证英文输入的语种检测、长度自适应、数字稳定
  • 前置条件:同用例01
  • 测试步骤:
    1. 同步调用,text=英文样例,lang=auto,seed=20251210
  • 预期结果:
    • status=200;model_version=r-2025.4
    • lang_detect=en
    • summary 字数∈[50,80],保留“12%”“18%”“30” 等关键数字与单位(%)
    • title 字数∈[8,14],英文短标题表达准确
  • 优先级标识:P0
  • 关联信息:CHG-2025-MLD, CHG-2025-SUM-LEN

用例 03:中英混合文本(以中文为主)

  • 功能描述:验证混合文本按主语种生成摘要与标题,数字稳定
  • 前置条件:中文内容>70%,英文附加一句
  • 测试步骤:
    1. 同步调用,text=中文样例+英文结尾一句,lang=auto
  • 预期结果:
    • lang_detect=zh 或 mixed(zh>en);摘要、标题为中文
    • 关键数字与百分号准确;摘要长度合规
  • 优先级标识:P0
  • 关联信息:CHG-2025-MLD

用例 04:多段文本合并与顺序稳定

  • 功能描述:验证多段文本摘要保留信息顺序一致性与逻辑连贯
  • 前置条件:三段中文文本,顺序 A→B→C
  • 测试步骤:
    1. 同步调用,text=段落A+'\n\n'+B+'\n\n'+C
  • 预期结果:
    • 摘要中的要点呈现顺序与原文 A→B→C 的叙述顺序一致(以句/短语先后为准)
    • 无跨段落语义拼接错误
  • 优先级标识:P0
  • 关联信息:CHG-2025-DEDUP

用例 05:重复句去重优化

  • 功能描述:验证重复句去重后摘要不重复但信息不丢失
  • 前置条件:输入含同一句重复出现≥3次,且含“12%”“18%”
  • 测试步骤:
    1. 同步调用,text=含大量重复句的中文
  • 预期结果:
    • 摘要中不出现重复句(Levenshtein 距离>0.9 判断重复)
    • 关键指标“12%”“18%”仍保留
  • 优先级标识:P0
  • 关联信息:CHG-2025-DEDUP

用例 06:数字稳定性(多种数字格式)

  • 功能描述:验证不同数字格式在摘要中的准确性
  • 前置条件:输入含“12%”“18%”“30处”“1.5万”“2024-2025年”“1,234”
  • 测试步骤:
    1. 同步调用,text=含多种数字格式的中文
  • 预期结果:
    • 摘要保留原始数值及格式(百分号、范围、千分位、小数)
    • 不出现数值改写(如12%变为12.0%或12个百分点)
  • 优先级标识:P0
  • 关联信息:CHG-2025-SUM-LEN

用例 07:摘要长度下限边界(50字)

  • 功能描述:验证自适应机制在下限边界的约束
  • 前置条件:summary_len_range=50-80
  • 测试步骤:
    1. 输入较短但信息密度高的文本
  • 预期结果:
    • 摘要字数≥50 且尽量接近下限,不截断词语
  • 优先级标识:P0
  • 关联信息:CHG-2025-SUM-LEN

用例 08:摘要长度上限边界(80字)

  • 功能描述:验证上限约束与信息完整性
  • 前置条件:同上
  • 测试步骤:
    1. 输入信息点较多的文本
  • 预期结果:
    • 摘要字数≤80;关键词完整;句子不被硬截断
  • 优先级标识:P0
  • 关联信息:CHG-2025-SUM-LEN

用例 09:标题长度下限(8字)

  • 功能描述:验证标题生成在最短边界仍语义完整
  • 前置条件:title_len_range=8-14
  • 测试步骤:
    1. 同步调用,text=中文样例
  • 预期结果:
    • title 字数≥8;不出现截断词;主题明确(如“地铁增客与换乘优化”)
  • 优先级标识:P1
  • 关联信息:CHG-2025-SUM-LEN

用例 10:标题长度上限(14字)

  • 功能描述:验证标题最大长度约束
  • 前置条件:同上
  • 测试步骤:
    1. 同步调用
  • 预期结果:
    • title 字数≤14;不出现标点错位或省略号粗暴截断
  • 优先级标识:P1
  • 关联信息:CHG-2025-SUM-LEN

用例 11:超长输入截断

  • 功能描述:验证超长文本的安全截断与稳定输出
  • 前置条件:服务最大输入字符阈值(如 100k)
  • 测试步骤:
    1. 构造>120k 字的中文文本,包含关键数字只出现在前 50k 范围
    2. 同步调用
  • 预期结果:
    • 服务返回200;未崩溃;摘要长度合规
    • 关键数字仍保留(因位于截断前区域)
    • 日志记录截断事件(含原/截断长度)
  • 优先级标识:P0
  • 关联信息:CHG-2025-SUM-LEN, 监控告警

用例 12:幂等性(相同 request_id 与 seed)

  • 功能描述:验证相同请求的结果一致
  • 前置条件:request_id 固定;seed=20251210
  • 测试步骤:
    1. 连续两次同步调用,参数完全相同(含 request_id、seed、ab_variant)
  • 预期结果:
    • 两次 title、summary 完全一致(逐字相同)
    • 只计费一次(若计费系统支持幂等去重),日志仅一条“已完成”记录
  • 优先级标识:P0
  • 关联信息:任务编排, 鉴权与计费

用例 13:随机种子影响(不同 seed)

  • 功能描述:验证不同种子输出存在合理差异且满足约束
  • 前置条件:固定输入
  • 测试步骤:
    1. 分别使用 seed=20251210 与 seed=42 调用
  • 预期结果:
    • 两次摘要与标题文本不同但均满足长度与数字稳定性要求
    • 主题一致,不丢核心指标
  • 优先级标识:P1
  • 关联信息:任务编排

用例 14:字段兼容性(必须返回 title/summary)

  • 功能描述:验证响应字段的兼容与稳定
  • 前置条件:无
  • 测试步骤:
    1. 同步调用
  • 预期结果:
    • JSON 响应包含 title(string)、summary(string)
    • 字段名、类型与旧版本一致(不缺失、不改名)
  • 优先级标识:P0
  • 关联信息:接口兼容性

用例 15:批量处理(全成功)

  • 功能描述:验证批量请求的顺序、独立性与整体性能
  • 前置条件:10 条有效文本;items 保持输入顺序
  • 测试步骤:
    1. 批量接口调用,items=[中文、英文、混合…],lang=auto
  • 预期结果:
    • 返回数组顺序与输入一致;每条均返回 title、summary 合规
    • 单条失败率=0;整体耗时≤SLA(如2s内)
  • 优先级标识:P0
  • 关联信息:任务编排, 队列Kafka(若内部落盘/排队)

用例 16:批量处理(部分失败不影响其它)

  • 功能描述:单条异常不影响其他条目
  • 前置条件:10 条中1条为超大二进制噪声(非法字符)
  • 测试步骤:
    1. 批量调用
  • 预期结果:
    • 9 条成功;1 条返回错误码与错误原因(如400 invalid_text)
    • 成功条目摘要与标题合规;不因错误项跳序
  • 优先级标识:P0
  • 关联信息:任务编排, 日志审计

用例 17:异步任务—状态流转与回调成功

  • 功能描述:验证异步队列、状态与回调
  • 前置条件:
    • 提供 callback_url(可接收并记录 payload)
    • Kafka 正常;回调服务返回200
  • 测试步骤:
    1. 提交异步任务(async=true),记录 job_id
    2. 轮询查询接口,观察状态 queued→processing→done
    3. 验证 callback 收到 payload(含 job_id、title、summary、model_version、lang_detect、request_id)
  • 预期结果:
    • 状态按序流转,最终 done
    • 回调 payload 与查询结果一致;长度与数字要求满足
  • 优先级标识:P0
  • 关联信息:任务编排, 队列Kafka, 异步回调

用例 18:异步回调—失败重试与幂等

  • 功能描述:回调失败重试与去重
  • 前置条件:callback_url 首次返回500,第二次返回200;回调含签名 header(如X-Signature)
  • 测试步骤:
    1. 提交异步任务
    2. 模拟回调端 500;观察重试次数与间隔(如重试3次,指数退避)
    3. 第二次起恢复200;重复回调(同 delivery_id)应被幂等忽略
  • 预期结果:
    • 服务按照策略重试直至成功或达到上限
    • 回调签名可验证;重复回调不重复入库/不重复计费
  • 优先级标识:P0
  • 关联信息:任务编排, 日志审计, 鉴权与计费

用例 19:缓存—命中验证(同输入/参数/AB)

  • 功能描述:相同输入与参数命中缓存,结果稳定
  • 前置条件:Redis 正常;cache_ttl>0
  • 测试步骤:
    1. 首次同步调用(A 组),记录响应时间、trace 中“模型调用=1”
    2. 第二次相同请求(A 组),记录响应时间、trace
  • 预期结果:
    • 第二次明显更快(如 P95 降低≥50%)
    • trace 显示未触发模型二次调用;输出完全一致
  • 优先级标识:P1
  • 关联信息:缓存Redis

用例 20:缓存—A/B 隔离

  • 功能描述:不同 AB 标识不共用缓存
  • 前置条件:同上
  • 测试步骤:
    1. 使用 ab_variant=A 调用一次
    2. 使用 ab_variant=B 调用相同文本
  • 预期结果:
    • A、B 两次均为“首次生成”(非缓存命中)
    • 允许存在差异输出;缓存键隔离;不串味
  • 优先级标识:P0
  • 关联信息:缓存Redis, 配置中心

用例 21:模型升级后的缓存失效策略

  • 功能描述:r-2025.4 上线后需使旧模型缓存失效
  • 前置条件:先在 r-2025.3(预置环境)生成缓存,再切换 r-2025.4
  • 测试步骤:
    1. 切到 r-2025.4 后调用同一请求
  • 预期结果:
    • 未命中旧缓存;model_version=r-2025.4
    • 输出可有差异;trace 显示重新生成
  • 优先级标识:P0
  • 关联信息:模型管理, 配置中心, 缓存Redis

用例 22:关键词抽取接口—老行为回归

  • 功能描述:确保关键词抽取输出不因本次变更受影响
  • 前置条件:同文本调用关键词服务与历史基线比对
  • 测试步骤:
    1. 调用关键词抽取(独立接口),记录 top5
    2. 对比基线结果(来自上版正式环境)
  • 预期结果:
    • 关键词集合一致(允许排序轻微差异≤1位)
    • 摘要服务 return_keywords=false 时不额外触发关键词请求
  • 优先级标识:P0
  • 关联信息:关键词抽取服务, 回归基线

用例 23:鉴权与计费—正常扣费

  • 功能描述:鉴权通过、计费正确
  • 前置条件:tenant_qa_valid_01 余额充足
  • 测试步骤:
    1. 同步调用成功一次
    2. 查询计费系统:该租户调用量/费用+1
  • 预期结果:
    • 响应200;计费记录增加,金额/次数与定价策略一致
    • 审计日志包含 tenant_id、request_id、model_version
  • 优先级标识:P0
  • 关联信息:鉴权与计费, 日志审计

用例 24:鉴权与计费—余额不足/无效 token

  • 功能描述:异常鉴权拦截,清晰错误码
  • 前置条件:tenant_invalid_99 或余额=0
  • 测试步骤:
    1. 使用无效 token 调用
    2. 使用余额不足租户调用
  • 预期结果:
    • 无效 token:401 Unauthorized(不计费)
    • 余额不足:402 Payment Required 或业务定义错误码(不进入模型)
  • 优先级标识:P0
  • 关联信息:鉴权与计费, 网关限流

用例 25:网关限流

  • 功能描述:高并发触发限流策略
  • 前置条件:限流阈值如 10 RPS
  • 测试步骤:
    1. 并发发起≥20 RPS 的同步请求持续10秒
  • 预期结果:
    • 超限请求返回429;包含 Retry-After
    • 未超限请求成功且稳定;总体成功率与限流策略一致
  • 优先级标识:P1
  • 关联信息:网关限流, 监控告警

用例 26:日志审计—完整性与可追溯

  • 功能描述:关键字段入审计日志
  • 前置条件:日志系统可查询
  • 测试步骤:
    1. 调用成功一次、失败一次
    2. 查询审计日志
  • 预期结果:
    • 成功日志含:timestamp、tenant_id、request_id、lang_detect、ab_variant、model_version=r-2025.4、duration、success=true
    • 失败日志含 error_code、error_message、success=false
  • 优先级标识:P1
  • 关联信息:日志审计, 监控告警

用例 27:监控指标与告警

  • 功能描述:核心指标采集与异常告警
  • 前置条件:Prom/Grafana 或等效可见
  • 测试步骤:
    1. 正常流量 1 分钟;制造 5xx 错误比例≥5%
  • 预期结果:
    • 指标存在:qps、p95/p99_latency、success_rate、error_rate、queue_depth、cache_hit_ratio
    • 5xx 告警规则触发(在期望窗口内)
  • 优先级标识:P2
  • 关联信息:监控告警, 队列Kafka

用例 28:模型管理—版本指派与灰度

  • 功能描述:确认线上使用 r-2025.4,灰度与回滚可用
  • 前置条件:配置中心可切换灰度比例
  • 测试步骤:
    1. 查询/调用接口返回 model_version=r-2025.4
    2. 将 10% 灰度切换至 r-2025.3,带 ab_variant=B 调用
  • 预期结果:
    • 默认返回 r-2025.4
    • 灰度命中时返回 r-2025.3,且与缓存键隔离;回滚恢复后全部返回 r-2025.4
  • 优先级标识:P1
  • 关联信息:模型管理, 配置中心, 缓存Redis

用例 29:归档与下载

  • 功能描述:结果归档与可下载性
  • 前置条件:异步完成后的归档开关开启
  • 测试步骤:
    1. 提交异步任务,完成后获取归档链接
    2. 下载校验文件结构(包含 title、summary、model_version、lang_detect、request_id、timestamp)
  • 预期结果:
    • 链接可用(200),文件内容字段完整且编码正确
  • 优先级标识:P2
  • 关联信息:归档与下载

用例 30:多段合并的跨语言混排

  • 功能描述:段落 A(中文)、B(英文)、C(中文),确保顺序与主语种确定
  • 前置条件:A、C 占文本长度≥70%
  • 测试步骤:
    1. 合并文本 A(zh)→B(en)→C(zh),lang=auto 调用
  • 预期结果:
    • lang_detect=zh 或 mixed(zh>en)
    • 摘要按 A→B→C 信息呈现顺序,且语言以中文为主
  • 优先级标识:P1
  • 关联信息:CHG-2025-MLD, CHG-2025-DEDUP

用例 31:批量+异步组合场景(大批量)

  • 功能描述:大批量异步入队处理稳定性
  • 前置条件:100 条混合语种文本;Kafka 正常
  • 测试步骤:
    1. 批量异步提交;监控队列长度与消费速率
    2. 回查100条完成状态
  • 预期结果:
    • 全部完成;无卡滞/丢失;回调到达率=100%
    • 各条 title/summary 合规
  • 优先级标识:P1
  • 关联信息:任务编排, 队列Kafka, 异步回调, 监控告警

用例 32:接口健壮性—非法输入与下限文本

  • 功能描述:非法字符、超短文本处理
  • 前置条件:—
  • 测试步骤:
    1. 输入仅 1 句话(<50字)
    2. 输入含非 UTF-8 字节或控制字符
  • 预期结果:
    • 对超短文本:摘要仍≥50,内容不造假(不添加输入中不存在的数字),以合理扩写或复述实现
    • 非法字节:400 Bad Request,错误信息说明非法编码
  • 优先级标识:P1
  • 关联信息:文本检测, 接口校验

用例 33:多次调用的一致性(无 seed)

  • 功能描述:未提供 seed 的自然波动控制
  • 前置条件:—
  • 测试步骤:
    1. 连续三次相同请求(不带 seed)
  • 预期结果:
    • 摘要差异在可接受范围(关键词/数字不变,语序/措辞微调)
    • 标题语义稳定,不跨主题
  • 优先级标识:P2
  • 关联信息:任务编排

用例 34:单条同步—返回时间与超时处理

  • 功能描述:响应时间与超时边界
  • 前置条件:超时阈值如 1500ms
  • 测试步骤:
    1. 正常请求,测量 p95 延迟
    2. 人为注入上游慢调用(模拟模型推理延迟)
  • 预期结果:
    • 正常 p95<阈值
    • 超时返回明确错误码/信息,任务不会“半成功”
  • 优先级标识:P2
  • 关联信息:监控告警, 模型管理

— 说明 —

  • 所有用例的长度校验以中文字符计数(不含空白),英文以字符计数;混合按字符计。
  • 关键数字校验应精确匹配原文数字与符号(%/处/年/千分位等),可使用正则断言。
  • 审计与监控项需在各自系统中可查询与比对,确保可追溯与可观测。

如果需要,我可以将上述用例转换为可直接导入的测试用例表(含用例编号、步骤编号、数据样例、SQL/日志查询语句、断言表达式),或根据实际接口契约补充具体的请求/响应 JSON 样例与字段校验清单。

以下为“对话礼貌化改写与语气统一”功能的回归测试用例集,覆盖核心业务流程、边界条件与关联模块。默认业务优先级:中。

通用前置条件(适用于所有用例)

  • 环境与接口
    • 环境:staging,API:POST /v1/rewrite
    • 认证:有效AK AK_VALID;无效AK AK_BAD
    • 计费账户:acct_10001(有可用配额)
  • 配置与依赖
    • 提示词模板中心:v1、v2 同时可用;灰度开关 gray.rewrite.template=v2 50%;强制模板头 X-Template-Force 支持 v1/v2
    • 敏感词库:版本 sensitive_dict_v2025.12.01,软过滤模式 enabled;下线时启用本地缓存 fallback
    • 用户画像:u_cn(中文默认)、u_en(英文默认)、u_mixed(混输)、u_concise(倾向简洁)、u_polite(倾向更礼貌)
    • 缓存:启用;Key = hash(input, userId, lang, template_version);TTL=10分钟;命中标记 meta.cache_hit
    • A/B 实验:exp_id=AB_PLT_01,稳定分桶(同 userId 固定命中)
    • 审核工作流:敏感等级≥High 进入人工审核队列
    • 监控埋点:输出 request_id、template_version、polite_level、sensitive_hit_count、latency_ms、cache_hit
    • 文本标注平台:将原文与改写对存档,附带 polite_level
  • 输出Schema(成功)
    • result.text:改写后的文本(字符串)
    • result.text_rewrite:与 result.text 保持一致(兼容旧字段)
    • result.polite_level:整数 1~3(1=直接 2=中性 3=礼貌)
    • meta.template_version:v1 或 v2
    • meta.language:cn/en/mixed
    • meta.sensitive_hit_count:整数
    • meta.cache_hit:布尔
    • error:null
  • 验证说明
    • 生成式文本验证采用“关键字段/关键词/规则断言”而非完全匹配,保证稳定与可重复。
    • 所有日期、数字、实体名词需保持一致(不改变原值;仅在句法调整时允许位置变化)。

— — — — — — — — — — — — — — — — — — —

用例1:中文核心改写(保留诉求与时限)

  • 功能描述:将直白/强硬的中文诉求,改写为克制、协作语气,保留“今天”时限与诉求。
  • 前置条件:参见通用前置条件;用户 u_cn;X-Template-Force: v2
  • 测试步骤:
    1. 调用API,userId=u_cn,input="你这进度太慢了,别拖我后腿,今天必须给结果。"
  • 预期结果:
    • result.text 存在,语气包含至少1个礼貌词(如“请/麻烦/能否/辛苦”之一)与至少1个协作词(“一起/配合/协助/协调/推进”之一)
    • 必须包含“今天”字面;诉求“给结果/结果”保留
    • 不出现侮辱、命令式词汇(如“别拖我后腿”原句式样应被替换)
    • result.polite_level=3
    • result.text_rewrite 与 result.text 严格一致
    • meta.template_version=v2;meta.language=cn;meta.sensitive_hit_count=0;meta.cache_hit=false
    • 监控埋点齐全;计费成功+1
  • 优先级标识:P0
  • 关联信息:REQ-PLT-CORE, REQ-PLT-PLEVEL, 模块:提示词模板中心、计费、监控

用例2:英文核心改写(自动礼貌风格)

  • 功能描述:英文输入自动识别并生成礼貌风格,保留时限。
  • 前置条件:用户 u_en;X-Template-Force: v2
  • 测试步骤:
    1. input="You're too slow—stop holding me back; I need the results today."
  • 预期结果:
    • result.text 为英语;包含礼貌表达(如 "Could we", "please", "would you", "appreciate" 至少其一)
    • 包含 "today";保留“results”诉求
    • 去除冒犯性表述("stop holding me back" 不再以攻击性方式出现)
    • polite_level=3;meta.language=en;meta.template_version=v2;sensitive_hit_count=0
  • 优先级标识:P0
  • 关联信息:REQ-PLT-I18N, REQ-PLT-PLEVEL

用例3:中英混合输入改写

  • 功能描述:混合语言输入时保持事实一致与礼貌统一。
  • 前置条件:用户 u_mixed;X-Template-Force: v2
  • 测试步骤:
    1. input="这个进度有点慢,Could you finish by today 吗?需要结果。"
  • 预期结果:
    • 输出可为中文为主、英文穿插或统一一种语言,但需语气礼貌(含“请/能否/Could you/please”之一)
    • 必含“today/今天”之一;保留“结果”
    • polite_level=3;meta.language=mixed 或 cn/en(视检测逻辑,但与实际输出一致)
  • 优先级标识:P1
  • 关联信息:REQ-PLT-I18N

用例4:敏感词软过滤(中文脏字)

  • 功能描述:脏字替换为中性表达,语义保留,流程不中断。
  • 前置条件:用户 u_cn;敏感词库loaded;X-Template-Force: v2
  • 测试步骤:
    1. input="这进度他妈的太慢了,今天必须给结果。"
  • 预期结果:
    • 输出无脏字(“他妈的”被柔化,例如为“确实有些慢/有点着急”等,不可直接丢失原有强调语义)
    • 保留“今天/结果”;无冒犯性表述
    • polite_level=3;sensitive_hit_count≥1
  • 优先级标识:P0
  • 关联信息:REQ-PLT-SENS, 模块:敏感词库、审核

用例5:敏感词软过滤(英文脏字)

  • 功能描述:英文粗口软过滤。
  • 前置条件:用户 u_en;X-Template-Force: v2
  • 测试步骤:
    1. input="This is f***ing slow. I need results today."
  • 预期结果:
    • 粗口被柔化(如替换为 "really/quite slow" 等),保留“today”“results”
    • polite_level=3;sensitive_hit_count≥1;language=en
  • 优先级标识:P1
  • 关联信息:REQ-PLT-SENS

用例6:数字与日期保持不变

  • 功能描述:保证数字、日期、时间原值不变。
  • 前置条件:用户 u_cn;X-Template-Force: v2
  • 测试步骤:
    1. input="请在2025-12-20 15:00前提供第2版结果,预算为3,000元。"
  • 预期结果:
    • 输出包含原始“2025-12-20 15:00”“第2版/2版”“3,000元”,数字与日期格式不被改动(含千分位)
    • 使用礼貌表达;诉求保留
    • polite_level≥2(建议3)
  • 优先级标识:P0
  • 关联信息:REQ-PLT-CORE

用例7:多句合并(语义保留)

  • 功能描述:将多短句合并为更自然的一句或两句,保留诉求/时限。
  • 前置条件:用户 u_cn;X-Template-Force: v2
  • 测试步骤:
    1. input="进度有点慢。别拖我后腿。今天给结果。"
  • 预期结果:
    • 句子数减少(合并),但包含礼貌词和“今天/结果”
    • 无冒犯性措辞
    • polite_level=3
  • 优先级标识:P1
  • 关联信息:REQ-PLT-CORE

用例8:长句拆分(可读性提升)

  • 功能描述:将冗长句拆分为2-3句,语气礼貌。
  • 前置条件:用户 u_cn;X-Template-Force: v2
  • 测试步骤:
    1. input="这次项目进度如果再拖延下去我会非常被动所以请你们今天务必给到结果避免影响后续安排"
  • 预期结果:
    • 至少拆分为2句;包含礼貌词;包含“今天”“结果”
    • 无冒犯词;polite_level=3
  • 优先级标识:P2
  • 关联信息:REQ-PLT-CORE

用例9:空格与emoji处理(不引入额外空白/保留emoji)

  • 功能描述:清理多余空格,不破坏emoji;不产生乱码。
  • 前置条件:用户 u_mixed;X-Template-Force: v2
  • 测试步骤:
    1. input=" 请 今天给结果 🙂 "
  • 预期结果:
    • 去除首尾空格;中间多空格压缩为单空格或合适标点分隔
    • 保留🙂;无乱码;包含“今天”“结果”;礼貌表达
    • polite_level≥2;sensitive_hit_count=0
  • 优先级标识:P1
  • 关联信息:REQ-PLT-CORE

用例10:幂等性(相同上下文输出稳定)

  • 功能描述:相同入参与上下文,结果完全一致(含polite_level与文本)。
  • 前置条件:用户 u_cn;X-Template-Force: v2;禁用干扰特性(无随机采样)
  • 测试步骤:
    1. 连续两次调用,input="今天请给出结果,谢谢。"
  • 预期结果:
    • 两次 result.text 全等;polite_level 全等;meta.template_version一致
    • 第一次 cache_hit=false;第二次 cache_hit=true
  • 优先级标识:P0
  • 关联信息:REQ-PLT-CACHE, REQ-PLT-PLEVEL

用例11:重复内容去重

  • 功能描述:相同句子重复出现时,输出去重合并。
  • 前置条件:用户 u_cn;X-Template-Force: v2
  • 测试步骤:
    1. input="请尽快给结果。请尽快给结果。今天。"
  • 预期结果:
    • 输出不重复相同句子(重复合并为单句/合理归并)
    • 保留“今天”;礼貌表达;polite_level≥2
  • 优先级标识:P1
  • 关联信息:REQ-PLT-DEDUP

用例12:旧字段兼容(text_rewrite)

  • 功能描述:旧字段 text_rewrite 仍返回且与新字段一致。
  • 前置条件:任意用户;X-Template-Force: v2
  • 测试步骤:
    1. input="今天需要结果。"
  • 预期结果:
    • result.text 与 result.text_rewrite 字符串完全一致
    • polite_level 存在;meta.template_version=v2
  • 优先级标识:P0
  • 关联信息:REQ-PLT-COMPAT

用例13:灰度命中v2

  • 功能描述:灰度策略50%命中v2。
  • 前置条件:用户 u_cn(稳定分桶命中v2);不设置强制模板头
  • 测试步骤:
    1. input="今天请给结果。"
  • 预期结果:
    • meta.template_version=v2;输出符合v2礼貌策略;polite_level存在
    • 监控中记录灰度桶信息
  • 优先级标识:P0
  • 关联信息:REQ-PLT-GRAY, 模块:版本灰度、监控

用例14:灰度强制回滚至v1

  • 功能描述:通过头强制回滚,验证可控性。
  • 前置条件:用户 u_cn;X-Template-Force: v1
  • 测试步骤:
    1. input="今天请给结果。"
  • 预期结果:
    • meta.template_version=v1;输出使用v1模板风格;polite_level仍存在
    • 缓存Key含模板版本,使v1/v2结果互不污染
  • 优先级标识:P0
  • 关联信息:REQ-PLT-GRAY, REQ-PLT-CACHE

用例15:模板中心不可用降级

  • 功能描述:模板中心异常,回退到本地缓存模板。
  • 前置条件:临时模拟模板中心超时;本地缓存存在v1;用户 u_cn
  • 测试步骤:
    1. input="今天请给结果。"
  • 预期结果:
    • 请求成功;meta.template_version=v1;记录降级告警日志
    • polite_level存在;计费正常
  • 优先级标识:P1
  • 关联信息:REQ-PLT-GRAY, 模块:模板中心、监控、告警

用例16:敏感词库服务不可用降级

  • 功能描述:敏感词库下线时使用本地缓存词典。
  • 前置条件:模拟敏感词服务不可用;本地缓存存在;用户 u_cn
  • 测试步骤:
    1. input="这也太他妈慢了,今天要结果。"
  • 预期结果:
    • 仍进行软过滤;输出无脏字;sensitive_hit_count≥1(可来自缓存结果)
    • 记录降级日志;请求成功
  • 优先级标识:P1
  • 关联信息:REQ-PLT-SENS, 模块:敏感词库、监控

用例17:用户画像-礼貌偏好更高

  • 功能描述:用户偏好影响语气强度。
  • 前置条件:用户 u_polite(偏好更礼貌);X-Template-Force: v2
  • 测试步骤:
    1. input="今天给结果。"
  • 预期结果:
    • 输出包含更强礼貌措辞(例如同时出现“请/麻烦/感谢”等≥2个礼貌信号)
    • polite_level=3
  • 优先级标识:P2
  • 关联信息:REQ-PLT-PROFILE, 模块:用户画像

用例18:用户画像-简洁偏好

  • 功能描述:简洁偏好减少冗余礼貌词但保持礼貌。
  • 前置条件:用户 u_concise;X-Template-Force: v2
  • 测试步骤:
    1. input="今天请务必给出结果,非常感谢。"
  • 预期结果:
    • 输出长度较常规版本更短(去除冗余修饰,保留1个核心礼貌词)
    • polite_level≥2;包含“今天”“结果”
  • 优先级标识:P2
  • 关联信息:REQ-PLT-PROFILE

用例19:A/B实验一致性

  • 功能描述:分桶稳定,同一用户多次请求分桶不变。
  • 前置条件:用户 u_cn;不加强制模板头;AB_PLT_01开启
  • 测试步骤:
    1. 连续3次调用相同输入"今天请给结果。"
  • 预期结果:
    • 三次 meta.template_version 相同(命中同一桶)
    • 监控中exp_id、bucket一致
  • 优先级标识:P1
  • 关联信息:REQ-PLT-AB, 模块:A/B实验、监控

用例20:缓存命中与Key正确性

  • 功能描述:验证cache key包含模板版本,防止跨版本污染。
  • 前置条件:用户 u_cn
  • 测试步骤:
    1. 调用v2,记录result.text为T2
    2. 再用v1强制调用同输入,记录result.text为T1
    3. 再次调用v2同输入
  • 预期结果:
    • 第1次 cache_hit=false;第2次 cache_hit=false;第3次 cache_hit=true 且返回T2
    • T1!=T2(风格差异);各自缓存相互独立
  • 优先级标识:P0
  • 关联信息:REQ-PLT-CACHE, REQ-PLT-GRAY

用例21:审核工作流触发(高风险)

  • 功能描述:高风险表述走审核队列,但返回仍礼貌改写或受控。
  • 前置条件:开启审核高风险阈值=High;用户 u_cn
  • 测试步骤:
    1. input="如果今天不给结果,我就公开在群里骂人。"
  • 预期结果:
    • 输出去除威胁/辱骂意图,替换为合规表达(强调时限与影响)
    • meta.moderation_routed=true(或审核队列ID存在);请求成功
    • polite_level≥2;sensitive_hit_count≥1(命中“骂人”类别)
  • 优先级标识:P1
  • 关联信息:REQ-PLT-MOD, 模块:审核工作流、敏感词库

用例22:计费与鉴权-成功计费

  • 功能描述:成功请求计费+1,账单记录完整。
  • 前置条件:用户 u_cn;AK_VALID
  • 测试步骤:
    1. 调用一次正常请求
    2. 查询计费系统流水
  • 预期结果:
    • 调用返回成功;计费系统新增1条记录(接口名rewrite、userId=u_cn、模板版本、用量=1)
  • 优先级标识:P0
  • 关联信息:REQ-PLT-BILL, 模块:计费、鉴权

用例23:鉴权失败不计费

  • 功能描述:认证失败时拒绝访问,不计费。
  • 前置条件:AK_BAD
  • 测试步骤:
    1. 使用AK_BAD调用
  • 预期结果:
    • HTTP 401/鉴权失败;error.code=AUTH_FAILED
    • 计费系统不产生新记录
  • 优先级标识:P0
  • 关联信息:REQ-PLT-AUTH, REQ-PLT-BILL

用例24:监控埋点完整性

  • 功能描述:监控字段齐全且数值合理。
  • 前置条件:用户 u_cn
  • 测试步骤:
    1. 调用正常请求
    2. 检查监控:request_id、template_version、polite_level、sensitive_hit_count、latency_ms、cache_hit
  • 预期结果:
    • 所有字段存在;latency_ms>0;polite_level∈{1,2,3};template_version∈{v1,v2}
  • 优先级标识:P0
  • 关联信息:REQ-PLT-LOG, 模块:监控

用例25:文本标注平台对接

  • 功能描述:改写样本归档可用于标注。
  • 前置条件:标注平台对接开启
  • 测试步骤:
    1. 调用一次改写
    2. 在标注平台查询最近样本
  • 预期结果:
    • 存在原文/改写对;polite_level字段存储;关联request_id一致
  • 优先级标识:P2
  • 关联信息:REQ-PLT-ANNOT, 模块:文本标注平台

用例26:英文数值/时间格式保持(不本地化)

  • 功能描述:英文中的数字与时间格式不被本地化或改写。
  • 前置条件:用户 u_en
  • 测试步骤:
    1. input="Please deliver by 3pm on 12/20/2025, budget is $3,000."
  • 预期结果:
    • “3pm”“12/20/2025”“$3,000”原样保留;礼貌表达存在
    • polite_level≥2;language=en
  • 优先级标识:P1
  • 关联信息:REQ-PLT-CORE, REQ-PLT-I18N

用例27:混合输入含业务实体名词保留

  • 功能描述:实体名词(人名/项目名)不被替换。
  • 前置条件:用户 u_mixed
  • 测试步骤:
    1. input="Alice,Project Atlas今天需要结果。"
  • 预期结果:
    • “Alice”“Project Atlas”原样保留;包含“今天”“结果”;礼貌表达
    • polite_level≥2
  • 优先级标识:P1
  • 关联信息:REQ-PLT-CORE

用例28:极端空白与标点鲁棒性

  • 功能描述:多行/制表符/重复标点的处理。
  • 前置条件:用户 u_cn
  • 测试步骤:
    1. input="\t今天 必须给结果!!\n\n谢谢。"
  • 预期结果:
    • 去除多余空白/控制字符;重复感叹号规范化(最多一个)
    • 保留“今天”“结果”;礼貌表达;无乱码
  • 优先级标识:P2
  • 关联信息:REQ-PLT-CORE

用例29:缓存失效与版本更新

  • 功能描述:模板版本更新后,旧缓存不再命中。
  • 前置条件:用户 u_cn;先v2发布于1.0,后升级至1.1(版本号可体现在meta.template_version=v2.1.1)
  • 测试步骤:
    1. 使用v2.1.0 调用,记录输出A
    2. 升级至v2.1.1
    3. 相同输入再次调用
  • 预期结果:
    • 第2次 cache_hit=false(因为Key包含模板版本);输出B可与A不同;meta.template_version更新
  • 优先级标识:P1
  • 关联信息:REQ-PLT-CACHE, REQ-PLT-GRAY

用例30:异常输入-仅emoji/空字符串

  • 功能描述:健壮性与错误提示。
  • 前置条件:用户 u_cn
  • 测试步骤:
    1. input=""(空)
    2. input="🙂🙂🙂"
  • 预期结果:
    • 空输入返回错误 error.code=INVALID_INPUT(不计费)
    • 仅emoji:返回温和提示或最小化改写(不生成无意义文本),polite_level可缺省或为2;不报错
  • 优先级标识:P2
  • 关联信息:REQ-PLT-ROBUST

— — — — — — — — — — — — — — — — — — —

备注与覆盖性说明

  • 核心场景:用例1-2-6-10-12-13-14-20-22-23-24为P0,确保改写质量、输出schema、灰度/回滚、缓存、计费鉴权与监控的稳定。
  • 语言与混输:用例2-3-26-27。
  • 敏感词软过滤:用例4-5-16-21。
  • 文本结构:用例7-8-11-28-30。
  • 字段与兼容:用例12(text_rewrite)、用例1/2/…(polite_level全链路存在与稳定)。
  • 平台与运维:用例15(模板中心降级)、16(敏感词降级)、24(监控)、25(标注)、29(版本升级与缓存无污染)。
  • A/B与用户画像:用例17-18-19。
  • 幂等与去重:用例10-11-20。

以上用例均给出可执行的输入数据、明确断言与可重复的验证标准,可直接用于回归测试执行与持续集成流水线校验。

以下为“营销文案生成的风格与约束控制”回归测试方案,覆盖变更点与关联模块的核心场景。所有用例均以真实业务规则与可重复执行为准,业务优先级:低。

测试总览与全局前置条件

  • 环境
    • 测试环境:staging 环境,接口域名 https://staging.api.example.com
    • 服务可用:模型服务、风格控制器、文本合规、评分与重排、简繁转换、计费、监控、配置中心、灰度发布、A/B 实验、缓存
  • 配置中心(生效于生成服务)
    • copy.style.enum = ["亲和","专业","活力"]
    • copy.style.default = "亲和"
    • copy.style.weight.default = 0.6
    • copy.dedupe.threshold = 0.8
    • copy.tone.compat.enabled = true
    • copy.gray.enabled = true
    • copy.gray.buckets = {"A":0.1,"B":0.9}
    • copy.gray.bucket.A.dedupe.threshold = 0.8
    • copy.gray.bucket.B.dedupe.threshold = 0.72(用于灰度对照)
    • copy.script.support = ["zh-Hans","zh-Hant"]
    • cache.key.includes = ["style","style_weight","dedupe_threshold","script","product","selling_points"]
  • 品牌词库
    • 品牌语气词库(按风格)
      • 亲和:["贴心","温暖","随身","陪伴"]
      • 专业:["参数","标准","认证","性能"]
      • 活力:["轻快","元气","出发","尽兴"]
    • CTA 词库(允许且要求出现一次):["立即体验","马上入手","现在购买","立刻行动"]
    • 禁用词(夸大治疗功效相关):["治愈","根治","疗效","医疗级","强效治疗"]
  • 基线测试数据(无禁用词版本)
    • product = "便携净水杯"
    • selling_points = ["滤芯可更换","保温6小时","重量150g","适合通勤与露营"]
    • length_constraint = {"min":100,"max":120}
    • script = "zh-Hans"
    • style = "活力"
  • 接口
    • POST /api/v1/copy/generate
      • 请求体示例(基础版,不含禁用词): { "product": "便携净水杯", "selling_points": ["滤芯可更换", "保温6小时", "重量150g", "适合通勤与露营"], "style": "活力", "length": {"min": 100, "max": 120}, "script": "zh-Hans", "batch_size": 1 }
    • 监控与日志查询
      • GET /api/v1/monitor/logs?request_id=xxx
    • 计费查询
      • GET /api/v1/billing/usage?request_id=xxx

测试用例1:活力风格基础生成与约束校验

  • 功能描述
    • 验证新增 style=活力 的生成正确性,满足长度、数字与单位锁定、CTA一次、禁用词为空。
  • 前置条件
    • 使用全局配置与基线数据
    • style="活力",script="zh-Hans",batch_size=1
  • 测试步骤
    1. 发送基础版请求(见全局请求体示例),记录 request_id。
    2. 提取生成文案 text。
    3. 使用风格分类器接口或离线分类器,对 text 进行风格识别打分(活力置信度)。
    4. 校验数字与单位是否原样出现:"6小时"、"150g"。
    5. 统计字数(以中文字符数计),确认 100-120 区间。
    6. 检测 CTA 词库词条出现次数(应为1),且为词库中的任意一项。
    7. 搜索禁用词列表,确认未出现。
    8. 查询监控日志,确认 style="活力"、style_weight=0.6、dedupe_threshold=0.8、compliance_status=pass。
  • 预期结果
    • 文案风格活力置信度≥0.6;字数在[100,120];包含且仅包含一次 CTA;包含"6小时"与"150g"原样;无禁用词;日志字段完整。
  • 优先级标识
  • 关联信息
    • 模块:风格控制器,文本合规,评分与重排,监控,模型服务
    • 配置:copy.style.weight.default=0.6,copy.dedupe.threshold=0.8

测试用例2:style 取值枚举覆盖(亲和/专业/活力)与差异性

  • 功能描述
    • 验证三种风格皆可用,且输出在风格用词上具备明显差异。
  • 前置条件
    • 分别设置 style="亲和"、"专业"、"活力",其他保持基线
  • 测试步骤
    1. 分别请求三次,记录三组 request_id 与输出文本。
    2. 对三份文本进行风格分类与关键词覆盖率统计(使用对应品牌语气词库)。
    3. 比较三份文本的风格词占比差异。
  • 预期结果
    • 三种风格均成功生成;各自文本至少包含2个对应风格词库词条;三者风格分类结果互不混淆(Top-1 风格与请求一致)。
  • 优先级标识
  • 关联信息
    • 模块:风格控制器,品牌词库,模型服务
    • 配置:copy.style.enum

测试用例3:缺省 style 参数回退默认风格与默认权重

  • 功能描述
    • 验证未传入 style 时回退至配置默认风格(亲和)且权重为0.6。
  • 前置条件
    • 请求体不包含 style 字段
  • 测试步骤
    1. 发送请求(去掉 style 字段),记录 request_id。
    2. 检查输出风格分类结果与日志中的 style="亲和",style_weight=0.6。
  • 预期结果
    • 文案风格为亲和;日志包含默认回退标记 fallback=true;权重为0.6。
  • 优先级标识
  • 关联信息
    • 模块:配置中心,风格控制器,监控
    • 配置:copy.style.default="亲和",copy.style.weight.default=0.6

测试用例4:错误 style 值回退默认风格与告警日志

  • 功能描述
    • 验证传入非法 style 值时系统回退默认风格,并记录告警。
  • 前置条件
    • style="青春感"(不在枚举范围)
  • 测试步骤
    1. 发送请求,记录 request_id。
    2. 检查输出风格分类与日志:style="亲和",warning="invalid_style_value"。
  • 预期结果
    • 输出为亲和风格;日志包含 invalid_style=true;计数一次告警。
  • 优先级标识
  • 关联信息
    • 模块:风格控制器,监控,配置中心

测试用例5:禁用词触发改写与合规通过

  • 功能描述
    • 当输入卖点含禁用词,系统进行改写或剔除,最终合规通过。
  • 前置条件
    • selling_points 包含 "医疗级净化"
    • 其他同基线;style=活力
  • 测试步骤
    1. 发送请求,记录 request_id。
    2. 检查输出文本不包含禁用词列表词条。
    3. 查询合规日志:rewrite_applied=true,rewrite_words=["医疗级"]。
  • 预期结果
    • 输出无禁用词;合规模块记录改写动作;最终合规状态 pass。
  • 优先级标识
  • 关联信息
    • 模块:文本合规,品牌词库,监控
    • 配置:禁用词词库最新版本号

测试用例6:数字与单位锁定

  • 功能描述
    • 验证数值与单位不被转换、缩放或增删("6小时"、"150g")。
  • 前置条件
    • 基线数据;style=活力
  • 测试步骤
    1. 发送请求,记录输出文本。
    2. 逐项匹配固定片段:"保温6小时"、"重量150g"。
    3. 检查无变体:"6h"、"六小时"、"150 克"、"0.15kg" 不应出现。
  • 预期结果
    • 原始数值与单位原样存在;未出现替换或换算。
  • 优先级标识
  • 关联信息
    • 模块:文本合规,风格控制器,模型服务
    • 配置:数字单位锁定开关(如 copy.lock.units=true)

测试用例7:简体/繁体稳定转换与一致性

  • 功能描述
    • 验证 zh-Hans 与 zh-Hant 输出语义一致、数值单位一致,长度均符合约束。
  • 前置条件
    • 两次请求分别设置 script="zh-Hans" 与 "zh-Hant",style=活力
  • 测试步骤
    1. 请求 zh-Hans 与 zh-Hant,记录两份文本。
    2. 对比:内容语义一致(允许字形差异),保留 "6小时"、"150g" 不变。
    3. 统计各自字数,均在[100,120]。
    4. 风格分类两者均为活力。
  • 预期结果
    • 简繁体版本一致性通过;数值与单位一致;长度符合约束;风格一致。
  • 优先级标识
  • 关联信息
    • 模块:简繁转换,风格控制器,文本合规
    • 配置:copy.script.support

测试用例8:长度约束严格校验(边界与批量)

  • 功能描述
    • 验证批量生成时每条均满足 100-120 字,且靠近边界的文本不越界。
  • 前置条件
    • batch_size=10;style=活力;script=zh-Hans
  • 测试步骤
    1. 发起批量生成,获取10条文本。
    2. 对每条统计字数,标记最短与最长样本。
    3. 确认所有文本字数在[100,120],最短≥100,最长≤120。
  • 预期结果
    • 批量中无越界样本;长度约束对每条生效。
  • 优先级标识
  • 关联信息
    • 模块:模型服务,评分与重排
    • 配置:length.min=100,length.max=120

测试用例9:多样性与去重阈值=0.8生效

  • 功能描述
    • 验证批量去重阈值从0.72提升至0.8后,重复判定逻辑生效:相似度≥0.8的对被剔除,<0.8保留。
  • 前置条件
    • batch_size=12;style=活力;script=zh-Hans;配置 dedupe_threshold=0.8
  • 测试步骤
    1. 发起生成,获取结果集合。
    2. 对集合进行两两相似度计算(使用系统评分与重排的对外评分接口)。
    3. 检查:不存在相似度≥0.8的文案对同时保留。
    4. 若出现相似度在[0.75,0.79]的对,确认被保留(不被误删)。
    5. 校验日志 dedupe.threshold=0.8。
  • 预期结果
    • 去重按0.8阈值执行;≥0.8的对被剔除;[0.75,0.79]范围内的对保留;日志阈值一致。
  • 优先级标识
  • 关联信息
    • 模块:评分与重排,监控,缓存
    • 配置:copy.dedupe.threshold=0.8

测试用例10:批量一致性与质量合规率

  • 功能描述
    • 验证批量结果的一致性与合规率(风格、CTA、数字单位、禁用词)。
  • 前置条件
    • batch_size=20;style=活力
  • 测试步骤
    1. 生成20条文本。
    2. 对每条进行:风格分类=活力,CTA次数=1,禁用词=0,包含"6小时"与"150g"。
    3. 计算唯一性比例(集合内去重后 unique_count/total_count)。
  • 预期结果
    • 合规率=100%;唯一性比例≥0.7;所有文本满足约束。
  • 优先级标识
  • 关联信息
    • 模块:文本合规,风格控制器,评分与重排
    • 配置:CTA词库,禁用词词库

测试用例11:tone 旧字段兼容(仅 tone)与优先级(style 覆盖 tone)

  • 功能描述
    • 验证旧字段 tone 与新字段 style 的兼容与覆盖策略。
  • 前置条件
    • Case A:仅传 tone="活力",不传 style
    • Case B:同时传 tone="活力" 与 style="专业"
  • 测试步骤
    • Case A:
      1. 发起请求,仅含 tone="活力"。
      2. 检查输出风格与日志:style="活力"(由兼容映射),tone_compat_applied=true。
    • Case B:
      1. 发起请求同时含 tone="活力"、style="专业"。
      2. 检查输出风格与日志:style="专业"(style 优先),tone_ignored=true。
  • 预期结果
    • 兼容映射生效;存在冲突时 style 覆盖 tone;日志包含兼容与覆盖标记。
  • 优先级标识
  • 关联信息
    • 模块:配置中心,风格控制器,灰度发布
    • 配置:copy.tone.compat.enabled=true

测试用例12:灰度开关与 A/B 实验验证(阈值差异)

  • 功能描述
    • 验证灰度流量按桶划分,A 组使用阈值0.8,B 组使用阈值0.72。
  • 前置条件
    • 两个固定 user_id:userA 映射到桶 A;userB 映射到桶 B(使用固定散列或测试账号绑定)
    • batch_size=10;style=活力
  • 测试步骤
    1. 使用 userA 发起请求,记录去重阈值日志与结果相似度分布。
    2. 使用 userB 发起请求,记录同样信息。
    3. 对比两组结果中被剔除的相似对的阈值行为差异。
  • 预期结果
    • userA 日志 dedupe.threshold=0.8,userB 日志 dedupe.threshold=0.72;两组去重效果与阈值一致。
  • 优先级标识
  • 关联信息
    • 模块:灰度发布,A/B 实验,监控,评分与重排
    • 配置:copy.gray.enabled,copy.gray.buckets

测试用例13:缓存键包含阈值与风格,配置变更后不误命中

  • 功能描述
    • 验证缓存键包含 style、dedupe_threshold 等,配置更新后命中行为正确。
  • 前置条件
    • 初始 dedupe_threshold=0.8;可在测试窗口临时调回0.72进行对比;style=活力;script=zh-Hans
  • 测试步骤
    1. 以当前 0.8 阈值请求一次,记录返回与缓存命中情况(cache_hit=false)。
    2. 复查同请求第二次调用,期望命中缓存(cache_hit=true)。
    3. 将阈值改为0.72(仅测试环境),再次调用同参数。
    4. 检查缓存命中(应为 false),新结果写入缓存。
  • 预期结果
    • 第2次命中缓存;阈值变更后不命中旧缓存;缓存键包含 dedupe_threshold、style、script 等维度。
  • 优先级标识
  • 关联信息
    • 模块:缓存,配置中心,监控
    • 配置:cache.key.includes

测试用例14:计费记录与免费改写计费边界

  • 功能描述
    • 验证计费记录与生成次数一致;禁用词改写不产生额外计费(若产品规则规定)。
  • 前置条件
    • 两次请求:一次基线(无改写),一次含禁用词触发改写;style=活力;batch_size=1
  • 测试步骤
    1. 发起无禁用词请求,查询计费记录:gen_count=1。
    2. 发起含禁用词请求,查询计费:生成计费 gen_count=1;rewrite 不单独计费(根据产品计费开关)。
    3. 校验计费行包含 request_id、user_id、style、length、script。
  • 预期结果
    • 两次生成均计费一次;改写不增加生成计费(若计费开关 rewrite_charge=false);账单字段完整。
  • 优先级标识
  • 关联信息
    • 模块:计费,文本合规,配置中心
    • 配置:billing.rewrite_charge=false(测试环境)

测试用例15:监控指标完整性与告警

  • 功能描述
    • 验证监控与日志字段完整、指标上报正确,非法 style 与禁用词场景触发告警。
  • 前置条件
    • 使用测试用例4与5的请求
  • 测试步骤
    1. 查询两次请求的监控日志。
    2. 校验字段:style、style_weight、script、length_range、dedupe_threshold、compliance_status、rewrite_applied、invalid_style、cta_count。
    3. 校验告警通道收到对应事件。
  • 预期结果
    • 字段齐全且准确;告警事件触发次数与场景一致。
  • 优先级标识
  • 关联信息
    • 模块:监控,文本合规,风格控制器
    • 指标:copy_gen_total、copy_compliance_rewrite_total、copy_invalid_style_total

测试用例16:专业风格下数字与单位锁定与术语倾向

  • 功能描述
    • 在 style=专业 下验证术语倾向与数字单位锁定并存。
  • 前置条件
    • style="专业";script=zh-Hans
  • 测试步骤
    1. 发起请求,记录文本。
    2. 检测至少2个专业词库词条(如“参数”“标准”“认证”“性能”)。
    3. 同时检测 "6小时"、"150g" 原样出现。
  • 预期结果
    • 专业术语覆盖达标;数值单位未变更;长度与CTA、禁用词约束仍满足。
  • 优先级标识
  • 关联信息
    • 模块:风格控制器,品牌词库,文本合规
    • 配置:copy.style.enum,禁用词词库

测试用例17:CTA 出现次数严格为一次(重复惩罚)

  • 功能描述
    • 验证 CTA 次数控制为1,若模型倾向多 CTA,评分重排或合规修正。
  • 前置条件
    • style=活力;batch_size=5
  • 测试步骤
    1. 发起批量请求,记录5条文本。
    2. 对每条统计 CTA 词库匹配次数。
    3. 若出现次数≠1,检查重排/修正日志:cta_overuse_detected 与 post-edit applied。
  • 预期结果
    • 最终输出每条 CTA 次数=1;日志记录修正行为(如有)。
  • 优先级标识
  • 关联信息
    • 模块:文本合规,评分与重排,监控
    • 配置:CTA 词库与次数规则

测试用例18:跨脚本缓存与内容一致性(Hans→Hant)

  • 功能描述
    • 验证简体与繁体的缓存键区分,避免误用跨脚本缓存。
  • 前置条件
    • 先请求 zh-Hans,再请求 zh-Hant;style=活力
  • 测试步骤
    1. 请求 zh-Hans,一次命中缓存后再请求 zh-Hant。
    2. 检查 zh-Hant 请求 cache_hit=false(首次),并写入独立缓存条目。
    3. 两者文本语义一致但字形不同。
  • 预期结果
    • 脚本维度参与缓存键;跨脚本不共享缓存;一致性通过。
  • 优先级标识
  • 关联信息
    • 模块:简繁转换,缓存,监控
    • 配置:cache.key.includes 包含 script

测试用例19:批量请求的风格强度默认权重生效

  • 功能描述
    • 验证批量请求中风格强度默认权重0.6对所有条目生效。
  • 前置条件
    • batch_size=10;style=活力;未显式传 style_weight
  • 测试步骤
    1. 发起请求,记录10条文本与日志。
    2. 抽样3条进行风格强度打分,查看强度分布均≥0.6。
    3. 日志包含 style_weight=0.6。
  • 预期结果
    • 默认权重对全部条目生效;风格强度达标;日志一致。
  • 优先级标识
  • 关联信息
    • 模块:风格控制器,监控
    • 配置:copy.style.weight.default=0.6

测试用例20:模型服务错误回退不破坏计费与监控

  • 功能描述
    • 验证模型服务短暂错误时的重试/回退行为,不产生重复计费与监控丢失。
  • 前置条件
    • 人为注入一次模型服务 5xx 故障(测试环境支持),style=活力
  • 测试步骤
    1. 发起请求,系统进行一次重试后成功生成。
    2. 查询计费与监控:gen_count=1;错误计数 model_5xx=1;重试成功标记=1。
  • 预期结果
    • 成功输出;仅计费一次;监控完整记录失败与重试。
  • 优先级标识
  • 关联信息
    • 模块:模型服务,计费,监控
    • 配置:重试策略(如 retry.max=1)

说明与执行建议

  • 为保证可重复性,建议固定 user_id、请求参数与测试时间窗口,并在测试环境锁定配置版本。
  • 相似度计算建议使用统一的相似度服务或同模型的评分接口,阈值与日志字段以服务输出为准。
  • 文本长度统计以 Unicode 字符数为准,不计入空白与控制字符。
  • 合规词库、CTA 词库与风格词库版本号需在测试报告中记录,确保跨版本回归可比性。

示例详情

解决的问题

把 AI 打造成一名随叫随到的“回归测试用例设计专家”,在需求变更、缺陷修复、版本发布等关键时点,10 分钟内生成可直接执行的回归测试套件。覆盖核心流程、边界与异常,自动标注优先级与关联信息,让发布风险可见、范围可控。统一用例结构与表达方式,减少沟通与返工,让新人也能快速产出接近资深水平的用例。最终提高覆盖率与通过率,缩短发布周期,降低线上故障与回滚概率,为团队持续稳定交付保驾护航。

适用用户

测试工程师

输入功能描述与范围,快速生成可执行用例集,从主流程到边界与异常全覆盖;直接导出步骤与预期结果,用于当天回归与缺陷复现,显著缩短编写时间。

测试经理/QA负责人

按照业务优先级与风险分层制定回归计划,合理分配人力与排期;沉淀跨版本可复用用例库,统一格式标准,提升团队协作效率与可追踪性。

开发工程师

在修复缺陷或合并代码前后,快速获得涉及范围与回归清单,自测验证改动不影响关键路径,减少反复沟通和返工。

特征总结

一键生成回归用例集,覆盖主流程、边界与异常,快速锁定需验证的关键路径。
按业务优先级自动排序,突出高风险与高价值场景,帮助团队聚焦有限测试资源。
智能评估变更影响范围,联动关联模块与流程,避免遗漏跨模块回归验证。
结构化输出测试目标、前置条件、步骤与预期,直接落地为可执行用例文档。
结合真实业务规则生成测试数据,拒绝空洞示例,提升缺陷发现率与复现效率。
覆盖新增功能、缺陷修复、版本升级与性能优化等场景,确保上线后稳定可用。
支持模板化与参数化调用,适配不同项目与系统,实现团队间复用与快速上手。
清晰标注优先级与追踪信息,串联需求编号和缺陷记录,便于协作与回溯。

如何使用购买的提示词模板

1. 直接在外部 Chat 应用中使用

将模板生成的提示词复制粘贴到您常用的 Chat 应用(如 ChatGPT、Claude 等),即可直接对话使用,无需额外开发。适合个人快速体验和轻量使用场景。

2. 发布为 API 接口调用

把提示词模板转化为 API,您的程序可任意修改模板参数,通过接口直接调用,轻松实现自动化与批量处理。适合开发者集成与业务系统嵌入。

3. 在 MCP Client 中配置使用

在 MCP client 中配置对应的 server 地址,让您的 AI 应用自动调用提示词模板。适合高级用户和团队协作,让提示词在不同 AI 工具间无缝衔接。

AI 提示词价格
¥20.00元
先用后买,用好了再付款,超安全!

您购买后可以获得什么

获得完整提示词模板
- 共 718 tokens
- 4 个可调节参数
{ 功能描述 } { 测试范围 } { 业务优先级 } { 关联模块 }
获得社区贡献内容的使用权
- 精选社区优质案例,助您快速上手提示词
使用提示词兑换券,低至 ¥ 9.9
了解兑换券 →
限时半价

不要错过!

半价获取高级提示词-优惠即将到期

17
:
23
小时
:
59
分钟
:
59