定义
软件缺陷(bug)指程序中导致行为与预期不符、出错或崩溃的缺陷。这个词在工程语境中早有使用,1947 年哈佛 Mark II 计算机中发现飞蛾的记录使其广为流传。
工作方式
缺陷通常源于编码错误、设计疏漏或对接口行为的误解;发现后一般经过报告、复现、定位、修复与回归测试的流程处理。对软件弱点的系统化分类可参考 MITRE 的 CWE 目录。
使用场景
开发团队用 issue 跟踪 bug 的生命周期;修复以补丁或新版本发布,并在版本说明中向用户说明。
易混概念
版本说明记录每个版本修复了哪些 bug;bug 与“功能请求”不同——前者是行为与预期不符的缺陷,后者是尚不存在的新需求。