如何高效进行测试用例评审

1.用例评审的目的

  1. 为了减少测试人员执行阶段做无效工作,执行无效case,提交无效缺陷(可以友情提醒研发同学,讲到自己负责的相关模块时,注意下是否存在异议点)
  2. 为了避免三方(产品、研发、测试)需求理解不一致;
  3. 为了每个测试人员的质量标准与项目要求标准达成一致。

2.评审前的准备工作

2.1用例编写

  1. 需求评审结束后,可以把需求拆分为功能点 。

测试点梳理时,要关注横向逻辑,即功能点本身,更要关注纵向逻辑,即业务流。

  • 工具:建议用XMind
  • 优点:用画思维导图的方式,逻辑清楚,便于评审人员(产品和开发人员)快速查看,评审效率高。

具体用什么工具方法,大家可依个人喜好和项目需要而定,不过目标都是让用例评审高效快捷的开展,并产生价值。

2.把功能点分解为具体的测试用例 。

  • 需在思维导图上补全明确的操作步骤、预期结果;执行阶段可以追加实际测试结果,便于测试结果跟进。
  • 用XMind写思维导图的方式设计用例更便捷,思维导图层级可以按照用例模板进行定义,方便用例评审结束后导出excel备份。

3.用例自检

  • 整体把控用例组成,让评审讲解更清晰、有序
  • 针对有疑问的点罗列出来,可事先跟产品、开发讨论,确定结果后完善用例
  • 讨论后仍有疑问的可先做标记,评审会上抛出一起讨论。
  • 标注重点:【未在需求文档中明确描述&在设计测试用例过程中已同产品确认】,需要在用例评审中着重提醒开发,保持信息同步。
    • 需求疑问:在经过产品确认后,输出具体测试用例,记得同步给研发
    • 设计交互:未提供交互,需求文档未描述的功能的实际交互细节,提出讨论

4.提前发出用例

  • 和评审人员(开发和产品)确定好具体的评审时间并提前把测试用例发给参会人员查看。

2.2用例评审通知

  1. 用例评审参加人员
  • 主要是产品、开发(客户端和后端)、测试、项目负责人、运营(如性能测试的评审)。

2.约定用例评审时间、评审方式

  • 评审时间:根据实际情况提前约定
  • 评审方式:会议(具体的会议室或线上会议)、邮件等

3.评审时长

  • 对于敏捷开发项目,建议控制在半小时以内。
  • 如果项目需求复杂,功能点太多,建议:
    • 对功能点划分优先级,优先评审优先级高的用例
    • 再针对疑问多的用例评审
    • 最后对于功能简单的用例可简单带过。

3.正式评审

3.1评审形式

3.1.1逐条评审

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

传统评审方式的特点:

  • 费时,不分主次,参会人员的热情与注意力逐渐降低
  • 整个用例评审效率低,往往讲的口干舌燥,达到的效果却是事倍功半。

相信有过这种评审经历的同学,一定不喜欢这种方式,因为它流于形式,整个评审过程随着时间的推移,大家互动热情逐渐降低,往往效果不及预期。

现状是业务流程较为繁长的测试用例条数较多,少则上百,多则上千,逐一讲解,不论是对开发或产品,甚至测试本身,都会出现前后文衔接不上。本着最重要的事最先做的原则,我们对用例评审形式作出如下改进:

3.1.2逻辑概述+核心评审

“全局流程+局部细节”的方式评审测试用例,先对核心流程、功能复杂,优先级高,疑问多的用例进行评审,再评审功能简单,优先级低的功能点。

  • 全局流程-逻辑概述
    • 借助“Xmind”思维导图,进行简要的逻辑概述,阐述用例描述的基础流程。该阶段描述后,经产品和开发确认无疑问,则进行用例评审时,可略过该部分的基础测试用例。

比如,某某系统要实现什么功能,具体包含模块1、模块2、模块...,涉及的业务流程和数据交互有1...2...3...,是用例的评审重点,等下我们优先评审。同时我在用例设计时主要包括了哪些场景,具体有页面展示的校验、功能按钮实现的校验、页面元素必填项校验、字符类型校验、字符长度校验、异常场景校验等。(具体的页面元素、字符类型、字符长度、异常场景可以粗略带过)

  • 局部细节-突出核心细节用例
    • 除了基础业务流程外的,一些特殊场景细节的测试用例,可能影响业务流程或对公司造成损失,使用加粗/颜色标注,在用例评审时着重提醒开发。

         比如某系统的内容引用功能,被引用内容下线,对内容会产生不良的影响,这种容错性的处理逻辑的校验;

改进后的评审方式特点:

  • 测试人员要全局了解项目目标、业务流程(想得明白才能讲得明白,可以促进测试同学多多思考)
  • 评审刚开始时,大家注意力集中,参与激情高,讨论有难度、有疑问的问题,效率高。
  • 整个评审会主次分明,有高潮有缓点,可以更高效的达到我们评审的目的。

3.2评审原则

  • 评审要按用例的优先级,核心业务流优先、再按功能的复杂程度进行;
  • 评审过程中尽量做到,思路清晰,用最简洁的语言阐述每一个功能点;
  • 超过5分钟无法确定结果的问题留作会后讨论跟进。

(正式评审过程中需要注意几个细节,如果你都做到了,相信整个评审会是非常成功的,有成就感的。)

4.评审结束后需要做些什么事?

  • 总结用例评审会议纪要,包含需要作出的修改点、未确认的项和对应责任人、是否有需求变更或延期情况等
    • 用例评审会议纪要需同步给项目组其他成员,做好信息共享。
  • 整理补充测试用例,把修正的内容重新整理补全。
    • 编写用例修改记录(如修正了哪些功能点,补全了哪些?等),修改后的用例重新发出供大家评审
  • 会上未确定的内容,会后继续跟进,直到确定结果。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/98517.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

使用C语言计算1/1-1/2+1/3-1/4+...+1/99-1/100

观察算式,发现分子都是1,分母从1~100,所以可以使用for循环产生1~100之间的数。 另一个问题是,如何产生正负交替的符号?很简单,这个符号本质上就是往每一项前面乘一个系数:一或者负一。所以只需…

【数据结构练习】单链表OJ题(二)

目录 一、相交链表二、环形链表1三、环形链表2四、链表分割五、复制带随机指针的链表 一、相交链表 题目: 示例: 注意:不能根据节点的值来比较是否相交,而是根据节点在内存中是否指向相同的位置。 例如以上图: 链表…

无涯教程-Android - RadioButton函数

RadioButton有两种状态:选中或未选中,这允许用户从一组中选择一个选项。 Radio Button 示例 本示例将带您完成一些简单的步骤,以展示如何使用Linear Layout和RadioButton创建自己的Android应用程序。 以下是修改后的主要Activity文件 src/MainActivity.java 的内容。 packa…

数学建模:数据的预处理

🔆 文章首发于我的个人博客:欢迎大佬们来逛逛 文章目录 数据预处理数据变换数据清洗缺失值处理异常值处理 数据预处理 数据变换 常见的数据变换的方式:通过某些简单的函数进行数据变换。 x ′ x 2 x ′ x x ′ log ⁡ ( x ) ∇ f ( x k )…

MATLAB中mod函数转化为C语言

背景 有项目算法使用matlab中mod函数进行运算,这里需要将转化为C语言,从而模拟算法运行,将算法移植到qt。 MATLAB中mod简单介绍 语法 b mod(a,m) 说明 b mod(a,m) 返回 a 除以 m 后的余数,其中 a 是被除数,m 是…

储能辅助电力系统调峰的容量需求研究(matlab代码)

目录 1 主要内容 2 部分代码 3 程序结果 4 下载链接 1 主要内容 该程序参考文献《储能辅助电力系统调峰的容量需求研究》,是一个很常规很经典的matlab优化代码,主要是对火电、风电和储能等电力设备主体进行优化调度,在调峰能力达不到时采…

Java 面试 - Redis

Redis Redis 是基于键值对的非关系型数据库。Redis 拥有string、hash、list、set、zset等多种数据结构, redis具有惊人的读写性能, 其优秀的持久化机制是的它在断电和机械故障时也不会发生数据丢失, 可以用于热点数据存放, 还提供了键过期、发布订阅、食物、流水线、LUA脚本等多…

创建聊天机器人:产品专属ChatGPT智能问答机器人,可添加任意网站

ChatGPT智能问答机器人可以广泛应用于各种SaaS产品,通过创建聊天机器人可以快速反馈用户,并且针对性的提供解决方案,非常高效的完成客户问答反馈。 聊天机器人是生活中常见的一种交互方式,机器人根据用户输入的关键字,…

ChatGPT~Error1015You are being rate limited

目录 问题背景 问题的原因 下来说说解决方案 总结 问题背景 今天使用Chatgpt的时候突然出现"You are being rate limited"的错误提示。 问题的原因 小问题了,又不是第一次被弄出来了,莫慌。 让我们先看看Chatgpt自己是怎么解释这个问题…

JVM类加载器

一、类与类加载器 类加载器虽然只用于实现类的加载动作,但它在Java程序中起到的作用却远超类加载阶段。对于 任意一个类,都必须由加载它的类加载器和这个类本身一起共同确立其在Java虚拟机中的唯一性,每一个类加载器,都拥有一个独…

win | wireshark | 在win上跑lua脚本 解析数据包

前提说明:之前是在linux 系统上配置的,然后现在 在配置lua 脚本 ,然后 分析指定协议 的 数据包 其实流程也比较简单,但 逻辑需要缕清来 首先要把你 预先准备的 xxx.lua 文件放到wireshark 的安装文件中,(我…

并发编程的故事——共享模式之无锁

共享模式之无锁 文章目录 共享模式之无锁一、提出问题二、CAS和volatile三、原子整数四、原子引用五、原子数组六、原子更新器七、原子累加器八、unsafe 一、提出问题 关于对共享变量修改的多线程问题其实就是指令交错问题导致取值的时机相同,最后修改之后以最后一…

ChatGPT 制作可视化柱形图突出显示第1名与最后1名

对比分析柱形图的用法。在图表中显示最大值与最小值。 像这样的动态图表的展示只需要给ChatGPT,AIGC,OpenAI 发送一个指令就可以了, 人工智能会快速的写出HTML与JS代码来实现。 请使用HTML,JS,Echarts完成一个对比分析柱形图,在图表中突出显示第1名和最后1名用单独一种不…

数据结构--树4.2.2(二叉树--遍历)

目录 一、二叉树的建立 二、二叉树的遍历算法 一、二叉树的建立 CreateBitree(Bitree *t){char c;scanf("%c",&c);if( c){*t NULL;}else{*t(Bitnode*)malloc(sizeof(Bitnode));(*t)->data c;CreateBitree(&(*t)->lchild);CreateBitree(&(*t)-&…

C++ 手写实现类似lower_bound和upper_bound的二分功能

目录 lower_bound和upper_bound介绍手动实现类似的二分效果lower_boundupper_bound另一种常见的二分形式 对lower_bound函数使用lamda函数 lower_bound和upper_bound介绍 lower_bound函数的作用是查找范围内第一个大于等于目标元素的元素迭代器/指针 数组的简单使用&#xff…

vscode 与 C++

序 具体流程的话,官方文档里都有的:C programming with Visual Studio Code 浏览器下载一个mingw64,解压,配置环境变量vscode里安装c相关的插件没了 第一步只看文字,可能有点抽象,相关视频: …

科技云报道:AI+云计算共生共长,能否解锁下一个高增长空间?

科技云报道原创。 在过去近一年的时间里,AI大模型从最初的框架构建,逐步走到落地阶段。 然而,随着AI大模型深入到千行百业中,市场开始意识到通用大模型虽然功能强大,但似乎并不能完全满足不同企业的个性化需求。 大…

Three.js后处理后物体表面出现条纹

初始化 WebGLRenderer 时简单启用 logarithmicDepthBuffer: true 解决了问题。 根据文档,启用可能会导致性能下降,因此请根据您的性能预算考虑使用它。 缩小相机的near和far 后处理对于深度精度非常敏感。大视锥体很快就会使此类 AO 通道变得无法使用 th…

因果推断(六)基于微软框架dowhy的因果推断

因果推断(六)基于微软框架dowhy的因果推断 DoWhy 基于因果推断的两大框架构建:「图模型」与「潜在结果模型」。具体来说,其使用基于图的准则与 do-积分来对假设进行建模并识别出非参数化的因果效应;而在估计阶段则主要…

合宙Air724UG LuatOS-Air LVGL API控件--容器 (Container)

容器 (Container) 容器是 lvgl 相当重要的一个控件了,可以设置布局,容器的大小也会自动进行调整,利用容器可以创建出自适应成都很高的界面布局。 代码示例 – 创建容器 cont lvgl.cont_create(lvgl.scr_act(), nil) lvgl.obj_set_auto_re…