软件工程/质量/代码检查简介
在软件工程中,检查是指由经过培训的个人对任何工作产品进行同行评审,他们使用定义良好的流程寻找缺陷。检查也可能被称为Fagan检查,以Michael Fagan的名字命名,他是非常流行的软件检查流程的创造者。
检查是软件项目中最常见的审查实践之一。检查的目标是让所有检查者就工作产品达成共识,并批准其在项目中的使用。通常检查的工作产品包括软件需求规格说明和测试计划。在检查中,选择一个工作产品进行审查,并召集一个团队进行检查会议以审查该工作产品。选择一名主持人来主持会议。每个检查者在会议前都要阅读工作产品,并记录每个缺陷。检查的目的是识别缺陷。在检查中,缺陷是指工作产品的任何部分,会阻止检查者批准它。例如,如果团队正在检查软件需求规格说明,每个缺陷将是文档中检查者不同意的文本。
检查流程是由Michael Fagan在20世纪70年代中期开发的,后来被扩展和修改。
该流程应具有确定是否可以开始检查流程的准入标准。这可以防止未完成的工作产品进入检查流程。准入标准可能是一个清单,其中包括“文档已拼写检查”等项目。
检查流程中的阶段包括:计划、概述会议、准备、检查会议、返工和跟踪。准备、检查会议和返工阶段可能会被迭代。
- 计划: 检查由主持人计划。
- 概述会议: 作者描述工作产品的背景。
- 准备: 每个检查者检查工作产品以识别可能的缺陷。
- 检查会议: 在此会议期间,阅读者逐部分阅读工作产品,检查者指出每个部分的缺陷。
- 返工: 作者根据检查会议的行动计划修改工作产品。
- 跟踪: 检查作者的更改以确保一切正确。
主持人会在检查满足某些预定义的退出标准时结束检查流程。
在检查期间,使用以下角色。
- 作者: 创建正在检查的工作产品的人员。
- 主持人: 这是检查的领导者。主持人计划并协调检查。
- 阅读者: 逐项阅读文档的人员。其他检查者会指出缺陷。
- 记录者/抄写员: 记录检查期间发现的缺陷的人员。
- 检查者: 检查工作产品以识别可能的缺陷的人员。
代码审查可以作为一种特殊的检查来完成,其中团队检查代码样本并修复其中的任何缺陷。在代码审查中,缺陷是指没有正确实现其要求的代码块,没有按照程序员预期的方式运行,或者不是错误的,但可以改进(例如,可以使其更易读或可以改进其性能)。除了帮助团队查找和修复错误外,代码审查还有助于跨培训程序员审查的代码以及帮助初级开发人员学习新的编程技术。
同行评审被认为是软件工程的最佳实践,可以尽早发现软件缺陷并了解软件工件。同行评审包括软件演练和软件检查,是软件产品工程活动不可或缺的一部分。协调的知识、技能和行为的集合促成了同行评审的最佳实践。同行评审的要素包括结构化的评审流程、卓越的产品清单标准、参与者的定义角色以及表格和报告。
软件检查是同行评审中最严格的形式,在检测缺陷时充分利用了这些要素。软件演练选择性地利用这些要素来帮助生产者获得对工件的最深入理解,并在参与者之间达成共识。衡量结果表明,同行评审产生了通过加速学习和早期缺陷检测获得的具有吸引力的投资回报。为了获得最佳结果,同行评审是在整个组织中通过定义的计划实施的,该计划包括制定政策和程序、培训从业人员和管理人员、定义度量并填充数据库结构以及维持实施基础设施。
- 审查和检查实践
- 文章软件检查由Ron Radice撰写
- 不同检查和审查技术的比较