测试评审方法---评审方法_软件测试技术评审的形式-程序员宅基地

技术标签: 后端  计算机组成原理  

 评审方法

    根据 IEEE 1028 的定义,评审是对软件元素或者项目状态的一种评估手段,以确定其是否与计划的结果保持一致,并使其得到改进。

    狭义的“软件评审”通常指软件文档和源程序的评审。广义的“软件评审”还包括与软件测试相结合的评审及管理评审。软件评审包括软件需求评审、概要设计评审、详细设计评审、软件验证和确认评审、功能检查、物理检查、综合检查和管理评审。

    (1)软件需求评审。在软件需求分析结束后必须进行软件需求评审( software requirements review),以确保在软件需求说明书中所规定的各项需求的合适性。

    (2)概要设计评审。在软件概要设计结束后必须进行概要设计评审(preliminary design review),以评价软件设计说明书中所描述的软件概要设计在总体结构、外部接口、主要部件功能分配、全局数据结构以各主要部件之间的接口等方面的合适性。

    (3)详细设计评审。在软件详细设计结束后必须进行详细设计评审(detailed design review),以评价软件设计说明书中所描述的软件详细设计在每一个基本部件的功能、算法和过程描述等方面的合适性。

    (4)软件验证和确认评审。在软件验证与确认计划完成后必须进行软件验证与确认评审(software verification and validation review),以评价软件验证与确认计划中所规定的验证与确认方法的合适性与完整性。

    (5)功能检查。在软件释放前,要对软件进行功能检查(functional audit),以验证所开发的软件已经满足在软件需求说明书中规定的所有需求。

    (6)物理检查。在软件验收前,要对软件进行物理检查(physical audit),以验证程序和文档已经一致并已做好了交付的准备。

    (7)综合检查。在软件验收时,要允许用户或用户所委托的专家对所要验收的软件进行设计抽样的综合检查(comprehensive audit),以验证代码和设计文档的一致性、接口规格说明的一致性(硬件和软件)、设计实现和功能需求的一致性、功能需求和测试描述的一致性。

    (8)管理评审。要对计划的执行情况定期(或按阶段)进行管理评审(management reviews),这些评审必须由独立于被评审单位的机构或授权的第三方主持进行。

    在评审过程中,以下几点值得注意:

    (1)不应以测试代替评审。许多缺陷是在早期阶段引入的,缺陷发现得越晚,纠正费用越高。而且每个进入下一步骤的缺陷都可能引起下一步骤中的多个缺陷,导致消除成本的剧增。早期阶段可以进行评审,但是无法进行测试,评审的目的就是减少泄漏到测试阶段的缺陷。评审可能会花很多时间,但在测试中节省了时间。而且,测试也不能发现某些特定类型的缺陷(例如违犯编程规范)。

    (2)评审人员应关注产品而不应评论开发人员。评审的主要目的是发现产品中的问题,而不是根据产品来评价开发人员的水平。但是往往会出现把产品质量和开发人员水平联系起来的事情,于是评审变了味,变成了“批斗大会”,极大地打击了开发人员的自尊心,以至于严重地影响了评审的效果。

    (3)评审人员应关注于实质性问题。评审中经常会出现这样的现象,评审人员过多地关注于一些非实质性的问题,例如,文档的格式、措词,而不是产品的设计。出现这种情况,可能的原因有:没有选择合适的人参加评审,评审人员对评审对象没有足够的了解,无法发现深层次的问题。

    (4)评审会议不应变为问题解决方案讨论会。评审会议主要的目的是发现问题,而不是解决问题,问题的解决是评审会议之后需要做的事情。但是,由于开发人员对技术的追求,评审会议往往变成了问题研讨会,大量地占用了评审会议的时间,导致大量评审内容被忽略,留下无数的隐患。

    (5)评审应被安排进入项目计划。参与评审需要投入大量的时间和精力,应该被安排进入项目计划中。但在现实中,评审往往变成了临时安排的工作。如此一来,出现评审人员对评审对象不了解的情况也就不足为奇了。

    (6)评审参与者应了解整个评审过程。如果评审参与者不了解整个的评审过程,就会有一种自然的抗拒情绪,因为大家看不到做这件事情的效果,感觉很迷茫,这样会严重地影响大家参与评审的积极性。

    (7)评审人员事先应对评审材料充分了解。任何一份评审材料都是他人智慧和心血的结晶,需要花足够的时间去了解、熟悉和思考。只有这样,才能在评审会议上发现有价值的深层次问题。在很多的评审中,评审人员因为各种的原因,在评审会议之前对评审材料没有足够的了解,于是出现了评审会议变成了技术报告的怪现象。

    (8)应重视评审的组织工作。在组织评审的过程中,很多人不太注意细节。例如,会议时间的设定,会议的通知,会议场所的选择,会场环境的布置,会议设施的提供,会议上气氛的调节和控制等,而实际上这样的细节会大大影响评审会议的效果。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/hu19930613/article/details/82778246

智能推荐

while循环&CPU占用率高问题深入分析与解决方案_main函数使用while(1)循环cpu占用99-程序员宅基地

文章浏览阅读3.8k次,点赞9次,收藏28次。直接上一个工作中碰到的问题,另外一个系统开启多线程调用我这边的接口,然后我这边会开启多线程批量查询第三方接口并且返回给调用方。使用的是两三年前别人遗留下来的方法,放到线上后发现确实是可以正常取到结果,但是一旦调用,CPU占用就直接100%(部署环境是win server服务器)。因此查看了下相关的老代码并使用JProfiler查看发现是在某个while循环的时候有问题。具体项目代码就不贴了,类似于下面这段代码。​​​​​​while(flag) {//your code;}这里的flag._main函数使用while(1)循环cpu占用99

【无标题】jetbrains idea shift f6不生效_idea shift +f6快捷键不生效-程序员宅基地

文章浏览阅读347次。idea shift f6 快捷键无效_idea shift +f6快捷键不生效

node.js学习笔记之Node中的核心模块_node模块中有很多核心模块,以下不属于核心模块,使用时需下载的是-程序员宅基地

文章浏览阅读135次。Ecmacript 中没有DOM 和 BOM核心模块Node为JavaScript提供了很多服务器级别,这些API绝大多数都被包装到了一个具名和核心模块中了,例如文件操作的 fs 核心模块 ,http服务构建的http 模块 path 路径操作模块 os 操作系统信息模块// 用来获取机器信息的var os = require('os')// 用来操作路径的var path = require('path')// 获取当前机器的 CPU 信息console.log(os.cpus._node模块中有很多核心模块,以下不属于核心模块,使用时需下载的是

数学建模【SPSS 下载-安装、方差分析与回归分析的SPSS实现(软件概述、方差分析、回归分析)】_化工数学模型数据回归软件-程序员宅基地

文章浏览阅读10w+次,点赞435次,收藏3.4k次。SPSS 22 下载安装过程7.6 方差分析与回归分析的SPSS实现7.6.1 SPSS软件概述1 SPSS版本与安装2 SPSS界面3 SPSS特点4 SPSS数据7.6.2 SPSS与方差分析1 单因素方差分析2 双因素方差分析7.6.3 SPSS与回归分析SPSS回归分析过程牙膏价格问题的回归分析_化工数学模型数据回归软件

利用hutool实现邮件发送功能_hutool发送邮件-程序员宅基地

文章浏览阅读7.5k次。如何利用hutool工具包实现邮件发送功能呢?1、首先引入hutool依赖<dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>5.7.19</version></dependency>2、编写邮件发送工具类package com.pc.c..._hutool发送邮件

docker安装elasticsearch,elasticsearch-head,kibana,ik分词器_docker安装kibana连接elasticsearch并且elasticsearch有密码-程序员宅基地

文章浏览阅读867次,点赞2次,收藏2次。docker安装elasticsearch,elasticsearch-head,kibana,ik分词器安装方式基本有两种,一种是pull的方式,一种是Dockerfile的方式,由于pull的方式pull下来后还需配置许多东西且不便于复用,个人比较喜欢使用Dockerfile的方式所有docker支持的镜像基本都在https://hub.docker.com/docker的官网上能找到合..._docker安装kibana连接elasticsearch并且elasticsearch有密码

随便推点

Python 攻克移动开发失败!_beeware-程序员宅基地

文章浏览阅读1.3w次,点赞57次,收藏92次。整理 | 郑丽媛出品 | CSDN(ID:CSDNnews)近年来,随着机器学习的兴起,有一门编程语言逐渐变得火热——Python。得益于其针对机器学习提供了大量开源框架和第三方模块,内置..._beeware

Swift4.0_Timer 的基本使用_swift timer 暂停-程序员宅基地

文章浏览阅读7.9k次。//// ViewController.swift// Day_10_Timer//// Created by dongqiangfei on 2018/10/15.// Copyright 2018年 飞飞. All rights reserved.//import UIKitclass ViewController: UIViewController { ..._swift timer 暂停

元素三大等待-程序员宅基地

文章浏览阅读986次,点赞2次,收藏2次。1.硬性等待让当前线程暂停执行,应用场景:代码执行速度太快了,但是UI元素没有立马加载出来,造成两者不同步,这时候就可以让代码等待一下,再去执行找元素的动作线程休眠,强制等待 Thread.sleep(long mills)package com.example.demo;import org.junit.jupiter.api.Test;import org.openqa.selenium.By;import org.openqa.selenium.firefox.Firefox.._元素三大等待

Java软件工程师职位分析_java岗位分析-程序员宅基地

文章浏览阅读3k次,点赞4次,收藏14次。Java软件工程师职位分析_java岗位分析

Java:Unreachable code的解决方法_java unreachable code-程序员宅基地

文章浏览阅读2k次。Java:Unreachable code的解决方法_java unreachable code

标签data-*自定义属性值和根据data属性值查找对应标签_如何根据data-*属性获取对应的标签对象-程序员宅基地

文章浏览阅读1w次。1、html中设置标签data-*的值 标题 11111 222222、点击获取当前标签的data-url的值$('dd').on('click', function() { var urlVal = $(this).data('ur_如何根据data-*属性获取对应的标签对象

推荐文章

热门文章

相关标签