贵州软件评审浅谈软件开发中的技术评审
技术评审是提生软件质量的关键工具,技术评审者们都敢于面对不受欢迎的事实。技术评审的主要特点是由一组评审者按照规范的步骤对软件需求、设计、代码或其他技术文档进行仔细地检查,以找出和剔除其中的缺陷。
一、为什么技术评审
1、评审提生项目进度表性能
即使测试剔除了全部错误,技术评审也有助于提生进度表的性能,因为它在测试之前剔除了许多错误。早期剔除错误,意味着一开始就可以不用在不符合规范的设计、编写和测试代码上花费项目时间。如图1所示,对设计和代码施行了评审的项目开始看上去有点慢,但它们实际上完成的更快,因为大量的缩短了测试时间。
评审在项目早期占用了更多时间,但缩短了单元测试和集成测试时间,所以结尾的效果是开始得较慢,但是更快的完成。
2、评审剔除无用工作
需求评审对产品需求达成统一的理解,为后续“如何做”打好坚实基础具有重要作用。在编码前的设计评审,找出设计错误,从而降低大量重新编码的可能性。代码评审意义更为重大,据统计,正式的代码评审发现缺陷率 60~65%,非正式不到50%,但也能发现很多问题。
如果这些错误都在后期的测试过程中发现,解决难度及耗费时间将大大提升。因此,贵州软件评审建议,各阶段的技术评审可尽早剔除无用工作,降低开发成本。
3、评审是测试
评审不是替代测试,但它可以认为是测试的一种简单形式。评审可以看成是主动测试,与测试阶段执行的测试有如下区别:
1)评审无需等到一些代码成为可执行的形式后才能进行,它可以使用的更早,只要任务中产生一个或几个可见的成果即可。
2)评审只需很少的投入就能进行,不管是在时间上还是资源上。任何时候,两个程序员只要能在一起,他们就能进行评审。在正在推进的项目中,评审的益处立刻可见。
4、评审是培训
评审在进行测试时,还能进行培训。评审参与者学到很多东西,对他们成为软件工程专家进行开发、掌握软件产品业务领域很重要。开始并且最明显的,他们学习技术问题,学习各种语言、工具和技术。同时,对软件产品所在的业务领域具有较深层次的了解。一个人知道的任何相关问题,在评审时很快就被全部评审参与者所了解。所以贵州软件评审认为,比起在正式课堂学习,从评审中学习要具有更多优点。
二、技术评审的方式和工具
1、评审方式
实践中,技术评审有多种不同的方式,本文介绍在实践中常见的评审方式。它们在不同的程度和灵活度上遵循评审过程,有的十分严格,有的十分灵活。
审查是很严格的评审方式,严格遵守整个评审过程。通常情况下,审查还会收集评审过程中的数据,并改进自身的评审过程。
小组评审是“轻型审查”。和严格的审查相比,它的总体会议和跟踪审查步骤被简化或者省略了,一些评审者的角色也可能会被合并。
走查是由产品的作者将产品逐一的向同事介绍,并希望他们给出意见。评审小组很少参与评审问题的跟踪和修正,也很少需要进行耗时的事先准备工作。
轮查是同时请作者的多个同事分别进行产品的检查。各个检查人员可能在各自的检查中互相沟通,但是最终参与会议讨论的可能只是一部分甚至少数检查人员。
临时评审是最不正式的评审,它只是作者临时提议(如工作中碰到了问题)发起的评审活动。

(本文内容来源于网络,如有侵权请联系删除)