自动化测试业务价值思考和观点

对于自动化测试的价值如何体现,我的思考和观点主要有如下2点:

  1. 基于团队内部,从解决问题角度出发的技术落地实践和数据度量;
  2. 基于跨团队合作,从KPI/OKR角度,用度量的数据来支撑你的价值传递;

接下来我会基于上述两点来分开阐述我的观点和思考。

团队内部,解决问题

前面的自动化测试系列文章提到过,不同公司不同技术团队对于开展自动化的目的各有不同,常见的目的有下面几点:

  1. 测试数据准备耗时长,为了提升造数据的效率而做自动化测试;
  2. 项目上线之前的核心业务链路回归,为了提升回归测试效率,这也是一种上线前的check手段;
  3. 提测前为了快速验证提测质量,作为一种冒烟测试手段提升效率,同时这也是一种测试左移的实践
  4. 团队大业务线多,通过统一框架和协作规范来提升测试团队协作效率,减少造轮子,避免资源内耗浪费

当然还有其他目的,总结一下,做自动化测试的目的主要是降本增效。即通过技术手段,提升测试过程效率和团队协作效率,新增测试回归验证手段,降低重复性工作投入成本

其实无论是出于什么目的,开展自动化的本质,一定是有痛点影响到了项目交付质量或者效率。开展自动化,首先是为了解决问题,度量指标是为了便于评估开展这件事的投入产出是否符合预期,以及支撑价值传递。

用一个朋友的话讲:

最怕的是那种还没开始做就喊着我要做自动化测试平台,用什么高大上的技术的人。 我希望我团队里的同学,做自动化是自发的,想解决自己工作中遇到的问题,先让自动化run起来。 界面好不好看不重要,用什么工具不重要,重要的是问题有没有解决,有没有提升效率,解决真实的问题。

跨团队合作,价值传递

接下来聊第二个观点:基于跨团队合作,从KPI/OKR角度,用度量的数据来支撑价值传递。

自动化测试对测试团队来说,最直接的显性价值是替代手工重复工作,解放人力,保障回归质量,提升测试过程效率

解放的人力,可以去做更多更有创造性的事情,这也是自动化测试的隐性价值。比如:

  • 尝试探索性测试;
  • 提升测试人员的技术和实践能力;
  • 加深对需求和业务的理解,有所沉淀;
  • 研发测试过程改进和机制/技术优化,提升协同效率;

还有一点很多同学会忽略,就是自动化测试对团队带来的放大价值。主要体现在几个方面:

  • 自动化测试加入到CICD流水线中,提升持续集成和交付能力;
  • 脚本的可复用性会提高脚本对应功能点的覆盖率,能降低很大的人力成本;
  • 建立并维护好测试用例/测试脚本库,可以培养新加入的同学以更快的速度形成战力;

很多时候我们思考问题都会习惯从技术角度出发,实际上技术是为业务目标达成提供支撑和效率的工具

对企业来讲,业务是最直接的变现逻辑和渠道,业务目标追求的是更低成本+更高效率,来保障目标达成

业务发展遇到了痛点(技术导致的业务目标未达成),就想办法利用技术手段解决业务的痛点。所谓的自动化测试创造的业务价值,其实就是自动化测试的初衷和本质:降低成本+提升效率

自动化测试可以通过间接的方式支撑业务目标的达成,但并不是说有技术就能创造正向的价值。技术要创造业务价值很简单,只需要遵循这几点:

  • 发现业务痛点;
  • 找到合适的方案;
  • 用更低的成本更高的效率更好的解决业务痛点;

我在前面的文章中提到了关于项目落地运营要注意的事项:

业务运营:解决了业务什么痛点,对业务目标达成的促进;

技术运营:用户体验、交付效率、质量提升、用户满意度;

本质一直没有变化,就是找到痛点,用合适的方案解决问题。

解决问题的过程中,用数据指标来度量解决问题的成本和效率,不断修正过程。

最后,用数据来支撑你的价值传递。

学习安排上

作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。【保证100%免费】

视频文档获取方式:

这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取

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

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

相关文章

Rabbitmq调用FeignClient接口失败

文章目录 一、框架及逻辑介绍1.背景服务介绍2.问题逻辑介绍 二、代码1.A服务2.B服务3.C服务 三、解决思路1.确认B调用C服务接口是否能正常调通2.确认B服务是否能正常调用A服务3.确认消息能否正常消费4.总结 四、修改代码验证1.B服务异步调用C服务接口——失败2.将消费消息放到C…

二叉树的最近公共祖先,二叉搜索树的最近公共祖先(同一个思路)

目录 二叉树的最近公共祖先方法一(时间复杂度O(N^2))方法二(时间复杂度O(N)) 二叉搜索树的最近公共祖先 二叉树的最近公共祖先 题目链接   二叉树的最近公共祖先   给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。  …

[BUUCTF]-PWN:babyfengshui_33c3_2016解析

又是一道堆题,先看保护 关键信息是32位,没开pie 直接看ida 大致是alloc创建堆块,free释放堆块,show查看堆块内容,fill填充堆块内容 其他的都没啥关键的要讲,但alloc那里非常需要解析一下 解释如上图 再具…

网站将http升级到https大概要多少费用

随着网络安全意识的不断提升,越来越多的网站正从传统的HTTP协议转向更安全的HTTPS协议。这一转变的核心在于部署SSL(Secure Sockets Layer)或TLS(Transport Layer Security)证书,以实现数据加密传输&#x…

phar反序列化漏洞

基础: Phar是一种PHP文件归档格式,它类似于ZIP或JAR文件格式,可以将多个PHP文件打包成一个单独的文件(即Phar文件)。 打包后的Phar文件可以像普通的PHP文件一样执行,可以包含PHP代码、文本文件、图像等各…

微信小程序(十八)组件通信(父传子)

注释很详细,直接上代码 上一篇 新增内容: 1.组件属性变量的定义 2.组件属性变量的默认状态 3.组件属性变量的传递方法 解释一下为什么是父传子,因为组件是页面的一部分,数据是从页面传递到组件的,所以是父传子&#xf…

SpringMVC第六天(拦截器)

概念 拦截器(Interceptor)是一种动态拦截方法调用的机制,在SpringMVC中动态拦截控制器方法的执行 作用: 在指定的方法调用前后执行预先设定的代码 阻止原始方法的执行 拦截器与过滤器的区别 归属不同:Filter属于Servlet技术,I…

k8s从初识到上天系列第二篇:kubernetes的组件和架构

😉😉 欢迎加入我们的学习交流群呀! ✅✅1:这是孙哥suns给大家的福利! ✨✨2:我们免费分享Netty、Dubbo、k8s、Mybatis、Spring、SpringSecurity、Docker、Grpc、各种MQ、Rpc、SpringCloud等等很多应用和源码…

UDF学习(五)FLUENT UDF-DEFINE_INIT宏和DEFINE_DELTAT宏和DEFINE_ADJUST宏

FLUENT UDF-DEFINE_INIT宏 以此为例: DEFINE_INIT(init,domain)//一般格式 #include"udf.h" DEFINE_INIT(init,domain) { cell_t c; Thread *thread; real xc[ND_ND],x,y; thread_loop_c(thread,domain) { begin_c_loop(c,thread) } C_CENTROID(xc,c,t…

【C++】C++ 入门 — 命名空间,输入输出,函数新特性

C 1 前言2 命名空间2.1 概念引入2.2 开始使用2.3 投入应用 3 输入与输出3.1 基础知识3.2 开始使用3.3 注意局限 4 函数新特性4.1 缺省参数4.1.1 开始使用4.1.2 注意事项 4.2 函数重载4.2.1 开始使用4.2.2 如何实现 Thanks♪(・ω・)ノ谢谢阅读下…

Python算法题集_接雨水

本文为Python算法题集之一的代码示例 题目42:接雨水 说明:给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水 示例 1: 输入:height [0,1,0,2,1,0,1,3,2,1,2,1]…

银行数据仓库体系实践(11)--数据仓库开发管理系统及开发流程

数据仓库管理着整个银行或公司的数据,数据结构复杂,数据量庞大,任何一个数据字段的变化或错误都会引起数据错误,影响数据应用,同时业务的发展也带来系统不断升级,数据需求的不断增加,数据仓库需…