2026年3月28日

如何构造测试用例

很多时候不能一遍AC,是因为写代码的时候没有考虑进一些极端的输入。

问自己几个问题:

  1. 我的代码里有没有用某个"正常值"表示"特殊状态"(比如 -1、null、输入本身)?

    如果有,构造一个"真实答案恰好等于这个特殊值"的用例

  2. 我的循环条件,有没有可能一次都不执行?

    构造一个能让循环体跑 0 次的输入

  3. 题目有没有"数量"、"顺序"、"重复"这类概念?

    专门构造一个测试这个概念边界的用例

  4. 有没有测过"无解"的情况?

  5. 答案会不会出现在输入的最边缘(开头/结尾/整个输入)?

这样既能养成良好的习惯,平时工作中会写出尽可能安全的代码。