【发布时间】:2010-09-20 08:12:19
【问题描述】:
注意:我提到接下来的几段作为背景。如果您只需要 TL;DR,请随意跳至编号问题,因为它们仅与此信息间接相关。
我目前正在编写一个 python 脚本,它使用 POSIX 日期(除其他外)做一些事情。不过,对这些进行单元测试似乎有点困难,因为可以遇到的日期和时间范围很广。
当然,对我来说,尝试测试每个可能的日期/时间组合是不切实际的,所以我想我将尝试一个单元测试来随机化输入,然后在测试失败时报告输入是什么。从统计上讲,我认为如果我尝试考虑所有潜在的问题区域(由于遗漏的东西)或测试所有案例(由于完全不可行),我可以实现更多的测试完整性,假设我运行它足够的次数。
所以这里有几个问题(主要与上述间接相关):
- 哪些类型的代码适合随机测试?哪些类型的代码不是?
- 如何确定使用随机输入运行代码的次数?我问这个是因为我希望有足够大的样本来确定任何错误,但不想等待一周才能得到结果。
- 这些类型的测试是否非常适合单元测试,或者是否有其他类型的测试可以很好地配合?
- 还有其他最佳做法可以做这种事情吗?
相关主题:
【问题讨论】:
标签: unit-testing language-agnostic