说白了,要让DeepSeek这类模型老老实实测试边界,你必须在提示词里用一套结构化模板把它框住。别指望它能自己“悟”出来,AI没那么聪明,得把规则写得明明白白。
使用结构化模板锁定边界类型
第一步,直接在提示词开头把边界类型列清楚。不要只写一句“请考虑边界情况”,这样太模糊。要逐项列出:【最小值、最大值、零值、空值、临界溢出值】。这五类必须写全,缺少零值和空值,大概率会被漏掉。
第二步,每一类都得绑定一个真实业务场景。比如“用户年龄”字段,不能只写“考虑最大值”,要写成“最大值→120(系统设定的年龄上限)”。再比如“订单金额”,要写成“零值→0.00元(免费订单)、空值→金额字段为空字符串”。模型对具体数字和字符串的敏感度远高于抽象指令。
第三步,加一句否定约束:“禁止用‘其他边界’‘类似情况’等表述来概括,每一类边界都必须单独生成一条独立的测试用例。”别小看这句话,不加上它,模型很可能把多个边界类型塞进同一条用例,偷懒归类。
注入边界触发词替换通用动词
方法一很简单:把提示词里那些“检查”“验证”“测试”,统统换成带边界的动词短语。比如,“检查输入是否合法”改成“检查输入为【0、-1、null、10000000000】时,系统是否拒绝并返回明确错误码”。一个具体的数值列表,比任何抽象描述都管用。
方法二:在每条测试用例生成指令后面,固定追加一句话:“→该用例必须包含至少一个边界值,且该边界值需出现在输入字段或前置条件中”。这是个硬性约束,不加这个后缀,模型八成会优先生成正常流程的用例。
用对比式指令激活边界联想
还有一个技巧效果不错:在提示词末尾塞一条对比指令。让模型先写3条典型的正向用例,比如“用户输入18岁→系统返回成功”,然后立刻对应写出3条边界用例,比如“用户输入-1岁→系统返回‘年龄不能为负’”。关键要求是:正向用例和边界用例必须严格一一对应,正向用例的数量不能超过边界用例。
这招有效是因为,在强制对比之下,模型会主动去思考每个正常值对应的边界映射关系。操作起来也简单,直接把对比指令复制粘贴到提示词最后一行即可。
边界值的漏测基本就靠这几步来堵。提醒一句:别指望AI能替你思考这些边界,你的提示词写得越具体、越结构化,它生成的质量才越可靠。
