知识卡片
特性测试假设
内容
基于特性的测试用大量生成数据验证不变式,比手写几个例子更容易发现边界。它适合表达“无论输入如何都应成立”的规则,能把隐含假设变成可执行检查。
参考来源
- 位置:《程序员修炼之道:通向务实的最高境界(第2版)》第7章《当你编码时》话题42「基于特性测试」(源文件:_epub-src/text/part0016_split_006.html)
- 结论依据:原文说明手写测试可能与代码共享同样的错误假设,而基于特性的测试用大量随机生成数据校验契约与不变式,能发现隐藏假设,直接支持卡片论点。
- 原始内容:"如果原始代码和测试都写好了,那么是否两者都使用了相同的错误假设?……一旦实现了契约和不变式(我们将把它们放在一起并称为特性),就可以使用特性来自动化我们的测试。……提示71 使用基于特性的测试来校验假设。"