你真的需要自动化测试吗?

简介: 先想清楚场景和价值

要不要做自动化测试?

其实自动化这个概念很早前就有了,最初主要应用于工业生产领域,指通过指令或软件控制机械工具完成一些重复度较高的工作。后来随着计算机技术的发展和互联网行业的蓬勃趋势,开始应用于软件开发和测试领域。

无论是我们比较熟悉的各种自动化测试如UI自动化、接口自动化甚至单元自动化测试或者是CICD,其本质都是通过借助工具帮我们完成日常工作中重复度较高,手动又比较费时的工作。

自动化测试的优势在于将重复度较高又比较费时的工作交给软件工具,解放人力资源去做其他更有创造性的工作,提升投入和产出的比率,用更少的成本投入创造更大的价值。

那么工作中要不要做自动化测试呢?答案是肯定的。

但是新的问题来了,自动化测试=适用于任何阶段任何团队的吗?并不一定。

什么时候做自动化测试?

我们都知道,软件测试(质量保障)其实追求的是2个目标:质量和效率。

本质来说,自动化测试是一种辅助的提效手段,而不是解决问题的目的,且并不是唯一的提效手段。

工作中什么时候开展自动化测试,如何开展,做什么类型的自动化测试,是否有足够的资源投入,都是需要经过慎密的调研评估,而非为了自动化而自动化,这样无异于舍本逐末。

我们日常的测试工作都是在软件工程的方法论指导下,遵循一定的流程规范来开展的。软件工程的方法论,其实本质来说就是三个词:成本+收益+风险。即尽可能用较低的成本投入获得更高的收益,且承担的风险可控

三者不可兼得,需要做一定的平衡和牺牲,以达到最终的质量和效率目的。

因此在评估是否要开展自动化测试之前,需要尽可能基于上述几点因素来考虑。

举个例子:

某创业型公司,当前处于产品初创和快速迭代期,追求的是快速推出MVP产品推向市场,业务不稳定,人力资源紧张,技术基础设施很差,那这个时候是不适合做开展自动化测试的。

前面提到了, 自动化测试适用于重复度较高的工作,且不是一蹴而就即插即用就能解决问题的。需要相对稳定的业务需求迭代、比较成熟稳定的研发团队和一定的技术基础设施建设,以及较为规范的流程才能更好的落地,达到提效的目的

那么如果要落地自动化测试并达到提效的目的,需要考虑哪些因素呢?


落地自动化测试前要思考的

以我个人的实践经验来讲,落地自动化测试之前,需要思考下面一些因素:

  • 当前面临的痛点是什么?
  • 痛点背后的原因有哪些?
  • 有什么可以解决问题的方案?
  • 自动化是不是最好的解决方案?
  • 当前的情况是否适合开展自动化测试?
  • 开展自动化测试前要调研评估哪些因素?
  • 选定试点范围;
  • 自动化工具调研;
  • 团队成员技术栈匹配度;
  • 要投入多少人力时间资源;
  • 预期的投入产出比是多少;

就像群里一位同学说的一段话:“我昨天和业务部门开会,有部门领导提出来说全链路压测平台和商用的差距还很大,需要好好建设。我说,你们都基本没有全链路压测需求,我投入大量精力去做,但没人用啊”。

企业的本质是追求更大化的价值,其实并不关心用什么技术手段。自动化是一种辅助提效手段之一,并不是做事的目的。

不要为了自动化而自动化,看到钉子就想找锤子砸下去,相比于做什么,更需要考虑的是做这件事的原因和带来的价值。

这篇文章,我阐述的是一种思考问题的方式,而非具体的实践路径。

目录
相关文章
|
17小时前
|
Web App开发 Java 测试技术
反了!居然让我教她自动化测试!
Selenium 大家应该都很熟悉了吧,简单说它就是个基于浏览器的 Web 自动化测试工具,基本上是自动化测试人员首选工具。因为相比其他工具,它有很多的优势: 支持多种语言,比如 Python、Java、C或C#、ruby 等都支持; 支持多种浏览器, 比如 IE、FireFox、Safari、Opera、Chrome 这些主流浏览器基本都支持; 支持多种操作系统,比如 Windows、Mac、Linux 这个款主流操作系统。 其实单就上面这些优势就足以证明它的强大了,再加上它还支持分布式部署自动化测试程序,在多台不同的机器上同时执行。
18 0
ToC和ToB有啥区别
ToC(Consumer)面向普通用户服务,ToB(business)是面向企业用户服务。对公司的营销体系和商业模式而言,定位客户群体,决定产品设计、运营管理、市场营销等系列操作。 1.1 业务形态不同
3261 0
|
Web App开发 自然语言处理 Java
自动化测试
自动化测试
268 0
自动化测试
|
新零售
重磅发布 | 阿里云发布《数据中台交付标准化》白皮书,促进数据中台高效高质量履约 原创 肖剑 阿里云研究院
编者按: 企业进行数字化建设是实现精细化运营和数字化创新发展的关键所在,数据中台建设是企业实现数智化转型的必经之路。在数据中台建设与交付过程中,存在专业度要求高、交付过程管控难、交付协同难等挑战,为应对这些挑战并实现数据中台交付,需要有一套数据中台交付的方法论、交付标准、交付工具和数字化交付工作台来指导、帮助企业和数据中台服务商来建设好数据中台,为企业的数字化转型提供数据咨询规划服务、数据资产建设服务和数据应用建设服务等,提升数据中台交付的效率和质量,降低规模化交付成本。
587 0
重磅发布 | 阿里云发布《数据中台交付标准化》白皮书,促进数据中台高效高质量履约 原创 肖剑 阿里云研究院
|
9月前
|
jenkins 测试技术 持续交付
基于Jenkins+Python+Ubuntu+Docker的接口/UI自动化测试环境部署详细过程
基于Jenkins+Python+Ubuntu+Docker的接口/UI自动化测试环境部署详细过程
352 1
|
Python
Pycharm+PyQt5+Python3.5开发环境配置(详细教程)
Pycharm+PyQt5+Python3.5开发环境配置(详细教程)
357 0
Pycharm+PyQt5+Python3.5开发环境配置(详细教程)
|
9月前
|
存储 芯片 异构计算
LocalBus总线介绍及FPGA总线编程
LocalBus总线介绍及FPGA总线编程
532 0
LocalBus总线介绍及FPGA总线编程
|
10月前
|
测试技术 API 数据安全/隐私保护
搭建禅道环境作为练习UI和接口自动化测试对象
搭建禅道环境作为练习UI和接口自动化测试对象
88 1
|
运维 监控 安全
全链路压测(9):容量评估和容量规划
容量评估我在之前的文章《性能测试从零开始实施指南——容量评估篇》中已做过详细介绍,这里不多做赘述。关于容量评估,参考下面两张思维导图,更容易理解。
全链路压测(9):容量评估和容量规划
|
9月前
|
设计模式 存储 测试技术
领域建模的体系化思维与6种方法论
本文希望能够通过总结过去自己对领域建模的一点粗浅经验给需要的同学能有些许启发,少走弯路。
54791 72