敏捷世界还需要有QA吗?

news2024/12/22 19:31:30

敏捷开发模型现在已经被越来越多的公司熟知并使用,很多公司会选择敏捷开发模式的转型,其主要目的就是为了不断适应变化以及客户快速交付的诉求。为什么敏捷开发能够被诸多大众接受?可以从两个维度来看

首先,从开发人员角度,他们肯定乐意接受这个变化,接受这种开发模式带来的益处。因为他们可以将部分精力从之前繁琐的过程和大量的文档工作中释放出来,更能够全身心地投入到代码开发的工作中。

其次,从客户角度,敏捷开发可以让客户不断看到新功能。相比之前开发模式到一段时间或者上线才能够看到完整功能,敏捷开发算是提升了一大步。这个模式能够尽早地让客户参与进来,并可以及时地进行纠偏。

看到上面的这些变化,我们会发现敏捷开发实际上对一类人的要求变高了,这类人就是QA人员。为什么这么说?因为我们知道,目前大多数软件公司选用的开发模型是瀑布模式。对于瀑布模式,它的特点是在开发过程中,开发只需要提供一个稳定的测试版本和稳定的需求给到测试和QA。但是,如果按照敏捷的开发模式,你会发现没有所谓的稳定版本。QA需要对一个不断在变化的过程负责,没有大量时间部署和采取自动化的环境和架构,这无形中大大增加了QA的工作难度。

但对开发来讲,可以把精力从繁琐的文档和流程上释放出来,发挥想象和创意来提供更好的解决方案。所以这种高效运转,对QA提出更高的要求。

早期文章中我介绍过CMMI中的QA角色,在CMMI模型中我将QA看作是4类角色:老师、医生、警察、宣传员。在CMMI过程改进的历程中,我们需要这么一位QA,充分发挥QA的作用和职责,这是CMMI过程改进中质量管理体系良好运转的基础。QA在平时的工作中要不断地在老师,医生,警察,宣传员角色中进行切换,发挥各个角色的强项,并全生命周期的参与项目。

今天我们主要谈的是敏捷开发中的QA,如何看待他的地位和作用?

站在敏捷开发的角度看QA人员,也可以看作三种层级的角色,在敏捷开发转型过程的不同阶段,QA的角色定位和作用也是逐层深入:

1、质量保证

这个层级的角色职责是最基础的岗位要求,总体就是需要我们最终交给客户的软件产品是满足客户需求的,可以正常使用的,简单讲就是做好基础的质量保障工作。例如,在敏捷开发中参与单元测试的审查,审查单元测试的覆盖率,跟进审查的结果,调整单元测试以及检查后续接口测试和回归测试的覆盖率等。

我们知道大多数的敏捷开发中,单元测试用例和接口测试用例编写者都是开发人员,需要QA从他的维度来保证代码质量。那么如何保证?开发人员关注测试覆盖,QA关注的重点在测试的边界值,关注异常处理的解决等。

这个角色定位通常处于敏捷转型的初期,测试工作可能还是手工测试为主,QA人员也可能只是兼职参与。

虽然敏捷开发团队的交付周期缩短了,变成了2-3周一个周期,但团队成员还是喜欢原来瀑布开发模型固有的阶段式方式合作,任务一环扣一环,敏捷形式上变成了小瀑布,不同角色只关注自己不要出问题,缺乏团队质量认识,只关注自己跟前的一亩三分地,整体效率也不高。

在这样的情况下,需要把质量把控统一到一个角色上刻不容缓,需要有QA(质量保证)这个角色。敏捷 QA 流程必须严格遵守,从需求分析到生产环境,QA需要参与每一个环节,跟多个角色进行充分地沟通与合作,确保交付给客户的产品可以正常使用的。

2、质量分析

这个层级的QA工作重点是质量分析,敏捷开发的核心就是小版本迭代,快速出版本,所以项目一般会延续多个版本。

项目过程质量可以在每个sprint结束后均有对应的质量数据输出,经过一系列迭代后,可以看出这个项目的质量趋势。如果同期有多个项目在进行,那么也可以通过质量数据的对比,得出各个项目的质量优劣,同时辅以图表来直观分析对比。例如:常见的有质量趋势分析,质量波动对比等。

当然,质量分析离不开工具的支持。例如,我可以使用了项目管理工具进行项目管理,管理需求和开发过程;使用QC工具计划测试时间和测试次数等,在迭代结束后只要花少量的时间就可以进行快速统计质量数据,迭代质量数据也可以呈现出来。包括:开发效率、版本不良率、上线BUG遗留数等,QA在很短时间内就可以统计出项目的质量分数并进行后续分析。

这个职责定位通常处于执行期,到了这个时期,随着硬件设施、软件工具的不断投入,团队成员之间合作不断默契,整体研发效率稳中有升。

敏捷团队有了QA这个角色来负责项目质量,测试工作范围及频率相比之前大大增加。这个阶段的QA,工作压力比较大,总担心进度延误,影响迭代周期。工作中会不断思考:过程中如何更精准地执行QA;如何从已有缺陷的规律中让开发人员吸取经验,从而提升开发的稳定性;怎样才能前瞻性地预防问题发生?因为这些实际的需求,QA职责中慢慢增加了质量分析师的内容,肩负起更多的质量分析的重担,他可以通过测试、数据收集的方式,分析系统的质量,识别风险,并反馈给团队,确保交付的质量是合格的。

3、质量传导及改进

第三个层次的 QA 不再局限于只关注质量,在敏捷开发中更多是充当质量宣传员作用。不断传播质量意识,持续关注产品质量,了解产品的质量视图,培养流程持续改进的思维模式,引导整个团队构建质量第一的工作方针,并坚定的执行下去。

由QA去监督项目团队,例如:站立会议规范性;迭代计划规范性;更新任务状态和燃尽图规范性……更多地偏向全过程的敏捷活动指导,让所有人意识到质量在心中。

这个角色职责定义通常在稳定期。敏捷也需要一个持续改进过程,在这个阶段很多的规章制度、开发流程、沟通机制、绩效考核等基本制度都已经完成并在组织内已经执行,这个阶段的敏捷团队关注的是质量如何再提高,项目的反馈周期如何再进行缩短。

在这个阶段,质量传导者不仅仅是QA一个人的事情,他更需要借助团队里每个人的力量,快速反馈,持续跟进,这正是QA在质量传导者职责上的重要工作方针。QA通过培养对流程持续改进的思维模式,了解改进的整体质量目标和持续关注质量的意识,引导整个团队构建正确的项目和产品目标,持续改进。


通过上面对敏捷QA职责及工作定位的详细讲解,你还觉得他可有可无了吗?答案是显而易见的,他的价值和作用也是敏捷团队公认的!敏捷QA的所有实践和活动都需要以价值为核心来驱动,根据不同团队的具体情况可以适当调整,且在不同项目阶段应该也是演进式的。

敏捷QA工作职责能够被有效履行是保证敏捷开发持续有效的重要基础,也是缺一不可的。QA与团队通力协作,在整个敏捷开发周期中为客户创造并实现价值,同时也可以增加内部团队的凝聚力和自信心,在敏捷开发的道路上乘风破浪,最终可以实现个人、团队、组织的价值所在!

更多精彩内容

请关注微信公众号“赛希咨询”

 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

条码系统(PC/PDA)对接NC接口功能

条码系统功能清单功能模块功能菜单明细菜单支持终端功能描述业务流程框架pc端框架搭建 PC端整体框架工具搭建,提供字典配置,PDA端的参数配置,NC数据源,NC接口调用工具等 PDA端框架搭建 PDA端安卓端框架基础功能APP创建,数据源,功能菜单等 服务器环境部署 PC端/PDA端pc端/P…

使用YOLOV8实现滑块缺口验证码识别,并使用Fastdeploy快速部署,精度高达99%!!

前言:首先大家对滑块缺口验证码的识别应该有很多经验了,大部分人可能阅读过我的文章或者其他人的文章,能从各方了解到,滑块缺口的各种实现方式,例如模板匹配、边缘检测、提取透明通道、yolov5,paddledection等,此篇文章将会讲解yolov8的使用和训练,yolov8相对于yolov5有…

真心牛x,阿里出品2023最新版Spring全家桶进阶笔记流出,堪称Java程序员跳槽神器

最近小伙伴在我后台留言是这样的: ​现在就这光景,不比以前,会个CRUD就有人要,即使大部分公司依然只需要做CRUD的事情......现在去面试,只会CRUD还要被吐槽: ​面试造火箭,工作拧螺丝&#xff0…

六级备考23天|CET-6|翻译技巧5|2019年12月真题|翻译荷花lotus|11:05-12:05

目录 一、中文 句子1 PRACTICE ANSWER 句子2 PRACTICE ANSWER 句子3 ​ PRACTICE ANSWER 句子4 PRACTICE ANSWER 句子5 PRACTICE ANSWER 句子6 PRACTICE ANSWER ​ 答案整合​ 一、中文 句子1 荷花是中国的名花之一,深受人们喜爱。 PRACTICE Lotus is one…

CMakeLists.txt 文件详解

目录 CMakeLists.txt 常见内容和结构: 文件中的命令和配置: 官方文档: CMakeLists.txt CMakeLists.txt 文件是用于描述 CMake 构建过程和项目配置的文件。它包含了一系列 CMake 命令、变量设置和流程控制结构,用于告诉 CMake 如何生成适合…

pycharm中关于debug模式中按钮的介绍

文章目录 前言一、pycharm中debug的按钮介绍(横排按钮)二、pycharm中debug的按钮介绍(竖排按钮)总结 前言 遇到了debug模式下的调试按钮问题。 一、pycharm中debug的按钮介绍(横排按钮) 步过:s…

七人拼团系统开发模式,助力企业三个月新增超十万会员!

现在市场上最不缺的就是好产品,产品在市场上目前已经趋于饱和。要想让自己的产品或企业快速打入市场,最好的办法是结合好的营销模式,让企业快速起步裂变提升销量。现在就有这么一款模式,助力企业在三个月内就新发展了超十万会员&a…

MySql高可用方案

MySql高可用方案 1、主从、主主(互为主从)keepalived 2、MHA MHA(Master High Avaliable) 是一款 MySQL 开源高可用程序,MHA 在监测到主实例无响应后,可以自动将同步最靠前的 Slave 提升为 Master,然后将其他所有的 S…

【JavaSE】Java基础语法(三十三):File 一文详解

文章目录 1. File类概述和构造方法2. 绝对路径和相对路径3. File类创建功能【应用】4. File类删除功能【应用】5. File类判断和获取功能【应用】6. 6File类练习一【应用】7. File类练习二【应用】 1. File类概述和构造方法 File类介绍 它是文件和目录路径名的抽象表示文件和目录…

阿里面试测试工程师,水太深,我把握不住了......

前言 去阿里面试测试工程师,这里面水太深,什么未来规划,职业发展的东西都是虚拟的,作者还太年轻,没有那个经历,把握不住。项目只有几个,开心快乐就行,不PK,文明PK。 很多…

组合总和 II

1题目 给定一个候选人编号的集合 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。 candidates 中的每个数字在每个组合中只能使用 一次 。 注意:解集不能包含重复的组合。 示例 1: 输入: candidates [10,1…

搭建LightPicture开源免费图床系统「公网远程控制」

文章目录 1.前言2. Lightpicture网站搭建2.1. Lightpicture下载和安装2.2. Lightpicture网页测试2.3.cpolar的安装和注册 3.本地网页发布3.1.Cpolar云端设置3.2.Cpolar本地设置 4.公网访问测试5.结语 转载自cpolar极点云的文章:【搭建私人图床】使用LightPicture开源…

Parasoft亮相上海国际嵌入式展

全球自动化软件测试解决方案的领导者Parasoft宣布参加6月14日至16日在上海举行的首届embedded world China上海国际嵌入式展,此次Parasoft联合检测认证领域的领导者-莱茵技术(上海)有限公司共同参展,为嵌入式行业提供符合功能安全…

电子表格的武侠江湖里,有VBA加持的Excel,也只能算一把菜刀

Excel,都用过吧? 没用过肯定也听说过。 这可是Windows里颇具传奇色彩的软件,堪称一把九天陨铁淬炼而成的菜刀。 普通人,用它做表格, 进行简单的数据汇总。 职场人,继续用它做表格, 开始求和…

请问下大家PMP证书值得考嘛?

做项目的去考,项目经理、产品经理这些,或者有往项目管理领域发展的去考。其他行业有空可以学习下 不一定要考证了。 PMP证书更多的是 “敲门砖”作用,大部分公司招聘的门槛都要去了这个证书。 当然现在PMP管理模式也很热门,各大…

国产的高精度ADC HX711 CS1237 TM7707等如何选型

最近小伙伴们咨询我,国产很多高精度的ADC,如何选型使用呢?这里我们主要讨论几款24位差分输入。 ADC/DAC相关名词解释 ADC输入范围ADC转换速度ADC稳定位数 在我们选的时候主要考虑上面三个参数 ADC参数对比 型号输入范围输出速率建立时间PG…

网页JS自动化脚本(八)使用网页专属数据库indexedDB进行数据收集

我们在网页上进行的活动,往往都需要进行收集一些简单的数据,但是因为浏览器的安全原因,浏览器基本上是无法与本地的操作系统直接产生数据交互的,这本来就是一个由于安全问题生产的无解问题,在浏览器里面是内置了几种数据库的,其中一种就是indexedDB,可以用来储存一些非常小的数…

多主题插件上线!开源的 API 管理工具居然这么有意思!

之前我一直在用的开源API 管理工具——Postcat 最近上线了新的主题插件,真的有意思! 之前就用用户提 issue 没想到终于安排上了,给这个项目点赞! 挑几款我偏好的主题插件,简单看看 第一款,【VSCode 主题】&…

鸿蒙Hi3861学习二十-编译构造

一、简介 在使用编译构造子系统前,应了解如下基本概念: 子系统 子系统是一个逻辑概念,它由一个或多个具体的组件构成、OpenHarmony整体遵从分层设计,从下向上依次为:内核层、系统服务层、架构层和应用层。系统功能按照…

电商用户行为分析__求前3点击量

测试代码 package Data_textimport org.apache.flink.streaming.api.TimeCharacteristic import org.apache.flink.streaming.api.functions.timestamps.BoundedOutOfOrdernessTimestampExtractor import org.apache.flink.streaming.api.scala._ import org.apache.flink.st…