【原创】全自动化测试离我们还有多远?

2024-03-05 10:32
文章标签 测试 自动化 原创 多远

本文主要是介绍【原创】全自动化测试离我们还有多远?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

自动化测试是目前的趋势,这个大家肯定都有目共睹的了,很多公司的招聘现在也是直接用测试开发岗来替代测试岗。

而早在国内有这个变化前,国外的微软、Google 等大公司也在逐渐减少专职的软件测试岗,让开发承担起质量保证的主要职责。

那么问题来了,国内的全自动化测试离我们还有多远?

考虑自动化维护的成本

对于使用自动化的人来说,可能只是看到自动化用例执行的速度和覆盖度,但是对于维护自动化的人来说,时间的投入成本是绕不开的问题。

比如执行环境的维护,比如脚本的维护,比如问题的跟进修复等等都是需要时间投入,如果只是单纯的简单问题修复其实还好,一旦涉及到复杂问题的解决,更是耗时耗力。

所以,自动化并不是我们想象的那么美好,特别是在没有开发配合的情况下,有时候我们可能还需要去考虑怎么绕过我们软件自身的逻辑来保证自动化执行的效果。

那么在全力推进自动化之前,一定要考虑好基础设施、技术能力和人力成本,之后才去制定合理的计划。

自动化没法进行探索式测试

虽然现在的 AI 技术进行的如火如荼,但是自动化大部分都还是通过明确的输入来验证明确的输出,这个特性决定了他只能做回归测试。

但是有经验的测试人员都会发现,我们发现的很多 bug 其实都是意料之外的,既然是意料之外,就是我们可能没有这个预期到要去这么测试,只是测试过程中通过发散性思维进行了扩展测试,然后发现的问题,专业点的把这个过程叫做探索式测试。

打个简单的比方,前几天我测试一个逻辑 A,在检测日志信息时,偶尔发现了另一个逻辑的日志有点异常,于是就去跟进了一下,从而发现了一个问题,如果是自动化,他根本不可能在测试 A 逻辑的时候还去关注 B 逻辑的问题。

目前国内公司开发人员的质量意识,还没足够到修改 A 就保证只有 A 功能受影响的水平,同时产品人员的意识,也没有足够到提前把所有场景都细化成明确的需求,这就难免会出现需求转化为实现,以及实现转化为用户使用体验的不一致性,这部分目前都是通过人工来验证的。

目前的自动化实现,决定了它没法进行探索式测试,所以没有人工参与的自动化暂时肯定是无法完全取代人工的。

开发要具备质量思维

通过上面两点的说明,应该很容易看到,人在自动化测试过程中还是起关键作用。

微软和 Google 这些大公司之所以能减少专业的测试人员,是因为他们已经经过长时间的培养和灌输,让开发同学具备了很好的质量思维,开发同学已经可以取代之前专业测试人员在做的事情了。

比如可以支持测试工具、测试系统的维护,因为可以在需求实现过程中就考虑自动化的落实,所以让自动化实现的成本降低。

比如可以兼顾部分的探索式测试的职责,能够在代码编写和自测时都考虑到各种可能出现的场景,从而在编码阶段就可以规避问题的出现。

国内目前的环境看,如果要开发人员达到这样的思维,还是需要一段时间的过渡。

举个简单的例子,我看到很多开源的 Python 库,里面都是自带 unittest 集合的,国内有多少的开发人员会自己自觉的去写单元测试呢?何况还是开源的呢。

测试前移以及全面的自动化的前提,一定是开发人员的配合和支持,如果这个前提不在,测试人员自己再怎么努力也是事倍功半。

以上,之前我有写过几篇文章讨论测试人员学习编程的事情,测试人员会编程确实可以推动自动化测试的落实,但是都仅限于回归测试,如果要完全取代业务测试,还是需要天时、地利和人和三个要素齐备才行,不知道你是否也是这么认为的呢?欢迎留言说说你的看法。

当然,如果你认可我的观点,请帮忙转发 + 点个「在看」让更多人看到,谢谢。

本文首发于公众号「sylan215」,十年测试老司机的原创干货,关注送绝版资料

sylan215

这篇关于【原创】全自动化测试离我们还有多远?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


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

相关文章

Python实现自动化接收与处理手机验证码

《Python实现自动化接收与处理手机验证码》在移动互联网时代,短信验证码已成为身份验证、账号注册等环节的重要安全手段,本文将介绍如何利用Python实现验证码的自动接收,识别与转发,需要的可以参考下... 目录引言一、准备工作1.1 硬件与软件需求1.2 环境配置二、核心功能实现2.1 短信监听与获取2.

Python实现Microsoft Office自动化的几种方式及对比详解

《Python实现MicrosoftOffice自动化的几种方式及对比详解》办公自动化是指利用现代化设备和技术,代替办公人员的部分手动或重复性业务活动,优质而高效地处理办公事务,实现对信息的高效利用... 目录一、基于COM接口的自动化(pywin32)二、独立文件操作库1. Word处理(python-d

Python使用DrissionPage中ChromiumPage进行自动化网页操作

《Python使用DrissionPage中ChromiumPage进行自动化网页操作》DrissionPage作为一款轻量级且功能强大的浏览器自动化库,为开发者提供了丰富的功能支持,本文将使用Dri... 目录前言一、ChromiumPage基础操作1.初始化Drission 和 ChromiumPage

Python实现自动化表单填写功能

《Python实现自动化表单填写功能》在Python中,自动化表单填写可以通过多种库和工具实现,本文将详细介绍常用的自动化表单处理工具,并对它们进行横向比较,可根据需求选择合适的工具,感兴趣的小伙伴跟... 目录1. Selenium简介适用场景示例代码优点缺点2. Playwright简介适用场景示例代码

Python自动化处理手机验证码

《Python自动化处理手机验证码》手机验证码是一种常见的身份验证手段,广泛应用于用户注册、登录、交易确认等场景,下面我们来看看如何使用Python自动化处理手机验证码吧... 目录一、获取手机验证码1.1 通过短信接收验证码1.2 使用第三方短信接收服务1.3 使用ADB读取手机短信1.4 通过API获取

Rust中的Drop特性之解读自动化资源清理的魔法

《Rust中的Drop特性之解读自动化资源清理的魔法》Rust通过Drop特性实现了自动清理机制,确保资源在对象超出作用域时自动释放,避免了手动管理资源时可能出现的内存泄漏或双重释放问题,智能指针如B... 目录自动清理机制:Rust 的析构函数提前释放资源:std::mem::drop android的妙

Python自动化Office文档处理全攻略

《Python自动化Office文档处理全攻略》在日常办公中,处理Word、Excel和PDF等Office文档是再常见不过的任务,手动操作这些文档不仅耗时耗力,还容易出错,幸运的是,Python提供... 目录一、自动化处理Word文档1. 安装python-docx库2. 读取Word文档内容3. 修改

Python自动化办公之合并多个Excel

《Python自动化办公之合并多个Excel》在日常的办公自动化工作中,尤其是处理大量数据时,合并多个Excel表格是一个常见且繁琐的任务,下面小编就来为大家介绍一下如何使用Python轻松实现合... 目录为什么选择 python 自动化目标使用 Python 合并多个 Excel 文件安装所需库示例代码

SpringBoot中整合RabbitMQ(测试+部署上线最新完整)的过程

《SpringBoot中整合RabbitMQ(测试+部署上线最新完整)的过程》本文详细介绍了如何在虚拟机和宝塔面板中安装RabbitMQ,并使用Java代码实现消息的发送和接收,通过异步通讯,可以优化... 目录一、RabbitMQ安装二、启动RabbitMQ三、javascript编写Java代码1、引入

Nginx设置连接超时并进行测试的方法步骤

《Nginx设置连接超时并进行测试的方法步骤》在高并发场景下,如果客户端与服务器的连接长时间未响应,会占用大量的系统资源,影响其他正常请求的处理效率,为了解决这个问题,可以通过设置Nginx的连接... 目录设置连接超时目的操作步骤测试连接超时测试方法:总结:设置连接超时目的设置客户端与服务器之间的连接