预警:传统的QA岗位将被DevOps淘汰

导读在大多数机构或公司里,软件开发过程主要遵循一个或多个开发模型,例如瀑布模型或敏捷模型。在瀑布模型中,测试活动一般都在后期进行。软件开发完成后,缺陷被QA团队找出,然后再被修复。后两个活动不断循环和重复,指导管理者认为软件可以被公开发布为止。

如果你是一名软件质量保障人员(QA),那么是时候去找一份新的工作了(或者get新技能准备升级转型)。绝大多数情况下,软件开发过程包括如下几个主要活动:

  • 进行需求分析
  • 创建软件产品的规格说明书
  • 构建软件
  • 软件(或服务)质量调查
  • 发现、修复缺陷
  • 部署软件到实际生产环境

在大多数机构或公司里,软件开发过程主要遵循一个或多个开发模型,例如瀑布模型或敏捷模型。在瀑布模型中,测试活动一般都在后期进行。软件开发完成后,缺陷被QA团队找出,然后再被修复。后两个活动不断循环和重复,指导管理者认为软件可以被公开发布为止。

预警:传统的QA岗位将被DevOps淘汰预警:传统的QA岗位将被DevOps淘汰

在敏捷模型中,包括QA在内的个人和团队在一起紧密工作,在一种持续的基础上不断发布、更新软件,而在某个时间一起部署整个软件。DevOps,就像我们在之前的文章中已经提到过的,是下一代的敏捷开发模型。敏捷是一种在软件开发中不断思考的方式,而DevOps则更进一步发展,是实现组织内开发哲学的具体开发文化的变革。

而且这种实现方式消除了QA作为组织中一个单独实体的存在意义,将质量保障的工作分散给不同的开发团队,尽管许多人认为原来的质量保障的规则仍然需要通过这种或其它的方式存在。

过去对DevOps中QA的理解

其中一种常见的观点认为DevOps位于开发团队、运营团队、QA团队的中心(见上韦恩图):“一方面,QA团队和开发团队一起工作,尽量将他们的测试融入到系统的持续集成中。测试必须做到没有人力干预,独立产生他们自己的测试数据。另一方面,QA团队和运营团队一起合作完成监控工具,也可能一起不断对产品进行Smoke Test。有一种可能是运营团队在开发系统备份和恢复、部署回滚的脚本或者灾难恢复的脚本。”

在NeoTYS的Tim Hinds则从不同的角度看待这个问题,他认为“DevOps QA”的作用是预防缺陷的发生而不是检测缺陷:“QA在组织中担任非常关键的角色,因为他们有足够的能力和权限能够在系统正常工作时将其发布出去并且在发现系统不工作时将其回滚。这和10年前的QA团队的观念相比是非常不同的,当时认为QA团队的主要职责是发现缺陷。今天QA团队则被要求避免缺陷被暴露给公众。”

但是客观的说,上述的观点都是错误的。

为什么DevOps不需要(传统型的)QA

DevOps通常使用持续集成(CI)和持续交付(CD)。在持续集成中,开发人员利用各种持续集成工具来不断将代码整合到共享代码库中,甚至每天多次提交,而且DevOps依赖自动化来确保版本质量。如果想要进行持续角度,就不能有人工干预,这样才能确保在任何一个时间都可以发布代码库中的任何一段代码的任何一个版本。

基本上,传统的QA不可能在完整的持续集成/持续交付的环境中工作。在旧的结构中,软件产品的质量保障的责任是在QA的手里、而今天,它则是DevOps的开发文化和开发哲学的一部分——所有开发人员都有这个责任而非仅仅组织中的一个独立的团队拥有这个责任。

具体来说,DevOps需要使用诸如BUGtrack、JIRA和Github等产品和工具来不断汇总和报告软件中的错误和缺陷。Selenium、Cucumber、Junit、TestNG和JMeter等自动测试工具则用于管理、执行和度量功能测试等。

最后总结一下,如果在开发团队和运营团队中间还阻隔了一层人员,那么你就不能无缝执行持续集成和持续交付,也就不能进行DevOps。因此,要想正确的运行DevOps操作,则根本不能拥有(传统型的)QA团队。

QA的未来

那么对于QA工作者来说他们之后会怎么样呢?作为曾经美国最最幸福的工作之一的QA,随着越来越多的组织使用DevOps,传统型的QA工作者们的位置会变得越来越冗余。

根据美国劳工统计局(BLS)的报告,软件质量工程师是高新技术职业中增长速度预计将比平均水平慢的职业之一:

然而,美国劳工统计局的统计数字可能太泛化了因此劳工局还没有将DevOps认定为一个独立的职业:

作为证据,仅仅看一下Google趋势中搜索数据的相对数量就会发现“sqa jobs”的搜索数量正在缓慢下降然而“devops jobs”的搜索数量则在迅速增长:

预警:传统的QA岗位将被DevOps淘汰预警:传统的QA岗位将被DevOps淘汰

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【C++】Stack和Queue

欢迎来到Cefler的博客😁 🕌博客主页:那个传说中的man的主页 🏠个人专栏:题目解析 🌎推荐文章:题目大解析3 目录 👉🏻Stack Constructor👉🏻Stack …

【数据结构】如何用队列实现栈?图文详解(LeetCode)

LeetCode链接:225. 用队列实现栈 - 力扣(LeetCode) 本文默认读者已经掌握栈与队列的基本知识 或者先看我的另一篇博客:【数据结构】栈与队列_字节连结的博客-CSDN博客 做题思路 由于我们使用的是C语言,不能直接使用队…

数据结构中公式前中后缀表达式-二叉树应用

目录 数据结构中公式前中后缀表达式-二叉树应用 数据结构中公式前中后缀表达式-二叉树应用 什么是前缀表达式、中缀表达式、后缀表达式 前缀表达式、中缀表达式、后缀表达式,是通过树来存储和计算表达式的三种不同方式 以如下公式为例 通过树来存储该公式&#x…

国产32位单片机XL32F001,带1 路 12bit ADC,I2C、SPI、USART 等外设

XL32F001 系列单片机采用高性能的 32 位 ARM Cortex-M0内核,宽电压工作范围的 MCU。嵌入 24KbytesFlash 和 3Kbytes SRAM 存储器,最高工作频率 24MHz。包含多种不同封装类型多款产品。芯片集成 I2C、SPI、USART 等通讯外设,1 路 12bit ADC&am…

k8s v1.27.4二进制部署记录

记录二进制部署过程 #!/bin/bash#升级内核 update_kernel() {rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.orgyum -y install https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpmyum --disablerepo"*" --enablerepo"elrepo-kernel&q…

【0815作业】搭建select的TCP客户端、poll客户端、tftp文件上传

IO多路复用(重点!!!) 进程中如果同时需要处理多路输入输出流,在使用单进程单线程的情况下,同时处理多个输入输出请求。在无法用多进程多线程,可以选择用IO多路复用;由于不…

中间件的介绍

1.1 什么是中间件 中间件是介于应用系统和系统软件之间的一类软件,他使用系统软件所提供的基础服务,衔接网络上应用系统的各个部分或不同的应用,能够达到资源共享、功能共享的目的。 例如MySQL就可以看作是具备中间件特性的一种技术&#x…

Intellij中直接运行ts配置:run configuration for typescript

在Intellij中可以借助插件run configuration for typescript直接运行typescript: run configuration for typescript插件本质还是依赖于 ts-node 来运行,只是其可以帮助我们自动配置好 ts-node 运行参数,简化使用。 第一步:安装…

leetcode 139. 单词拆分

2023.8.18 本题可以看作完全背包问题,字符串s为背包,字符串列表worddict中的字符串为物品。由于本题的物品集合是排列问题(即物品的排列顺序对结果有影响),所以遍历顺序为:先遍历背包再遍历物品。 接下来看代码: clas…

117页数字化转型与产业互联网发展趋势及机会分析报告PPT

导读:原文《》(获取来源见文尾),本文精选其中精华及架构部分,逻辑清晰、内容完整,为快速形成售前方案提供参考。 喜欢文章,您可以点赞评论转发本文,了解更多内容请私信:方…

力扣974被K整除的子数组

同余定理 使用前缀和哈希表 由于可能是负数所以要进行修正&#xff1a;(sum%kk)%k class Solution { public:int subarraysDivByK(vector<int>& nums, int k) {unordered_map<int,int> hash;hash[0 % k] 1; //0 这个数的余数int sum 0, ret 0;for(auto x…

Linux笔试题(4)

67、在局域网络内的某台主机用ping命令测试网络连接时发现网络内部的主机都可以连同,而不能与公网连通,问题可能是__C_ A.主机ip设置有误 B.没有设置连接局域网的网关 C.局域网的网关或主机的网关设置有误 D.局域网DNS服务器设置有误 解析&#xff1a;在局域网络内的某台主…