2026年3月28日
如何构造测试用例
很多时候不能一遍AC,是因为写代码的时候没有考虑进一些极端的输入。
问自己几个问题:
-
我的代码里有没有用某个"正常值"表示"特殊状态"(比如 -1、null、输入本身)?
如果有,构造一个"真实答案恰好等于这个特殊值"的用例
-
我的循环条件,有没有可能一次都不执行?
构造一个能让循环体跑 0 次的输入
-
题目有没有"数量"、"顺序"、"重复"这类概念?
专门构造一个测试这个概念边界的用例
-
有没有测过"无解"的情况?
-
答案会不会出现在输入的最边缘(开头/结尾/整个输入)?
这样既能养成良好的习惯,平时工作中会写出尽可能安全的代码。