知识卡片
模糊测试补充人的想象力而非替代守门测试
内容
模糊测试可以无休止地运行下去,这意味着不能像单元测试那样当成每次提交前必须全部通过的强制关卡——真正承担”拦住已知问题”这个职责的,应该是运行更快、结果更确定的单元测试和集成测试。模糊测试真正擅长的是生成工程师因思维惯性而从未想到过的边界输入,如果代码覆盖率总停留在某一点上,就该调查模糊测试无法触及其他区域的原因;发现问题后再把引发问题的具体样本转化成一条新的单元测试用例,防止同样的问题以后再复现。
参考来源
- 位置:《Google系统架构解密:构建安全可靠的系统》第13章《代码测试》13.4节模糊测试(源文件:`../OREILY动物书合辑 图灵新版/_epub-src/text/part0014_split_108.html`)
- 结论依据:原文说明模糊测试用于测试服务弹性、发现代码回归缺陷,"在构建工具链的过程中使用尽可能多的模糊引擎,并监测诸如代码覆盖率等指标,这是一个良好的业界实践。通常,如果代码覆盖率总停留在某一点上,应调查模糊测试无法触及其他区域的原因"。
- 原始内容:模糊测试亦可用于测试服务的弹性……在构建工具链的过程中使用尽可能多的模糊引擎,并监测诸如代码覆盖率等指标,这是一个良好的业界实践。通常,如果代码覆盖率总停留在某一点上,应调查模糊测试无法触及其他区域的原因。