Go Fuzzing 进入 Beta 测试阶段
Go 团队宣布原生的 fuzzing(模糊测试)功能已准备好在其开发分支dev.fuzz上进行Beta 测试。 Fuzzing 属于自动化测试,它通过持续控制程序的输入来暴露诸如 panic或bug 之类的错误。这些半随机的数据突变可以发现现有单元测试可能遗漏的新代码覆盖范围,以及很难被注意到的边缘案例的错误。由于模糊测试可以触达这些边缘案例,所以模糊测试对于发现安全漏洞和缺陷特别有价值。 下面是提案Draft Design 的部分内容: 支持使用-race和-msan进行模糊测试 支持使用-keepfuzzing进行模糊测试 对由不同 mutator引起的类似崩溃进行重复数据删除,这将是实现-keepfuzzing(降低噪音)的先决条件 在模糊处理时允许特殊选项(例如最大输入大小) 支持字典 模糊测试时可自定义覆盖范围检测(例如,仅检测某些软件包或文件) 为 mutator 定制生成器 支持结构化和非基本类型的结构化 [1.17的扩展目标]对除[]byte(例如字符串,int,float64)之外的其他原始类型的结构化支持 更多细节查看https://golang.org/s/dra...
