当前位置:首页 >专题 >Go 原生 Fuzzing 质量工程专题
Go 原生 Fuzzing 质量工程
Go 原生 Fuzzing 质量工程专题
从 fuzz target、种子语料到安全回归
单元测试验证的是开发者想到的输入,而 Fuzzing 专门寻找没有想到的输入。本专题以 Go 官方 testing.F、覆盖率引导模糊测试和安全文档为主线,精选 17Golang 真实文章,带你从最小 fuzz target 开始,理解语料、失败输入、最小化、测试缓存与持续回归,最后把模糊测试接入 API、解析器和安全质量门禁。
常见问题
把随机探索变成可解释、可复现的工程资产
Go Fuzzing 和普通单元测试有什么区别?
单元测试通常由开发者明确给出输入与期望结果;Fuzzing 会根据种子和覆盖率反馈持续生成输入,重点寻找 panic、错误状态和未预期行为。两者应组合使用,失败的 fuzz 输入还可以沉淀为普通回归测试。
Fuzz target 应该测试哪些函数?
优先选择解析器、编码解码、协议边界、鉴权输入和对外 API 校验等处理不可信输入的函数,并保证输入类型简单、断言稳定、执行成本可控。
发现失败输入后应该怎么处理?
先用 go test -run 复现并定位问题,修复后保留 testdata/fuzz/FuzzXxx 下的失败输入,让后续普通 go test 默认执行它,避免同一缺陷再次出现。
Fuzzing 适合在 CI 中一直运行吗?
CI 中通常运行固定时长或固定资源预算的 fuzz job,并缓存语料和上传失败样本;日常提交保持快速 seed 回归,夜间或专用 runner 承担更长的探索任务。
相关专题
继续查看相近方向内容
查看更多
最新文章
-
- Go 文件 Close 报错为什么不能被前面的写入错误覆盖
- 20秒前 235浏览
-
- Linux rsync --delete 使用前怎么做干运行和排除
- 4分钟前 384浏览
-
- Go 示例测试怎么让文档输出成为可执行回归用例
- 4分钟前 310浏览
-
- Python subprocess 管道死锁时怎么读取 stdout 和 stderr
- 10分钟前 459浏览
-
- Go exec.Cmd 输出管道不读取为什么 Wait 会阻塞
- 12分钟前 259浏览
-
- Go race 怎么定位只在并发测试中出现的数据竞争
- 17分钟前 428浏览
-
- PHP DOMDocument 解析外部实体时怎么关闭不必要的加载
- 21分钟前 409浏览

