在生成多平台回归测试清单时,许多用户都会遇到一个常见问题:让Claude帮忙产出测试检查项,但每次输出的内容都只是沿用一套通用检查模板,完全忽略了你是针对Web端、iOS App、Android App还是小程序进行验证。最终导致上线前遗漏了关键平台特性——例如iOS的ATS配置未校验、小程序的wx.request并发限制未被测试、Web端的CSP头校验被跳过——这些平台级别的缺陷直到上线后才发现,令人十分困扰。

锁定平台特征锚点
解决这一问题的关键在于,在提示词的开头第一行就必须明确固定平台组合,格式要求如下:【平台:Web+iOS+小程序】。请避免使用“多端”“全平台”这类模糊描述——Claude无法解析抽象集合,若给出模糊词汇,它会默认按Web端生成测试项,其他平台则完全被忽略。
紧接着在第二行,逐平台列出必须验证的技术特性,并且这些特性要写成可执行的动作,而非仅仅罗列名词。例如:
Web:需校验Content-Security-Policy响应头、检查Service Worker更新状态、验证第三方JS资源加载超时阈值;
iOS:需验证ATS配置是否禁用明文HTTP、确认WKWebView是否启用JavaScriptCore调试开关、测试推送token刷新逻辑;
小程序:需检查wx.request最大并发数是否仍为10、确认云开发环境变量是否同步至最新灰度版本、验证自定义组件props透传是否丢失。
特别注意:一定要写成“校验CSP头”,而不是“关注CSP”,否则Claude会直接跳过验证步骤并输出结论,等同无效。
分平台强制结构化输出
有两种方法可以强制Claude按平台分类输出,并使每个检查项都附带可执行的动作说明。
方法一:运用XML标签隔离各平台回归项
要求Claude将完整输出包裹在、、。每个标签内的条目编号格式须为:“① [动词]+[对象]+[判定标准]→[证据形式]”。举例说明:。
方法二:借助JSON Schema预定义字段约束
在提示词中直接嵌入一个JSON结构,例如:{"platform":"iOS","check_items":[{"id":"ios-01","action":"执行ATS配置扫描","target":"Info.plist","criterion":"NSAllowsArbitraryLoads=false且NSExceptionDomains非空","evidence":"Xcode Organizer → Diagnostics → Network Report截图"}]}
这里有一条硬性规则:如果某个平台标签为空,或者JSON字段缺失,Claude必须返回错误提示【ERR-PLATFORM-MISSING】并终止输出,不允许使用“暂无”“无需检查”等搪塞内容。
注入平台专属失败案例
仅靠静态指令往往不够充分,需要给Claude提供一些真实世界的冲击素材。
第一步:插入真实故障锚点
在提示词中间部分加入一句实际发生过的事故描述,例如:“案例:某次小程序发版后支付失败率飙升至47%,根因为wx.request并发限制从10降至5未同步修改业务层重试逻辑,导致订单创建接口超时。”
第二步:强制Claude反向推导检查项
追加一条指令:“基于上述案例,为小程序平台生成一条必须包含的回归项,要求包含具体参数名、当前值、预期值、生效方式(热更新/重启App)。”
第三步:绑定平台构建产物路径
这一步至关重要。你需要写明:“所有iOS检查项必须指向实际构建产物路径,例如:检查/Users/jenkins/build/iOS/Release-iphoneos/App.app/Info.plist;所有小程序检查项必须基于project.config.json和miniprogram/pages/order/create.js两个文件。”如果路径不够具体,Claude会凭空捏造文件位置,测试人员拿着清单根本无法找到操作入口。
