聊聊测试左移到需求阶段

这是鼎叔的第七十九篇原创文章。行业大牛和刚毕业的小白,都可以进来聊聊。

欢迎关注本公众号《敏捷测试转型》,星标收藏,大量原创思考文章陆续推出。本人新书《无测试组织-测试团队的敏捷转型》​​​​​​​已出版(机械工业出版社),各大电商平台热销中,30万字350页。

测试左移是多年来测试行业的热门话题,在实际的践行中容易停留在“意识流”层面,仅仅是鼓励测试人员应该“主动做什么”,然而在业务压力大的常态下,被鼓励的尝试往往无疾而终。只有基于敏捷理念的理解,对研发生命周期各个环节进行质量内建实践,才能把测试左移落实成好习惯,形成好流程,最终内化为敏捷团队的本能。

具体而言,测试左移,可以移动到需求澄清阶段,也可以移动到开发设计、编码和开发自测阶段。

而测试右看,是指当研发阶段的测试活动结束,产品进入发布上线阶段时,测试人员依然不能放松对质量数据和用户反馈的敏锐度,持续汲取下个迭代如何改进的反馈,形成滚动提升的飞轮。

测试左移和右看》这个专辑,将基于多年来的测试团队实践,分享在测试左移和右看活动中的推荐做法和有效经验,它们也是敏捷理念在测试活动中的落实,在整个软件生命周期中持续性测试。

为什么要左移到需求阶段

敏捷测试的本质是尽早测试,频繁测试,推动质量从源头内建。

而产品研发的源头,自然是需求产生及澄清阶段。精益需求的产生过程,就是测试左移最早可以发力的地方。

如果我们忽视在需求阶段的测试左移活动,仅依靠软件工程层面的效能提升,始终会存在部分本质矛盾难以解决的情况。需求质量难以提升,那么很容易给技术团队带来频繁的返工和浪费。测试左移到需求的本质,就是从一开始尽量提高需求的可测试性。

基于敏捷知识,先从精益需求的产生过程进行介绍。相关内容请参考 聊聊精益需求的产生过程

一个软件产品需求的产生流程可以简单分为这几个阶段,最终将形成价值验证的闭环。

图片

制定业务目标:确定产品的愿景,商业机会,和核心价值(包含产品定位的差异化策略等),并确定目标群体。以此为蓝图制定本年度的商业发展目标,包含量化指标。

梳理用户(或客户)需求:通过多种调查方式,如用户访谈,用户画像,用户调查问卷等,完成相关的定性定量分析,挖掘出用户真正需要满足的诉求,即定义好产品的“问题域”。在此阶段可以将梳理完成的用户需求写成BRD(商业需求文档)。

产品设计方案:在产品核心目标和定位的基础上,根据用户的本质诉求,形成完整的产品设计创意思路,最终给出可落地的产品设计方案,即梳理出产品的“解决域”。所谓可落地就是成本,时间,技术能力等限制条件都可以满足。这个阶段就可以开始输出PRD(产品需求文档)了。

拆解单个功能需求及用户故事:根据产品设计方案,对产品能力需求进行梳理和优先级排序,整理出具体的需求描述,然后进一步识别/拆解为可开发的用户故事。

需求评审会议:完成了上述的需求定义过程,产品负责人组织需求评审会议,和技术团队以及其他项目干系人澄清产品方案,分享需求背景知识,需求定义和优先级。团队估算工作量,确认交付计划(包括重要发布计划和短期迭代计划)。

测试人员如何提升需求质量

以上就是常见的需求产生及澄清过程,期间并非只由产品人员唱独角戏。在这些阶段中可以进行上一个专辑介绍的多种敏捷测试实践活动 聊聊团队如何开始敏捷转型(合辑共15篇)。我们测试同学可以从下面几个方面进行质量把关,并输出专业意见,帮助产品经理和特性团队,在进入开发环节之前提升需求质量。

1)明确需求价值。

2)完善用户画像和用户故事场景。

3)需求评审前给出验收测试点,帮助团队建立需求验收标准。

4)迭代计划会议确保需求拆解合理,测试任务纳入估算。

5)需求评审中把关质量,并明确DoR纪律。

这篇文章重点说说测试人员如何实践前两方面的活动。

明确需求价值

首先,需要向业务方或产品经理获得背景知识,为什么我们要上这个需求?

第一,不做这个需求有什么损失?用户对我们这个需求有多期待?有没有具体反馈声音可以让我们学习?这对于测试场景的思考有极大好处。

第二,这个需求对公司有什么好处?提高满意度口碑,还是能提高收入?有利于我们未来盈利么?新需求是否匹配产品的“调性”(定位),它是否有利于产品长期目标的达成?

能提高用户口碑,或者提高利润的功能,自然是我们着力要保障的高优先级需求。

知道了业务价值是什么,成功的方向是什么,就能更充分地调动项目参与工程师的积极性。

其次,如何客观度量产品特性上线后带来了预期的价值?

虽然产品负责人对产品设计的价值(或商业变现目标)负责,但是产品价值是体现在具体指标的,和用户场景息息相关。测试人员知道了商业上的度量指标定义和目标,就能更加关注要验收的核心场景。

另外,对于预期价值的思考及信息同步,也给了产品负责人以终为始的压力。产品需求绝不是越多越好,甚至有可能新功能上线越多,用户流失越快。把产品预期价值和背后的逻辑晾晒给技术团队看,既可以推动产品设计更加深思熟虑,也可以获得技术人员宝贵的早期意见输入。

再次,多挖掘本产品相关的竞品信息和行业信息。

看竞品。本产品的竞争对手为用户提供了哪些相似能力的解决方案?他们和本产品的说明书差异是什么?实现方案有啥不同(哪个感觉更靠谱)?测试人员从中可思考什么场景、什么指标可以用来做竞品对比。

看行业(本领域)。本产品所在的细分领域,有什么规范/默认潜规则,是本产品(需求)应该顾忌的?本领域是否有约定俗成的产品形态/交互风格,让用户早已养成习惯?这背后有什么博弈故事么?理解约定俗成的法律、规范、强大习惯,就可以让测试断言(是否有效缺陷,严重程度如何)更有底气,降低争论成本。

最后,当需求功能上线一段时间后,敏捷特性团队通常应该复盘上线的结果,确认具体商业价值指标是否达成预期,产品设计方案是否达到预期,还可以针对上线的具体特性功能,观察用户使用健康度(通过数据埋点)是否达到设计预期。

如果没有达到预期,产品团队要思考背后缺失了什么,以此来调整后面的设计方案和需求安排。

完善用户画像和用户故事场景

测试人员同产品经理一道,梳理用户画像并给出自己的看法,再根据目标用户的特征和视角,针对性地调整测试优先级和覆盖场景。

首先,我们可以挖掘下,目标用户是从哪些维度来划分的?

一是从人口学特征划分,包括年龄,性别,地域,人体特征(如左撇子,手型大小,视力情况等等)。

二是从使用习惯和经验划分,如新手用户和老手用户,强目的性用户(专找秒杀,或用完即走)和漫游型用户(随便看看)。从中我们总结出用户的痛点和对产品的期待。

三是从文化背景/社会背景划分,识别用户的特征,如城市白领,小镇居民,乡村农民;如高级知识分子和中学文凭的工人;如中国大陆用户和东南亚用户等。对于测试人员不熟悉的社会文化背景,比如海外市场产品,有必要认真学习当地社会和文化知识,甚至出差去该国家走访,体验典型用户所处的生活氛围。

四是从平台角度来划分,是公司外部用户还是公司内部用户(如管理员)。

理解了被划分的主要用户类型,我们可以在脑海里尝试给每种类型创造一个生动的典型人物,起一个名字,如电商产品的用户——张小婷,想象她具备上述哪一种个性特征,如果她给我们产品的各个功能进行满意度打分,会打几分?标准是什么?她会用什么关键词来表达情绪?

当然,我们也可以从客服“用户之声”详细原声访谈中,或者从产品经理做用户调研的定性分析和定量分析中,寻找生动的典型用户形象、使用习惯和评价尺度。

至于如何完整梳理产品的用户故事场景,我们可以学习和实践用户故事地图的脑爆和设计方法(待下回分解)。而用户故事的具体概念和估算&拆解实践,请参考:聊聊用户故事与测试启发,聊聊用户故事的估算和拆解

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

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

相关文章

JAVA集合学习和源码分析

一、结构 List和Set继承了Collection接口,Collection继承了Iterable Object类是所有类的根类,包括集合类,集合类中的元素通常是对象,继承了Object类中的一些基本方法,例如toString()、equals()、hashCode()。 Collect…

云计算、大数据技术的智慧工地,实现对建筑工地实时监测、管理和控制的一种新型建筑管理方式

智慧工地是利用物联网、云计算、大数据等技术,实现对建筑工地实时监测、管理和控制的一种新型建筑管理方式。 智慧工地架构: 1、终端层: 充分利用物联网技术、移动应用、智能硬件设备提高现场管控能力。通过RFID、传感器、摄像头、手机等终…

Sectigo SSL

Sectigo(前身为ComodoCA)是全球在线安全解决方案提供商和全球最大的证书颁发机构。为了强调其在SSL产品之外的扩张,Comodo在2018年更名为Sectigo。新名称减少了市场混乱,标志着公司向创新的全方位网络安全解决方案提供商过渡。 S…

RVS—面向目标硬件的软件性能测试工具

产品概述 Rapita Verification Suite(简称:RVS),为美国Danlaw公司提供的一款嵌入式系统在板测试套件,主要应用于汽车领域。其产品符合ISO-26262、DO178B/C、IEC-61508等行业标准,兼容Vxworks、Linux、SYSBI…

Windows 安装 JDK 8 和 JDK 17 和多版本JDK切换

下载 JDK JDK 8 下载地址:https://www.aliyundrive.com/s/koYe1SVRg76 JDK 17 下载地址: https://www.aliyundrive.com/s/tBcbUtAHTbg 安装 JDK 点击可执行文件 jdk-8u291-windows-x64.exe 进行安装 如果需要更改JDK安装目录,根据个人偏好…

从零开始搭建React+TypeScript+webpack开发环境-基于lerna的webpack项目工程化改造

项目背景 在实际项目中,我们的前端项目往往是一个大型的Webpack项目,结构较为复杂。项目根目录下包含了各种配置文件、源代码、以及静态资源,整体布局相对扁平。Webpack的配置文件分散在不同的部分,包括入口文件、输出目录、加载…

无需公网IP!部署Apache服务器与内网穿透实现公网访问

Apache服务安装配置与结合内网穿透实现公网访问 文章目录 Apache服务安装配置与结合内网穿透实现公网访问前言1.Apache服务安装配置1.1 进入官网下载安装包1.2 Apache服务配置 2.安装cpolar内网穿透2.1 注册cpolar账号2.2 下载cpolar客户端 3. 获取远程桌面公网地址3.1 登录cpo…

html与django实现多级数据联动

html与django实现多级数据联动 1、流程 1、进入页面后先获取年级数据 2、选择年级后获取院级数据 3、选择院级后获取层次数据 4、选择层次数据后获取专业数据 2、html代码 <p style"margin-top: 10px;"><label>年级</label><select id"…

ARM 基础学习记录 / 异常与GIC介绍

GIC概念 念课本&#xff08;以下内容都是针对"通用中断控制器&#xff08;GIC&#xff09;"而言&#xff0c;直接摘录的&#xff0c;有的地方可能不符人类的理解方式&#xff09;&#xff1a; 通用中断控制器&#xff08;GIC&#xff09;架构提供了严格的规范&…

常见排序算法之插入排序类

插入排序&#xff0c;是一种简单直观的排序算法&#xff0c;工作原理是将一个记录插入到已经排好序的有序表中&#xff0c;从而形成一个新的、记录数增1的有序表。在实现过程中&#xff0c;它使用双层循环&#xff0c;外层循环对除了第一个元素之外的所有元素&#xff0c;内层循…

RK3399平台开发系列讲解(内存篇)free 命令查看内存占用情况介绍

🚀返回专栏总目录 文章目录 一、free的使用二、free的内容📢free 指令会显示内存的使用情况,包括实体内存,虚拟的交换文件内存,共享内存区段,以及系统核心使用的缓冲区等。 一、free的使用 -b  以 Byte 为单位显示内存使用情况。-k  以 KB 为单位显示内存使用情况。…

Clickhouse表引擎

前言&#xff1a; 有关Clickhouse的前置知识详见&#xff1a; 1.ClickHouse的安装启动_clickhouse后台启动_THE WHY的博客-CSDN博客 2.ClickHouse目录结构_clickhouse 目录结构-CSDN博客 Cickhouse创建表时必须指定表引擎 表引擎&#xff08;即表的类型&#xff09;决定了&…

Java语言基础(上)

Java 语言的特点 面对对象&#xff1a;Java 中所有的数据和方法都封装在对象中跨平台性&#xff1a;Java 通过 Java 虚拟机&#xff0c;可以在不同的操作系统上运行相同的程序自动内存管理&#xff1a;Java 提供垃圾回收机制&#xff0c;不需要手动管理内存强类型语言&#xf…

矩阵的除法

B/A 如果矩阵A可逆&#xff0c;那么 证明&#xff1a; A/AB 如果矩阵A和B都可逆&#xff0c;那么 证明&#xff1a;

Ubuntu系统使用apt-get管理软件工具

记录一下使用Ubuntu系统的apt-get管理软件工具 先查看一下系统的版本&#xff0c;可以看到这里使用的是Ubuntu20.04版本&#xff0c;版本代号focal rootmyw:~# uname -a Linux myw 5.4.0-70-generic #78-Ubuntu SMP Fri Mar 19 13:29:52 UTC 2021 x86_64 x86_64 x86_64 GNU/L…

GEE:基于 Landsat 计算的 kNDVI 应用 APP

作者:CSDN @ _养乐多_ 本文记录了在Google Earth Engine(GEE)平台中,使用 Landsat 遥感数据计算 kNDVI 的应用 APP 链接,并介绍该 APP 的使用方法和步骤。该APP可以为用户展示 NDVI 和 kNDVI 的遥感影像,进行对比分析。该 APP 在 Google Earth Engine(GEE)平台中实现。…

2022年12月 Python(四级)真题解析#中国电子学会#全国青少年软件编程等级考试

Python等级考试(1~6级)全部真题・点这里 一、单选题(共25题,每题2分,共50分) 第1题 有n个按名称排序的商品,使用对分查找法搜索任何一商品,最多查找次数为5次,则n的值可能为?()(2分) A.5 B.15 C.30 D.35 答案:C 答案解析:对分查找最多查找次数m与个数之间n的…

@JSONField或@JsonProperty注解使用

一、需求 使用JSONField或JsonProperty注解&#xff0c;来解决bean与json字段不一致问题&#xff0c;或者字段定义不符合前端所需要的标准&#xff0c;最近在项目中发现实体类属性中&#xff0c;同时使用了JSONField和JsonProperty注解&#xff0c;用于重新声明属性key。有时候…

百度王颖:百度文库以AI创作能力突破语言边界,促进思想碰撞和文化融通

1月9日&#xff0c;2023年世界互联网大会乌镇峰会“网络传播与文明交流互鉴论坛”召开。百度副总裁、互娱和垂类平台负责人王颖出席并发表“以技术搭建跨文化交流桥梁”主题演讲。她表示&#xff0c;在大模型的加持下&#xff0c;百度各个产品都在重构&#xff0c;通过技术助力…

收集不同富文本编辑器的使用(vue3版本)

文章目录 一、ueditor&#xff08;百度富文本编辑器&#xff09;安装使用并二次封装组件 二、KindEditor下载文件新建组件及使用 一、ueditor&#xff08;百度富文本编辑器&#xff09; 参考 ueditor 和 vue-ueditor-wrap 这里直接使用 封装好的vue组件 vue-ueditor-wrap vue3版…