写点什么

2020 年软件测试状态报告

  • 2020-05-19
  • 本文字数:3414 字

    阅读完需:约 11 分钟

2020年软件测试状态报告

本文要点:


  • 测试人员都在将他们的工作触角伸向与传统 QA 团队职责无关的领域;

  • 我们看到越来越多的非测试人员参与到测试活动中;

  • CI/CD 之类的开发部署方法给测试人员带来了挑战,让他们更多地参与到应用程序安全性的其他方面;

  • 测试人员仍然觉得自己的价值没有得到企业足够的认可;

  • 测试人员更多地被认为是软件质量的倡导者和顾问,他们以测试教育传播为武器,促进高质量软件产品的交付。


2020年软件测试状态报告”在测试技术、测试实践、测试自动化的采用以及测试人员所面临的挑战方面提供了见解。报告内容为PractiTest网站的 Joel Montvelisky 和“Tea-Time with Testers”杂志的 Lalit Bhamare 共同发起的 2020 年测试调查的结果。


以下内容来自“2020 年软件测试状态报告”:


我们很难确切地说我们从报告中“看到”了什么,或许可以用一种“感觉”来形容,一种变化的感觉,甚至可以说是一种进化的感觉。

我们看到了很多测试人员和开发人员之间增强协作的迹象,团队之间的界限随着时间的推移变得越来越模糊。

我们还看到测试人员的职责范围在扩展,团队在不同领域需要完成的任务和需要解决的挑战也在扩展。

我们也看到了一些被测试的技术、用于测试的技术以及未来可能会发展起来的技术,它们的底层在发生变化。

更重要的是,我们看到了测试人员对测试职业的未来有了更广阔和更光明的愿景。


InfoQ 采访了此次调查的两位组织者。


InfoQ:与之前的报告相比,2020 年测试状态报告有哪些主要变化?


Lalit Bhamare:我们参考了前几年的调查结果,仔细观察正在发生的事情,修改了调查问题,以便能够获关于某些趋势更详细、更有用的信息。

除了这些以外,我们并没有做出什么重大的改变。

Joel Montvelisky:我们尝试让报告的内容更加重点突出一些。这个看起来很简单,难就难在应该怎样把过去问过的一些问题去掉,这样我们就可以加入其他更有价值的问题。

例如,为了了解测试团队对 CI/CD 过程的参与度,我们必须从之前的调查中去掉两个问题。


InfoQ:只从事测试工作的测试人员的百分比在下降,你能详细地说明为什么会这样吗?


Montvelisky:这个现象很有意思,也很鼓舞人心。测试人员在扩大他们的工作职责和活动范围,并参与到流程的其他方面。

对于其中的一些测试人员,他们需要指导开发人员进行自测,还有一些人需要在生产环境中进行质量监控,并定义流程,确保质量保证成为整个团队工作的一部分,而不仅仅是在版本发布之前发现漏洞和给漏洞打补丁。

Bhamare:我完全同意 Joel 的看法。测试人员的角色似乎正在发生变化,他们所做的事情超出了传统的范围。很显然,测试人员更多的是通过提供咨询的方式来推进“全团队测试”,或者将他们的测试技能和专业知识应用到软件交付和软件支持的其他领域。


InfoQ:人们使用什么方法来增强测试专业知识和提高测试技能?


Bhamare:测试人员似乎在寻求基于技能和经验的学习方法,他们与团队成员结对,与其他测试人员讨论,利用在线学习方式,参与社区论坛。

使用会议、网络研讨会和其他在线学习方式的人数明显在增加。

Montvelisky:事实上,测试人员更多的是在进行相互指导或提供网络课程,我认为这些趋势都是相互关联的。在很多情况下,经验丰富的测试人员提供有限的在线培训,然后根据兴趣继续提供一对一指导。


InfoQ:你认为团队测试人员的数量在趋势方面有什么变化?


Montvelisky:这方面的趋势不是很明显,我们也说不清楚。数字正在变小,但去年我们却看到了一个小跳跃。

这可能是因为调查采样导致的一次性跳跃,或者开发团队的“钟摆”行为导致的,他们认为他们需要足够多的测试人员来帮助团队交付高质量的产品。

我们需要在未来几年继续关注这个问题。

Bhamare:我同意 Joel 的看法。我觉得这个要视情况而定。在某些情况下,测试人员被合并到开发团队中,而在某些情况下,会招募更多的测试人员来支持测试工作。


InfoQ:采用持续集成和持续部署对测试有什么影响?


Bhamare:在我看来,CI/CD 可以确保测试人员(或团队中负责测试的人)在测试过程中有可靠和最佳的自动化手段,这样他们就可以省出更多时间用于发现未知的风险。他们可以在 SDLC 中尽早发现这些风险。

测试人员可以批判性地思考最适合自己的自动化策略,并使其更加可靠、更有意义。另一方面,如果他们的自动化策略不够好(或者说他们的 CI/CD 基础设施不成熟),那么测试人员需要花更多时间进行自动化,而这么做也只能让管道保持“绿色”。这些努力几乎不会给产品质量带来什么好处,也没有增加任何有意义的价值。

Montvelisky:在我看来,CI/CD 有助于我们完善质量保证过程。最直接的因素是将单元测试和产品集成活动作为测试和质量过程的一部分——让测试人员参与到整个活动的定义和分析过程中,这是我们的团队目前还无法做到的。

从长远来看,特别是在那些使用持续部署的企业内部,这是在将测试团队作为 DevOps 的一部分,这样一来,生产环境的部署和监控也有了“耳目”。


InfoQ:测试人员在使用哪些测试技术和方法?


Montvelisky:报告显示,测试人员继续使用混合性技术来完成他们的工作。大多数测试人员结合使用探索性(Exploratory)测试和脚本化测试。

我们还看到了一些常用的方法,比如结对测试(Pair Testing)、Bug 追查(Bug Hunts)和生产日志检查(Review of Production Logs)。

他们还使用了各种不同的方法。有很多测试人员有意识地指导团队,并实现了 MT(现代测试,Alan Page 和 Brent Jensen 在“现代测试方法和原则”中定义的测试方法)。

Bhamare:与我们从之前的报告中了解到的情况相比,我没有看到任何重大变化。不过,探索性测试和基于会话的测试继续被越来越多的人所接受。

Bug 追查和生产监控似乎获得了更多的关注。

大多数人采用远程工作方式将给我们所使用的技术和方法带来怎样的影响?看着这种变化的发生,本身就是一件很有趣的事情。


InfoQ:测试人员和测试团队面临的最大挑战是什么?他们是如何应对的?


Bhamare:与时间赛跑以及不尽早参与整个过程仍然是最大的挑战。当然,创建和维护测试数据和测试环境也极具挑战性。

总的来说,把时间和精力花在如何简化测试上是一个最大的痛点,除此之外还有其他传统问题(比如政治问题),而并不是测试人员没有充分重视测试,等等。

Montvelisky:对于我们中的大多数人来说,最具挑战性的仍然是时间、早期参与和传达测试所能产生的价值。

不过,也有很多测试人员需要面对来自其他方面的挑战,如协调外包、政治问题以及将时间“浪费”在一些与测试本身不相干的任务上,比如给其他团队培训产品特性、为开发团队搭建环境或评估来自开发部门之外的潜在问题。


InfoQ:在测试领域,什么样的实践或技术将会变得越来越重要?


Montvelisky:我的答案很清楚:数据分析。在生产系统中,数据的模式会更加捉摸不透,我们更多的是进行数据分析,而不是数据发现,我们需要成为数据分析方面的专家,这样才能基于大量从系统中流出的数据快速做出决策。

Bhamare:从报告和个人经验来看,应该是数据科学和分析测试。当然也包括 AI、ML 和 VR,但在我看来,数据科学肯定会改变游戏的规则。


InfoQ:为了更好地完成工作,测试人员希望哪些方面会发生变化?


Bhamare:作为被合并到开发团队中的测试人员,他们的工作似乎超负荷了。他们希望得到更多的测试支持,或者整个团队都支持质量保证工作,也就是所谓的“全团队”质量保证方法。

Montvelisky:在这方面,我并没有看到与以前有太多的不一样。我们仍然希望自己的工作价值得到认可,进行更多的团队合作,特别是希望开发人员在测试过程中更多地参与进来。

采访嘉宾简介

Lalitkumar Bhamare 目前在 XING SE 担任高级软件测试工程师。他是软件测试杂志“Tea-Time with Testers”的主编和联合创始人。他也是“测试状态报告”项目的联合组织者。Bhamare 熟悉探索性测试,是 RST 和 CDT 的实践者。他是美国软件测试协会 BSST 基础课程的首席讲师,并定期在 James Bach 的在线课程中提供协作。可以通过 @Lalitbhamare 或 @TtimewidTesters 联系 Bhamare,或者访问他的个人博客(http://www.talesoftesting.com/)。


Joel Montvelisky 是 PractiTest 的联合创始人和首席解决方案架构师。自 1997 年以来,他一直从事测试和 QA 工作,为以色列、美国和欧盟的公司工作。他是一名国际演说家,并在“QA情报”博客上发表文章。Montvelisky 也是OnlineTestConf的创始人和主席,“测试状态调查和报告”的联合组织者。他的最新项目是与 Rob Lambert 合作的“测试一对一”播客。


原文链接


2020 State of Testing Report


2020-05-19 09:003827

评论

发布
暂无评论
发现更多内容

Hadoop WordCount案例

Emperor_LawD

hadoop 5月月更

ansible 模块:lineinfile

ghostwritten

ansible

ansible 模块:include_tasks

ghostwritten

ansible

Web常见的漏洞描述与修复方案

网络安全学海

网络安全 信息安全 渗透测试 WEB安全 漏洞挖掘

ansible 模块:pause

ghostwritten

ansible

最佳10大开源项目管理系统

爱吃小舅的鱼

架构实战训练营毕业设计

刘帅

Native Flink on Kubernetes 在小红书的实践

Apache Flink

大数据 flink 编程 流计算 实时计算

40万年才能遇到外星人,是怎么算出来的?

脑极体

真正深入底层!阿里巴巴2022最新版JDK源码剖析笔记太香了

Java全栈架构师

Java 源码 jdk 面试 程序人生

【愚公系列】2022年05月 二十三种设计模式(十)-外观模式(Facade Pattern)

愚公搬代码

5月月更

5月硬核预告!明晚开讲:Virtio 虚拟化技术趋势与 DPU 实践 | 第16 期

OpenAnolis小助手

云计算 直播 虚拟化 龙蜥社区 龙蜥大讲堂

ansible 模块:systemd

ghostwritten

ansible systemd

ansible 模块:template

ghostwritten

ansible

根因分析思路方法总结|保障IT系统及其稳定性

云智慧AIOps社区

算法 监控 根因分析 智能运维

iframe框架

恒山其若陋兮

5月月更

spring中如何自己去实现一个starter

ZuccRoger

5月月更

C语言-strlen与sizeof区别

芒果酱

c++ 编程语言 C语言 5月月更

玩了一场剧本杀,同车队友“不是人”

白洞计划

十、高可用之应急预案

穿过生命散发芬芳

5月月更 高可用设计

深入了解 Flutter 的状态管理机制(下)

岛上码农

flutter 移动端 安卓开发 ios 开发 5月月更

元宇宙现阶段都支持哪些接入现实的活动?

CECBC

基于 Agora SDK 实现 iOS 端的多人视频互动

声网

视频 SDK教程

数据仓库规范的重要性

奔向架构师

数据仓库 5月月更

DDD实战(10):冲刺1战术之服务设计(下)及技术决策

深清秋

DDD 软件架构 软件设计 生鲜电商系统 5月月更

ansible 模块:modprobe

ghostwritten

ansible

厚积薄发——开源公司商业化之路

CnosDB

IoT 时序数据库 开源社区 CnosDB infra

Web3:创作者经济的黄金时代

CECBC

SOFA Serverless 体系助力业务极速研发

SOFAStack

开源 Serverless springboot GitHub、 SOFA

数字化转型的理论体系与具体技术

小炮

数字化转型

数据仓库ETL管理平台TASKCTL调度计划控制原理

敏捷调度TASKCTL

程序员 DevOps 分布式 数据仓库 ETL

2020年软件测试状态报告_软件工程_Ben Linders_InfoQ精选文章