当前位置: 首页 > news >正文

测试用例评审流程

1:评审的过程

      A:开始前做好如下准备

                    1、确定需要评审的原因

                    2、确定进行评审的时机

                    3、确定参与评审人员

                    4、明确评审的内容

                    5、确定评审结束标准

                   6、提前至少一天将需要评审的内容以邮件的形式发送给评审会议相关人员。并注明详审时间、地点及偿参与人员等。

                    7、 在邮件中提醒评审会议相关人员至少简读一遍评审内容,并记录相关的疑问,以便在评审会议上提出。

                    8、 会议主持者(一般为用例编写人员)应在会议前整理相关疑问,以便在会议上提出。

       B:开始评审

                    1、 召开评审会议。与会者在设计人员讲解之后给出意见和建议,同时进行详细的评审记录。

                    2、 通用邮件与相关人员沟通

                    3、 通用IM工具直接与相关人员交流

                    4、根据评审内容进行评审

2:评审内容

     1、 用例设计的结构安排是否清晰、合理,是否利于高效对需求进行覆盖。

      2、 优先极安排是否合理。

      3、 是否覆盖测试需求上的所有功能点。

      4、 用例是否具有很好可执行性。例如用例的前提条件、执行步骤、输入数据和期待结果是否清晰、正确;期待结果是否有明显的验证方法。

      5、 是否已经删除了冗余的用例。

      6、 是否包含充分的负面测试用例。充分的定义,如果在这里使用2&8法则,那就是4倍于正面用例的数量,毕竟一个健壮的软件,其中80%的代码都是在“保护”20%的功能实现。

      7、 是否从用户层面来设计用户使用场景和使用流程的测试用例。

       8、 是否简洁,复用性强。例如,可将重复度高的步骤或过程抽取出来定义为一些可复用标准步骤。

3:参与评审人员(这里会分为多个级别进行评审)

       1、 部门评审,测试部门全体成员参与的评审。

       2、公司评审,这里包括了项目经理、需求分析人员、架构设计人员、开发人员和测试人员。

       3、 客户评审,包括了客户方的开发人员和测试人员。这种情况在外包公司比较常见

1、用例评审目的
  测试用例评审流程规范主要为开展测试用例评审工作提供指引,规范测试用例评审管理工作。


2、测试用例评审流程内容
  2.1 前提:测试人员编写完一个完整的功能模块的测试用例或已完成所有测试用例的编写;
  2.2 流程输入:A.测试用例;         B.需求规格说明;
  2.3 流程输出:A.问题记录清单;     B.测试用例评审报告;
  2.4 参与评审人员:项目经理、测试负责人、测试人员、需求分析人员、架构设计人员、开发人员;

  2.5 评审方式:
  1)召开评审会议。与会者在测试用例编写人员讲解之后给出意见或建议,同时记录下评审会议记录;
  2)通过邮件、及时通讯工具与相关人员沟通。
  无论采用哪种方式,都应该在评审之前事先把需要评审的测试用例相关文档以邮件的形式发给参与评审的相关人员,同时在邮件中提醒参与评审的相关人员在评审前查阅一遍评审内容,并记录相关问题,以便在评审会议上提出,以节省沟通成本。

  2.6 评审用例检查清单:
  1)测试用例是否按照公司定义的模板进行编写的;

  2)测试用例的本身的描述是否清晰,是否存在二义性;

  3)测试用例内容是否正确,是否与需求目标相一致;

  4)测试用例的期望结果是否确定、唯一的;

  5)操作步骤应与描述是否相一致;

  6)测试用例是否覆盖了所有的需求;

  7)测试设计是否存在冗余性;

  8)测试用例是否具有可执行性;

  9)是否从用户层面来设计用户使用场景和业务流程的测试用例;

  10)场景测试用例是否覆盖最复杂的业务流程;

  11)用例设计是否包含了正面、反面的用例;

  12)对于由系统自动生成的输出项是否注明了生成规则;

  13)测试用例应包含对中间和后台数据的检查;

  14)测试用例应有正确的名称和编号;

  15)测试用例应标注有执行的优先级;

  16)测试用例包含相关的配置信息:测试环境、数据、前置测试用例、用户授权等;

  17)每个测试用例步骤应<=15 Step;

  18)自动化测试脚本必须带有注释(注释应包括:目的、输入、期望结果等);

  19)非功能测试需求或不可测试需求是否在用例中列出并说明?

  2.7 退出标准:
  1)评审过程中收集相关人员的反馈信息(即问题记录清单),并在此基础上进行测试用例更新,直到评审通过;

  2)评审结束后,测试负责人出测试用例评审报告给到相关人员;

  3)评审结果经项目经理同意确认。

  2.8 控制机制:
  采用评审会议时,主持人应尽量把握会议进度,尽量按时有效的完成评审工作;
  附件1:问题记录清单    附件2:测试用例评审报告

测试用例评审的意义何在:测试用例要符合产品需求,但是产品功能是开发写的,开发实现的逻辑需要评审沟通,以免有不清楚的逻辑点;可以提高测试用例的正确性、提高测试效率;提高测试用例的覆盖度,更好的发现BUG。

三、用例评审时间

对于敏捷开发项目,建议控制在半小时以内。

如果你认为需求复杂,功能点太多,半小时讲不完,那么建议你对功能点划分优先级,优先评审优先级高的用例,再针对疑问多的用例评审,最后对于功能简单的用例可简单带过。时刻记住我们用例的评审目标,不能流于形式。

四、用例评审的形式

1、对照测试用例,从上而下,从左到右,逐条念。

这是目前很多公司的做法,如果你也这么做过,相信你并不一定喜欢这种方式,因为它费时,不分主次,参会人员的热情与注意力逐渐降低,整个用例评审效率低,作为主持人也讲的口干舌燥,事倍功半。

2、先对功能复杂,优先级高,疑问多的用例进行评审,再评审功能简单,优先级低的功能点。

对于评审过程中,一时半会没有结论的问题,可以记录下来,作为会后讨论跟进的重点。

这种做法,有很多优点,评审刚开始的一段时间,大家注意力集中,参与激情高,这段时间讨论有难度有疑问的问题,效率高。最重要的事最先做。

另外,整个评审会主次分明,有高潮有缓点,可以更高效的达到我们评审的目的。

五、正式评审

正式评审过程中需要注意几个细节,如果你都做到了,那么可以说整个评审是成功的,有价值的。

1、评审要按用例的优先级,功能的复杂程度进行;

2、评审过程中尽量做到,思路清晰,用最简洁的语言阐述每一个功能点;

3、超过5分钟无法确定结果的问题留作会后讨论跟进。

六、评审结束后需要做些什么事?

不是说评审会结束了,就完事了,其实对于整个用例评审,这才做了一半。    

评审结束后,第一时间整理测试用例,把修正的内容重新整理补全。

会上未确定的内容,会后继续跟进,直到确定结果。

没有任何有疑问的地方了,再做个简单的用例评审会议总结(如修正了哪些功能点,补全了哪些?哪些模块功能有变动?哪些功能推迟到下一期做?等),

这个总结是给自己整个用例评审工作总结,同时需同步给项目组其他成员,做好信息共享,这点很重要。

相关文章:

测试用例评审流程

1:评审的过程 A:开始前做好如下准备 1、确定需要评审的原因 2、确定进行评审的时机 3、确定参与评审人员 4、明确评审的内容 5、确定评审结束标准 6、提前至少一天将需要评审的内容以邮件的形式发送给评审会议相关人员。并注明详审时间、地点及偿参与人员等。 7、 在邮件中提醒…...

鸿蒙开发案列一

1、开发需求 案例app一打开是“Hello world” 界面&#xff0c;开发者点击“Hello world”变成“Hello ArkUI”’ 2、源代码 Entry Component struct Hello {State person_name: string Worldbuild() {Row() {Column() {Text(Hello this.person_name).fontSize(50).fontWei…...

Vue实现图片预览,侧边栏懒加载,不用任何插件,简单好用

实现样式 需求 实现PDF上传预览&#xff0c;并且不能下载 第一次实现&#xff1a;用vue-pdf&#xff0c;将上传的文件用base64传给前端展示 问题&#xff1a; 水印第一次加载有后面又没有了。当上传大的pdf文件后&#xff0c;前端获取和渲染又长又慢&#xff0c;甚至不能用 修…...

Spring依赖注入之setter注入与构造器注入以及applicationContext.xml配置文件特殊值处理

依赖注入之setter注入 在管理bean对象的组件的时候同时给他赋值&#xff0c;就是setter注入&#xff0c;通过setter注入&#xff0c;可以将某些依赖项标记为可选的&#xff0c;因为它们不是在构造对象时立即需要的。这种方式可以减少构造函数的参数数量&#xff0c;使得类的构…...

碳排放预测 | Matlab实现LSTM多输入单输出未来碳排放预测,预测新数据

碳排放预测 | Matlab实现LSTM多输入单输出未来碳排放预测&#xff0c;预测新数据 目录 碳排放预测 | Matlab实现LSTM多输入单输出未来碳排放预测&#xff0c;预测新数据预测效果基本描述程序设计参考资料 预测效果 基本描述 1.Matlab实现LSTM长短期记忆神经网络多输入单输出未来…...

手拉手JavaFX UI控件与springboot3+FX桌面开发

目录 javaFx文本 javaFX颜色 字体 Label标签 Button按钮 //按钮单击事件 鼠标、键盘事件 //(鼠标)双击事件 //键盘事件 单选按钮RadioButton 快捷键、键盘事件 CheckBox复选框 ChoiceBox选择框 Text文本 TextField(输入框)、TextArea文本域 //过滤 (传入一个参数&a…...

02 分解质因子

一、数n的质因子分解 题目描述&#xff1a; 输入一个数n&#xff08;n<10^6&#xff09;,将数n分解质因数&#xff0c;并按照质因数从小到大的顺序输出每个质因数的底数和指数。 输入 5 输出 5 1 输入 10 输出 2 1 5 1 朴素解法&#xff1a; 首先求出1~n的所有质数…...

科技赋能智慧水利——山海鲸软件水利方案解析

作为山海鲸可视化软件的开发者&#xff0c;我们深感荣幸能为我国智慧水利建设提供强大助力。作为钻研数字孪生领域的开创者&#xff0c;我们希望不仅能为大家带来免费好用&#xff0c;人人都能用起来的数字孪生产品&#xff0c;还希望以其独特的技术优势和创新设计理念&#xf…...

C4.5决策树的基本建模流程

C4.5决策树的基本建模流程 作为ID3算法的升级版&#xff0c;C4.5在三个方面对ID3进行了优化&#xff1a; &#xff08;1&#xff09;它引入了信息值&#xff08;information value&#xff09;的概念来修正信息熵的计算结果&#xff0c;以抑制ID3更偏向于选择具有更多分类水平…...

本科毕业设计过程中应该锻炼的能力 (深度学习方向)

摘要: 本文以本科毕业设计做深度学习方向, 特别是全波形反演为例, 描述学生应在此过程中锻炼的能力. 搭建环境的能力. 包括 Python, PyTorch 等环境的安装.采集数据的能力. 包括 OpenFWI 等数据集.查阅资料的能力. 包括自己主要参考的文献, 以及其它相关文献 (不少于 20 篇). …...

深度学习——pycharm远程连接

目录 远程环境配置本地环境配置&#xff08;注意看假设&#xff01;&#xff01;!这是很多博客里没写的&#xff09;步骤1步骤2步骤2.1 配置Connection步骤2.2 配置Mappings 步骤3 配置本地项目的远程解释器技巧1 pycharm中远程终端连接技巧2 远程目录技巧3 上传代码文件技巧4 …...

信号量机制解决经典同步互斥问题

生产者 / 消费者问题、读者 / 写者问题和哲学家问题是操作系统的三大经典同步互斥问题。本文将介绍这三个问题的基本特点以及如何用信号量机制进行解决。 在分析这三个问题之前&#xff0c;我们首先需要了解用信号量机制解决同步互斥问题的一般规律&#xff1a; 实现同步与互斥…...

java基础09-==和equals()的区别,附代码举例

和equals()的区别 在Java中&#xff0c;和equals()是两个不同的运算符&#xff0c;它们在比较对象时有着本质的区别。 运算符: 用于比较两个基本数据类型&#xff08;如int、char等&#xff09;或两个对象的引用。 当用于比较基本数据类型时&#xff0c;它会比较它们的值。 当…...

qml与C++的交互

qml端使用C对象类型、qml端调用C函数/c端调用qml端函数、qml端发信号-连接C端槽函数、C端发信号-连接qml端函数等。 代码资源下载&#xff1a; https://download.csdn.net/download/TianYanRen111/88779433 若无法下载&#xff0c;直接拷贝以下代码测试即可。 main.cpp #incl…...

LabVIEW电路板插件焊点自动检测系统

LabVIEW电路板插件焊点自动检测系统 介绍了电路板插件焊点的自动检测装置设计。项目的核心是使用LabVIEW软件&#xff0c;开发出一个能够自动检测电路板上桥接、虚焊、漏焊和多锡等焊点缺陷的系统。 系统包括成像单元、机械传动单元和软件处理单元。首先&#xff0c;利用工业相…...

第十一站:多态练习ODU

实现动态切换 ODU.h #pragma once #include <iostream> using namespace std; #define ODU_TYPE_311_FLAG "311" #define ODU_TYPE_335_FLAG "335" enum class ODU_TYPE {ODU_TYPE_311,ODU_TYPE_335,ODU_TYPE_UNKNOW };class ODU{ public:ODU();//发…...

【深度学习】详解利用Matlab和Python中 LSTM 网络实现序列分类

🔗 运行环境:Matlab、Python 🚩 撰写作者:左手の明天 🥇 精选专栏:《python》 🔥 推荐专栏:《算法研究》 🔐#### 防伪水印——左手の明天 ####🔐 💗 大家好🤗🤗🤗,我是左手の明天!好久不见💗 💗今天分享Matlab深度学习—— LSTM 网络实现序列分...

Unity 工厂方法模式(实例详解)

文章目录 在Unity中&#xff0c;工厂方法模式是一种创建对象的常用设计模式&#xff0c;它提供了一个接口用于创建对象&#xff0c;而具体的产品类是由子类决定的。这样可以将对象的创建过程与使用过程解耦&#xff0c;使得代码更加灵活和可扩展。 工厂模式的主要优点如下&…...

2024年美赛数学建模思路 - 案例:异常检测

文章目录 赛题思路一、简介 -- 关于异常检测异常检测监督学习 二、异常检测算法2. 箱线图分析3. 基于距离/密度4. 基于划分思想 建模资料 赛题思路 &#xff08;赛题出来以后第一时间在CSDN分享&#xff09; https://blog.csdn.net/dc_sinor?typeblog 一、简介 – 关于异常…...

一键完成,批量转换HTML为PDF格式的方法,提升办公效率

在当今数字化的时代&#xff0c;HTML和PDF已经成为两种最常用的文件格式。HTML用于网页内容的展示&#xff0c;而PDF则以其高度的可读性和不依赖于平台的特性&#xff0c;成为文档分享和传播的首选格式。然而&#xff0c;在办公环境中&#xff0c;我们经常需要在这两种格式之间…...

VB.net复制Ntag213卡写入UID

本示例使用的发卡器&#xff1a;https://item.taobao.com/item.htm?ftt&id615391857885 一、读取旧Ntag卡的UID和数据 Private Sub Button15_Click(sender As Object, e As EventArgs) Handles Button15.Click轻松读卡技术支持:网站:Dim i, j As IntegerDim cardidhex, …...

关键领域软件测试的突围之路:如何破解安全与效率的平衡难题

在数字化浪潮席卷全球的今天&#xff0c;软件系统已成为国家关键领域的核心战斗力。不同于普通商业软件&#xff0c;这些承载着国家安全使命的软件系统面临着前所未有的质量挑战——如何在确保绝对安全的前提下&#xff0c;实现高效测试与快速迭代&#xff1f;这一命题正考验着…...

sipsak:SIP瑞士军刀!全参数详细教程!Kali Linux教程!

简介 sipsak 是一个面向会话初始协议 (SIP) 应用程序开发人员和管理员的小型命令行工具。它可以用于对 SIP 应用程序和设备进行一些简单的测试。 sipsak 是一款 SIP 压力和诊断实用程序。它通过 sip-uri 向服务器发送 SIP 请求&#xff0c;并检查收到的响应。它以以下模式之一…...

HubSpot推出与ChatGPT的深度集成引发兴奋与担忧

上周三&#xff0c;HubSpot宣布已构建与ChatGPT的深度集成&#xff0c;这一消息在HubSpot用户和营销技术观察者中引发了极大的兴奋&#xff0c;但同时也存在一些关于数据安全的担忧。 许多网络声音声称&#xff0c;这对SaaS应用程序和人工智能而言是一场范式转变。 但向任何技…...

Spring AI Chat Memory 实战指南:Local 与 JDBC 存储集成

一个面向 Java 开发者的 Sring-Ai 示例工程项目&#xff0c;该项目是一个 Spring AI 快速入门的样例工程项目&#xff0c;旨在通过一些小的案例展示 Spring AI 框架的核心功能和使用方法。 项目采用模块化设计&#xff0c;每个模块都专注于特定的功能领域&#xff0c;便于学习和…...

Visual Studio Code 扩展

Visual Studio Code 扩展 change-case 大小写转换EmmyLua for VSCode 调试插件Bookmarks 书签 change-case 大小写转换 https://marketplace.visualstudio.com/items?itemNamewmaurer.change-case 选中单词后&#xff0c;命令 changeCase.commands 可预览转换效果 EmmyLua…...

大数据驱动企业决策智能化的路径与实践

&#x1f4dd;个人主页&#x1f339;&#xff1a;慌ZHANG-CSDN博客 &#x1f339;&#x1f339;期待您的关注 &#x1f339;&#x1f339; 一、引言&#xff1a;数据驱动的企业竞争力重构 在这个瞬息万变的商业时代&#xff0c;“快者胜”的竞争逻辑愈发明显。企业如何在复杂环…...

Redis上篇--知识点总结

Redis上篇–解析 本文大部分知识整理自网上&#xff0c;在正文结束后都会附上参考地址。如果想要深入或者详细学习可以通过文末链接跳转学习。 1. 基本介绍 Redis 是一个开源的、高性能的 内存键值数据库&#xff0c;Redis 的键值对中的 key 就是字符串对象&#xff0c;而 val…...

Python异步编程:深入理解协程的原理与实践指南

&#x1f49d;&#x1f49d;&#x1f49d;欢迎莅临我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 持续学习&#xff0c;不断…...

codeforces C. Cool Partition

目录 题目简述&#xff1a; 思路&#xff1a; 总代码&#xff1a; https://codeforces.com/contest/2117/problem/C 题目简述&#xff1a; 给定一个整数数组&#xff0c;现要求你对数组进行分割&#xff0c;但需满足条件&#xff1a;前一个子数组中的值必须在后一个子数组中…...