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

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

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

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

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

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

考虑自动化维护的成本

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

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

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

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

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

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

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

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

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

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

开发要具备质量思维

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

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

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

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

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

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

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

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

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

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

sylan215

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



http://www.chinasem.cn/article/776227

相关文章

性能测试介绍

性能测试是一种测试方法,旨在评估系统、应用程序或组件在现实场景中的性能表现和可靠性。它通常用于衡量系统在不同负载条件下的响应时间、吞吐量、资源利用率、稳定性和可扩展性等关键指标。 为什么要进行性能测试 通过性能测试,可以确定系统是否能够满足预期的性能要求,找出性能瓶颈和潜在的问题,并进行优化和调整。 发现性能瓶颈:性能测试可以帮助发现系统的性能瓶颈,即系统在高负载或高并发情况下可能出现的问题

字节面试 | 如何测试RocketMQ、RocketMQ?

字节面试:RocketMQ是怎么测试的呢? 答: 首先保证消息的消费正确、设计逆向用例,在验证消息内容为空等情况时的消费正确性; 推送大批量MQ,通过Admin控制台查看MQ消费的情况,是否出现消费假死、TPS是否正常等等问题。(上述都是临场发挥,但是RocketMQ真正的测试点,还真的需要探讨) 01 先了解RocketMQ 作为测试也是要简单了解RocketMQ。简单来说,就是一个分

【测试】输入正确用户名和密码,点击登录没有响应的可能性原因

目录 一、前端问题 1. 界面交互问题 2. 输入数据校验问题 二、网络问题 1. 网络连接中断 2. 代理设置问题 三、后端问题 1. 服务器故障 2. 数据库问题 3. 权限问题: 四、其他问题 1. 缓存问题 2. 第三方服务问题 3. 配置问题 一、前端问题 1. 界面交互问题 登录按钮的点击事件未正确绑定,导致点击后无法触发登录操作。 页面可能存在

业务中14个需要进行A/B测试的时刻[信息图]

在本指南中,我们将全面了解有关 A/B测试 的所有内容。 我们将介绍不同类型的A/B测试,如何有效地规划和启动测试,如何评估测试是否成功,您应该关注哪些指标,多年来我们发现的常见错误等等。 什么是A/B测试? A/B测试(有时称为“分割测试”)是一种实验类型,其中您创建两种或多种内容变体——如登录页面、电子邮件或广告——并将它们显示给不同的受众群体,以查看哪一种效果最好。 本质上,A/B测

【Linux 从基础到进阶】Ansible自动化运维工具使用

Ansible自动化运维工具使用 Ansible 是一款开源的自动化运维工具,采用无代理架构(agentless),基于 SSH 连接进行管理,具有简单易用、灵活强大、可扩展性高等特点。它广泛用于服务器管理、应用部署、配置管理等任务。本文将介绍 Ansible 的安装、基本使用方法及一些实际运维场景中的应用,旨在帮助运维人员快速上手并熟练运用 Ansible。 1. Ansible的核心概念

如何使用Ansible实现CI/CD流水线的自动化

如何使用Ansible实现CI/CD流水线的自动化 持续集成(CI)和持续交付(CD)是现代软件开发过程中的核心实践,它们帮助团队更快地交付高质量的软件。Ansible,作为一个强大的自动化工具,可以在CI/CD流水线中发挥关键作用。本文将详细介绍如何使用Ansible实现CI/CD流水线的自动化,包括设计流水线的结构、配置管理、自动化测试、部署、以及集成Ansible与CI/CD工具(如Jen

Verybot之OpenCV应用一:安装与图像采集测试

在Verybot上安装OpenCV是很简单的,只需要执行:         sudo apt-get update         sudo apt-get install libopencv-dev         sudo apt-get install python-opencv         下面就对安装好的OpenCV进行一下测试,编写一个通过USB摄像头采

BIRT 报表的自动化测试

来源:http://www.ibm.com/developerworks/cn/opensource/os-cn-ecl-birttest/如何为 BIRT 报表编写自动化测试用例 BIRT 是一项很受欢迎的报表制作工具,但目前对其的测试还是以人工测试为主。本文介绍了如何对 BIRT 报表进行自动化测试,以及在实际项目中的一些测试实践,从而提高了测试的效率和准确性 -------

可测试,可维护,可移植:上位机软件分层设计的重要性

互联网中,软件工程师岗位会分前端工程师,后端工程师。这是由于互联网软件规模庞大,从业人员众多。前后端分别根据各自需求发展不一样的技术栈。那么上位机软件呢?它规模小,通常一个人就能开发一个项目。它还有必要分前后端吗? 有必要。本文从三个方面论述。分别是可测试,可维护,可移植。 可测试 软件黑盒测试更普遍,但很难覆盖所有应用场景。于是有了接口测试、模块化测试以及单元测试。都是通过降低测试对象

文章解读与仿真程序复现思路——电力自动化设备EI\CSCD\北大核心《考虑燃料电池和电解槽虚拟惯量支撑的电力系统优化调度方法》

本专栏栏目提供文章与程序复现思路,具体已有的论文与论文源程序可翻阅本博主免费的专栏栏目《论文与完整程序》 论文与完整源程序_电网论文源程序的博客-CSDN博客https://blog.csdn.net/liang674027206/category_12531414.html 电网论文源程序-CSDN博客电网论文源程序擅长文章解读,论文与完整源程序,等方面的知识,电网论文源程序关注python