在哪些情况下,单元测试和TDD等比它们的价值更麻烦?
我想出的一些事情是:
还有什么其他案例?
发布于 2018-10-19 10:19:28
我认为迈克尔总结得非常好:“那些无法真正正式指明的事情”。事实证明,有很多事情无法正式指定。可用性是一个例子(虽然一旦你决定哪种行为可用,你当然可以并且当然应该测试那种行为!)。有点矛盾的是,许多数字训练任务无法正式指定:例如天气预报。目标当然是预测明天的天气,但这不是正式的规范。因此,你可以测试你使用的算法是否做了他们应该做的事情(计算平均值,反转矩阵,可以正式指定的东西),但是你的天气预报程序可以通过所有测试,但仍有90%的时间是错误的。或者你可以使用大量的历史数据来测试算法是否能产生良好的预测,但这很危险,因为它很容易导致算法只对你使用的历史数据准确,而不是一般。这可能意味着您的单元测试需要数小时或数天才能运行。更糟糕的是,您的算法可能具有必须“调整”的参数,例如对于所使用的测量仪器,并且每个算法的最佳参数可能不同,因此单元测试需要手动交互以找到好的参数。在理论上可能,但可能不是很有用。我猜相同的论点将适用于OCR,ICR,许多信号处理任务,人脸识别(以及许多其他图像处理任务),典型的Photoshop工具,如“红眼消除”,
发布于 2018-10-19 11:09:15
我坚信有思想的测试; 但是,我觉得单元测试和TDD主要是浪费时间。
https://stackoverflow.com/questions/-100000867
复制相似问题