热门角色不仅是灵感来源,更是你的效率助手。通过精挑细选的角色提示词,你可以快速生成高质量内容、提升创作灵感,并找到最契合你需求的解决方案。让创作更轻松,让价值更直接!
我们根据不同用户需求,持续更新角色库,让你总能找到合适的灵感入口。
本提示词专为开发人员和测试工程师设计,能够根据代码结构、功能需求或用户故事等输入规格,自动生成全面且可执行的测试套件。通过智能分析输入信息,系统会创建包含单元测试、集成测试和功能测试的完整测试方案,显著提升测试覆盖率并减少人工编写测试用例的时间。该工具支持多种测试类型和优先级设置,确保生成的测试套件既符合业务需求又具备良好的可维护性。
说明:
| 用例编号 | 测试类型 | 前置条件/数据 | 测试步骤 | 预期结果 | 优先级 |
|---|---|---|---|---|---|
| UT-001 | 价格计算-税费 | 税率10%(exclusive),单价100,qty=2 | 调用 priceCalculator({items:[{100,2}], tax=10%}) | 总商品=200;税=20;合计=220 | 高 |
| UT-002 | 运费-按地区+重量 | 模板A:CN-NORTH 基础10,>5kg每kg+2;包邮门槛99 | 计算 4kg 商品金额80,地区CN-NORTH | 运费=10(未达免运);合计=90 | 高 |
| UT-003 | 运费-免运门槛 | 模板A,金额120,4kg | 计算 | 运费=0(达99免运) | 高 |
| UT-004 | 大件运费 | 模板B:CN-SOUTH 大件附加20,基础8 | 20kg 大件金额300 | 运费=8+20=28 | 高 |
| UT-005 | 满减优先 | 满100-20,券10元不可叠加 | 金额120,尝试同时应用 | 选满减(实际-20)不叠加券 | 高 |
| UT-006 | 券优先于无满减 | 无满减可用,券10元 | 金额80 | 应用券-10 | 高 |
| UT-007 | 地址校验 | 地址对象缺省邮编 | validateAddress() | 返回错误码 INVALID_ZIP | 高 |
| UT-008 | 库存扣减函数 | SKU-STD-001 库存10 | reserve(5) 后 available=5;release(5) 恢复到10 | 高 | |
| UT-009 | 锁定超时释放 | 锁TTL 30min(测试用5秒) | lock(2) 后 advanceTimersByTime(5s) | 锁释放,可再锁 | 高 |
| UT-010 | 状态机-正常流 | Pending→Paid→Fulfilled | 触发支付成功→发货 | 合法转移,无异常 | 高 |
| UT-011 | 状态机-取消流 | Pending→Cancelled | 取消时触发库存回补与退款事件emit | 事件发出,状态=Cancelled | 高 |
| UT-012 | 回调幂等键 | 同一 paymentId+nonce | processCallback(x2) | 第二次返回“idempotent/no-op”,无重复副作用 | 高 |
| 用例编号 | 测试类型 | 前置条件/数据 | 测试步骤 | 预期结果 | 优先级 |
|---|---|---|---|---|---|
| IT-001 | 订单↔库存-扣减 | SKU-STD-001 库存10 | POST /api/orders 创建订单 qty=3 | 库存保留=3,订单=Pending | 高 |
| IT-002 | 提交时锁定30min | LOCK_TTL_SEC=5(测试加速) | 下单qty=2→Redis查看TTL | TTL≈5s,锁存在 | 高 |
| IT-003 | 锁过期自动释放 | 延时>TTL | 再次下单qty=9 | 成功锁定(释放生效) | 高 |
| IT-004 | 支付回调-签名验签 | sandbox key | POST /payment/callback 签名正确 | 订单转Paid,库存实际扣减 | 高 |
| IT-005 | 回调幂等 | 重复发送同一回调 | 第二次返回200但no-op;库存/券/状态不变 | 高 | |
| IT-006 | 优惠选择(不叠加) | 满100-20;券10元;金额120 | POST /api/checkout/pricing | 选择满减方案,总价-20,券未用 | 高 |
| IT-007 | 不同地区运费 | CN-NORTH vs CN-SOUTH 相同商品重量 | 两次计算 | 运费不同,符合模板A/B | 高 |
| IT-008 | 发券服务联动 | 支付成功后触发发券(若活动配置) | 完成支付→监听发券回调/队列 | 仅一次发券(幂等) | 高 |
| IT-009 | 取消订单退款回补 | Paid 订单取消 | POST /api/orders/{id}/cancel | 状态=Cancelled;退款事件;库存回补 | 高 |
| IT-010 | 发票信息存储 | 提交发票抬头/税号 | 下单→查询订单详情 | 发票字段正确持久化 | 高 |
| 用例编号 | 测试类型 | 前置条件/数据 | 测试步骤 | 预期结果 | 优先级 |
|---|---|---|---|---|---|
| FT-001 | 购物车-新增 | 登录 testuser | POST /api/cart add SKU-STD-001 x2 | 行数+1,数量=2 | 高 |
| FT-002 | 购物车-编辑数量 | 现有 x2 | PATCH /api/cart line qty=5 | 数量=5 | 高 |
| FT-003 | 购物车-单SKU上限 | 已有 x5 | 再加 x1 | 被拒,错误 CODE=SKU_QTY_LIMIT | 高 |
| FT-004 | 购物车-行数上限 | 已有50行 | 新增第51行 | 被拒,CODE=CART_LINE_LIMIT | 高 |
| FT-005 | 购物车-删除 | 有1行 | DELETE /api/cart/{lineId} | 行删除成功 | 高 |
| FT-006 | 结算-地址校验 | 地址缺邮编 | POST /api/checkout | 400 INVALID_ZIP | 高 |
| FT-007 | 价格明细 | 有券/满减场景 | POST /api/checkout/pricing | 返回明细:商品小计/税/运费/优惠/应付 | 高 |
| FT-008 | 提交订单 | 购物车有效、地址/配送方式就绪 | POST /api/orders | 返回订单号,状态=Pending,锁定库存 | 高 |
| FT-009 | 支付失败重试 | Pending 订单 | POST pay intent→模拟失败→重试成功 | 成功转Paid | 高 |
| FT-010 | 站内信/邮件 | Paid→Fulfilled | 监听消息日志/事件 | 邮件/站内信发送一次 | 高 |
| 用例编号 | 测试类型 | 前置条件/数据 | 测试步骤 | 预期结果 | 优先级 |
|---|---|---|---|---|---|
| E2E-001 | 无券-CN-NORTH | SKU-STD-001 2件,金额≥免运 | 浏览类目→详情→加购→购物车→结算→选地址NORTH→下单→跳转沙箱→模拟成功→回跳 | 订单Paid;运费0;金额正确;订单详情可见 | 高 |
| E2E-002 | 有券-无满减更优 | 券10元,满减不可用 | 与001相同但金额<满减门槛 | 应用券-10;对账正确 | 高 |
| E2E-003 | 满减优先 | 满100-20与券10并存 | 路径同上 | 选择满减;不叠加券 | 高 |
| E2E-004 | CN-SOUTH 运费模板B | 相同SKU重量 | 选择南区地址 | 运费按B模板;总额正确 | 高 |
| E2E-005 | 大件商品 | SKU-BULK-001 20kg | 全流程 | 含大件附加;支付后Paid | 高 |
| E2E-006 | 预售商品 | SKU-PRE-001 | 全流程 | Paid 后可下单但发货标记为预售,状态机正常 | 高 |
| E2E-007 | 移动端视口 | iPhone 12 视口 | 相同流程 | UI/流程可用,金额一致 | 高 |
| E2E-008 | 回调幂等 | 已支付成功 | 重放回调2次(devtools/脚本) | 第二次无副作用;日志记录idempotent | 高 |
| 用例编号 | 测试类型 | 前置条件/数据 | 测试步骤 | 预期结果 | 优先级 |
|---|---|---|---|---|---|
| IT-CC-001 | 并发扣减同一SKU | SKU-STD-001 可售10 | 并发20个下单请求各qty=1 | 成功≈10,失败≈10;无超卖;库存一致 | 高 |
| IT-CC-002 | 超时释放后再下单 | 同上 | 成功10→等待锁TTL过期→再下单10 | 第二批可成功(锁释放生效) | 高 |
| IT-CC-003 | 可观察性校验 | 开启trace/log指标 | 并发下单 | 指标包含:锁等待时间、callbacks幂等命中、库存冲突数 | 高 |
以上套件设计遵循等价类与边界值分析,覆盖正常流程与异常/并发场景,具备可执行性、可维护性,并满足验收标准。
说明:
| 用例编号 | 测试步骤 | 预期结果 | 优先级 |
|---|---|---|---|
| UT-01 JWT签发-包含必要Claims | 模拟用户登录成功后调用TokenService.issue(); 断言payload含exp、iat、aud、roles,exp>iat,roles包含用户角色 | JWT有效载荷完整且类型正确 | 中 |
| UT-02 JWT校验-正常 | 使用RS256密钥对签发token,调用TokenService.validate(); | 返回有效,包含主体与claims | 中 |
| UT-03 JWT校验-过期 | 构造已过期token(exp<now),validate() | 抛出过期异常/返回无效 | 中 |
| UT-04 JWT校验-签名不匹配 | 用不同私钥签发token,服务端用本公钥验签 | 校验失败 | 中 |
| UT-05 JWT校验-受众aud不匹配 | 签发aud=tenantA,资源检查要求tenantB | 校验或授权失败(403/无效) | 中 |
| UT-06 权限判定-RBAC | 使用角色矩阵(user/manager/admin)调用AuthorizationService.canAccess("/admin/x") | 仅admin返回true;其余false | 中 |
| UT-07 权限判定-订单所有者 | 模拟订单ownerId=U1:用户U1访问返回true,U2访问false | 资源级权限正确 | 中 |
| UT-08 限流键生成-IP | 传入ip、路由、窗口参数生成key | key格式稳定(含ip与路由标识),相同输入相同输出 | 中 |
| UT-09 限流键生成-用户 | 传入userId、路由生成key | key包含userId且避免冲突 | 中 |
| UT-10 密码加盐哈希 | 调用PasswordService.hash("p")两次结果不同;verify匹配 | 加盐有效且验证通过 | 中 |
| API-01 登录成功 | POST /auth/login {username: user1, password: valid};请求头User-Agent与X-Request-Id设置 | 200;返回accessToken、refreshToken;access可解码含roles、aud;审计日志包含userId/ip/ua/traceId | 中 |
| API-02 登录失败-密码错误 | POST /auth/login {username: user1, password: wrong} | 401或400;提示友好且不泄露具体原因;审计日志记录失败事件(含ip/ua/traceId;userId可为空或未知) | 中 |
| API-03 登录限流 | 连续6次/分钟相同账号或同IP调用 /auth/login | 第6次返回429与友好提示;审计日志有“login_rate_limited”事件 | 中 |
| API-04 刷新成功 | 登录获取refreshToken;POST /auth/refresh {refreshToken} | 200;返回新access/refresh;新access签发iat更新、exp延后 | 中 |
| API-05 刷新失败-无效/撤销 | 使用伪造或已撤销refreshToken调用 /auth/refresh | 401;错误码/消息明确,审计日志记录 | 中 |
| API-06 退出-刷新令牌失效 | 登录→刷新获得R2→调用注销API(若无显式接口,则调用服务端提供的 revoke 或在测试中调用服务层)→再用R2刷新 | 刷新失败(401);Redis白名单已移除/标记失效 | 中 |
| API-07 访问受保护资源-无Token | GET /users/me | 401 | 中 |
| API-08 访问受保护资源-有效Token | 登录获取access;GET /users/me | 200;返回自己的用户信息(userId匹配token) | 中 |
| API-09 访问受保护资源-过期Token | 构造短exp token或操控时钟让token过期;GET /users/me | 401(token过期) | 中 |
| API-10 RBAC-访问admin-普通用户 | user角色Access;GET /admin/any | 403(拒绝)且审计日志记录授权失败 | 中 |
| API-11 RBAC-访问admin-admin用户 | admin角色Access;GET /admin/any | 200 | 中 |
| API-12 订单-仅所有者可读 | 用户A创建订单O1;用户B使用其access访问GET /orders/{O1} | 403(拒绝) | 中 |
| API-13 订单-所有者可读 | 用户A访问GET /orders/{O1} | 200;返回订单ownerId=用户A | 中 |
| API-14 每用户限流 | 登录用户X;1分钟内对某受保护资源发起121次请求 | ≥第121次返回429;其它非用户限流优先级不抢占;Prometheus限流命中计数增加 | 中 |
| API-15 每IP限流 | 未登录/或多用户从同一IP发起61次公共可访问动作(或同一受保护资源不同用户以避免用户限流触发) | ≥第61次返回429;Prometheus命中率指标可观测 | 中 |
| API-16 审计日志-字段完整 | 成功登录、访问受保护资源、触发一次限流;捕获日志 | 三类日志均包含userId(登录失败场景允许空)、ip、ua、traceId;traceId=请求头X-Request-Id | 中 |
| API-17 Prometheus指标-限流 | 触发登录限流≥1次后访问/actuator/prometheus | 存在限流命中指标(如 rate_limit_hits_total 之类,包含维度key或route);值≥1 | 中 |
| REG-01 刷新后旧令牌处理 | 登录得A,R;用R刷新得A2,R2;用旧A继续访问受保护资源 | 按约定行为验证:旧A在exp内仍可用(200);无黑名单误拦截 | 中 |
| REG-02 密钥轮换兼容 | 用私钥K1签发token T1;服务切换到K2(公钥K1仍信任);用T1访问/users/me;再登录获取新token应由K2签发 | T1仍可用(200);新token验签keyId/签名变化,兼容期无中断 | 中 |
| REG-03 登录限流-审计回归 | 连续触发>阈值登录限流 | 429返回体包含友好提示(不含敏感信息);审计日志事件枚举值/格式稳定 | 中 |
| REG-04 历史问题-跨租户访问被拒 | 使用aud=tenantA的token访问tenantB数据资源(如预置订单隶属tenantB) | 403;审计日志记录跨租户拒绝,包含traceId | 中 |
补充说明:
备注
目标:验证订单服务在订单确认后发布的 OrderConfirmed 事件被账单服务正确消费,生成账单与发票,PDF正确存储与可下载;保证幂等与一致性(重复事件不重复记账,失败进入DLQ并可补偿),跨服务链路可追踪(traceId贯穿),对账任务与支付网关一致。
范围:
默认优先级:低(可在执行建议中按阶段提升关键用例优先级)
| 编号 | 类型 | 前置条件 | 测试步骤 | 预期结果 | 优先级 |
|---|---|---|---|---|---|
| UT-001 | 单元 | EXCHANGE_RATE_PROVIDER=mock | 计算含两项明细、折扣10%、税类不同(Digital/Physical),币种USD | 总金额=明细小计-折扣+税额;四舍五入符合规则(中间保留4位,最终2位) | 低 |
| UT-002 | 单元 | mock汇率:EUR→USD=1.10 | 转换三项明细EUR→USD,校验中间与最终精度 | 最终金额符合精度策略,不丢失分(cent) | 低 |
| UT-003 | 单元 | 税率表启用 | 税额按地区CN/US、品类不同 | 税额按规则正确,免税类为0 | 低 |
| UT-004 | 单元 | 幂等仓储有唯一索引(idempotency_key) | 并发两次以同一orderId保存处理标记 | 仅一条记录插入,第二次返回已存在 | 低 |
| UT-005 | 单元 | PDF模板与样例数据 | 渲染包含多语言字符、发票抬头/税号 | PDF可生成,文本完整,无乱码,文件大小>0 | 低 |
| UT-006 | 单元 | 税号规则表 | 校验发票抬头与税号(有效/无效/空) | 有效通过;无效给出错误;空必填报错 | 低 |
| UT-007 | 单元 | 风控开关=on | 风控失败时阻止开票 | 返回阻断状态,不写账单/发票 | 低 |
| IT-001 | 集成 | Testcontainers: Kafka+Schema Registry | 发送 OrderConfirmed 到 order.events(key=orderId),消费成功Ack | 消费者提交offset;事件模式通过Schema校验;账单入库 | 低 |
| IT-002 | 集成 | Kafka主/重试策略配置 | 模拟Postgres短暂失败抛可重试异常 | 消费重试N次后成功;未进入DLQ | 低 |
| IT-003 | 集成 | Kafka DLQ已配置 | 模拟非重试异常(税号校验失败) | 消息路由到DLQ,header含Idempotency-Key与error原因 | 低 |
| IT-004 | 集成 | Testcontainers MinIO | 生成PDF并上传至MinIO,生成预签名URL | 对象存在于invoices/{invoiceId}.pdf;Content-Type=application/pdf;预签名URL可用且过期时间正确 | 低 |
| IT-005 | 集成 | WireMock支付网关沙箱 | 触发对账任务(手动触发接口或模拟定时) | 对账匹配成功:账单标记reconciled;不匹配:生成差异报告并标记异常 | 低 |
| IT-006 | 集成 | OTel Collector/Tempo已运行 | 生产事件带traceparent,消费端启用Context Propagation | Tempo中可看到跨服务链路(order-svc→billing-svc)同一traceId | 低 |
| IT-007 | 集成 | MinIO不可用 | 处理事件时上传PDF失败 | 写入DLQ并记录失败原因;幂等记录保持“未完成”状态 | 低 |
| FT-001 | 功能 | 登录为有权限用户 | GET /invoices/{id}/pdf | 返回200,PDF可下载,审计日志记录下载人/时间 | 低 |
| FT-002 | 功能 | 已有多笔账单 | GET /billing?status=paid¤cy=USD&dateRange=... | 过滤结果准确,分页/排序正确,空结果返回空集合 | 低 |
| FT-003 | 功能 | 存在异常账单 | POST /billing/{id}/abnormal with note; GET查看 | 账单被标记异常,备注可见,可审计,重复标记受限 | 低 |
| FT-004 | 功能 | 多币种账单 | GET /billing/{id} | 展示原币金额及主币(如USD)换算金额,汇率标注撮合时点 | 低 |
| E2E-001 | 端到端 | K8s部署order-svc/billing-svc | 调用下单接口→order.events发出→账单服务消费→生成账单与发票PDF→发送通知 | DB生成账单+发票;MinIO存在PDF;通知发送成功;Tempo中完整trace | 低 |
| E2E-002 | 端到端 | 幂等开启 | 发送相同orderId事件两次 | 仅一笔账单/发票;第二次被认定重复且不重复记账 | 低 |
| E2E-003 | 端到端 | 风控=on | 下单命中高风险→补偿前不出发票;解除风险后触发补偿/重放 | 初次入DLQ或待处理;解除后生成发票,状态更新正常 | 低 |
| E2E-004 | 端到端 | 支付成功交易存在于沙箱 | 完成支付→运行对账任务 | 对账通过,账单状态=reconciled,报告无差异 | 低 |
| E2E-005 | 端到端 | 制造一笔网关侧有而账单侧无 | 运行对账任务 | 生成差异报告,账单标记异常,告警指标上报 | 低 |
| REG-001 | 回归 | 并发消费者>=2 | 注入短暂DB错误导致重试;重复消费相同orderId | 不发生双记账;唯一索引和幂等记录生效 | 低 |
| REG-002 | 回归 | Schema新增可选字段discountReason | 发布包含新字段的事件 | 兼容消费成功;老字段仍正常解析 | 低 |
| REG-003 | 回归 | 存在历史DLQ消息 | 触发DLQ回放工具/补偿流程 | 回放后不产生重复账单;成功后从DLQ移除 | 低 |
以上测试套件可直接落地为自动化测试代码结构(modules: unit, integration, functional, e2e, regression),结合Testcontainers与WireMock确保可重复、可维护,并在CI中按阶段递进执行。
将“自动化测试套件生成器”打造为团队的测试加速引擎:用一次清晰的输入(需求、代码结构、用户故事),在几分钟内生成可直接落地的完整测试套件(单元/集成/功能),显著提升测试覆盖率与稳定性,减少人工编写与重复沟通成本,推动敏捷迭代与持续集成高效运行,最终以更低风险、更快交付赢得业务与用户。
为新增功能和修复提交快速生成单元与异常场景用例,随手运行,及时发现回归与边界问题,提升改动信心。
根据需求或用户故事一键产出完整用例与数据说明,按优先级执行关键路径与异常流程,显著提升覆盖与交付速度。
获得清晰的测试策略与执行顺序建议,把控版本风险,在紧张迭代中平衡质量与进度,减少漏测与返工。
将模板生成的提示词复制粘贴到您常用的 Chat 应用(如 ChatGPT、Claude 等),即可直接对话使用,无需额外开发。适合个人快速体验和轻量使用场景。
把提示词模板转化为 API,您的程序可任意修改模板参数,通过接口直接调用,轻松实现自动化与批量处理。适合开发者集成与业务系统嵌入。
在 MCP client 中配置对应的 server 地址,让您的 AI 应用自动调用提示词模板。适合高级用户和团队协作,让提示词在不同 AI 工具间无缝衔接。
半价获取高级提示词-优惠即将到期