开发:【当前身份:Java后端开发|所处环境:Spring Boot 3.3 + MyBatis-Plus 4.3.1|接口路径:/api/v2/orders/batch-create】请检查saveBatch()是否显式标注@Transactional(rollbackFor = Exception.class),并发插入部分失败时是否导致数据不一致?验证命令:①Controller断点触发两次相同批次请求;②查order表insert_time是否全部相同;③日志是否出现Transaction rolled back because it has been marked as rollback-only。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

你需要为同一接口测试问题生成覆盖开发、测试、运维三类角色的精准提问提示词,而不是泛泛而谈“怎么测”,否则前端不知道该mock哪些字段、后端漏掉幂等性校验点、运维无法定位超时是否源于网关重试策略。
面向开发工程师的提问提示词
第一步:在提示词开头声明角色与代码上下文 → 【当前身份:Java后端开发|所处环境:Spring Boot 3.3 + MyBatis-Plus 4.3.1|接口路径:/api/v2/orders/batch-create】
第二步:绑定具体实现细节 → “请检查batch-create接口中saveBatch()方法是否开启事务传播,若未显式标注@Transactional(rollbackFor = Exception.class),则并发插入时部分订单成功、部分失败是否会导致数据不一致?”
第三步:强制输出可执行验证动作 → “给出验证命令:① 在Controller层断点处触发两次相同批次请求 → ② 查看数据库order表中insert_time字段是否全部相同 → ③ 检查日志是否出现Transaction rolled back because it has been marked as rollback-only”
面向测试工程师的提问提示词
方法一:按HTTP生命周期分层提问
● 请求层:当header中X-Request-ID重复发送3次,服务端是否返回409 Conflict而非200?
● 响应层:响应体中total字段值是否等于items数组长度,且items内每个对象都含id、status、created_at三个必有字段?
● 边界层:用JMeter发送1000条并发请求,其中20%携带空字符串product_id,是否触发统一参数校验拦截并返回400 Bad Request?
【空字符串product_id必须作为独立测试项,不能合并进“非法格式”大类】
面向运维工程师的提问提示词
第一步:锁定基础设施链路 → “若调用/api/v2/orders/batch-create返回504 Gateway Timeout,需依次检查:Traefik Ingress Controller日志中upstream connect timeout是否超15s → 对应Pod的readinessProbe是否因DB连接池满而持续失败 → Prometheus中traefik_service_request_duration_seconds_bucket{le="15"}占比是否跌破99.5%”
第二步:绑定真实告警信号 → “当k8s事件中出现Warning BackOff 10s restarting failed container,且该Pod的/healthz返回200但/metrics中jvm_memory_used_bytes{area="heap"} > 95%,是否应触发自动扩pod操作?”
第三步:明确处置阈值 → “若curl -I http://order-svc:8080/api/v2/orders/batch-create返回HTTP/1.1 503 Service Unavailable且Header含Retry-After: 60,则运维必须在3分钟内执行kubectl rollout restart deploy/order-svc”


















