组合问题。例如，每一个布尔型的决断语句需要至少两种测试：一个返回真，一个返回假。因此，针对每行书写的代码，程序员通常需要写3至5行的测试代码。这很明显地很花时间而且对此的投入可能并不值得。也有些问题是根本不能简单地检测出来的——例如具不确定性的或牵扯到多线程的问题。此外，替单元测试写的程式码可能就像要测试的程式码一样有程序错误。佛瑞德·布鲁克斯在人月神话一书中举例说明：「绝对不要带两个计时器去海边。最好总是带一或三个」。意味着，如果两个计时器互相冲突的话，你该怎么知道哪个是对的？为了获得单元测试的好处，在软