手工测试如何转向自动化测试

news2025/1/16 0:58:17

手工测试的迷茫:除了重复劳动,到底还有什么?

我是在2008年毕业的,三本的学校,不上不下的专业水平,毕业的时候,恰好遇到了金融危机。校园招聘里阴差阳错的巧合,让我走上了软件测试工程师的道路。

入职第一天,来了个高大上的讲师,记得他是这么说的:

“软件测试的要求非常高,做好软件测试很不容易”、“国外的软件测试,很多都由多年经验的资深开发人员来做的”、“软件质量与测试非常的重要”、“软件工程离不开测试”、“测试用例的设计方法有xxx、xxx、xxx、xxx”。

依稀记得培训的最后还提到了高端而且神秘的自动化测试、性能测试、安全测试。刚毕业的我们上完课都很高兴,原来我们做的工作这么有前途啊。心里更是暗暗下了决心,要把工作做好,争取早日加工资。。。嗯,当然重点是早日加工资。

然而才真正工作了半年,我就发现了一个问题:每天我怎么就在做一些一模一样的事啊。每天有点不完的网页,写不完的文档。培训时说好的高大上呢,说好的自动化测试、性能测试、安全测试呢?

09年的时候,测试人员都爱去某论坛上交流,我至今记忆犹新的是,整个版面打开来,一半是问大家薪资多少了,另一半是“工作n年了,感觉很迷茫”。每个人对迷茫的描述都不一样,但问题本质都一样:除了重复劳动,我们还有什么?

一个软件测试人员,有什么是拿得出手的核心技术,有什么东西能使你区别于应届生?

当时我就有个想法,我不想一直做重复劳动了,即使我在入职时是声称我胜任并且善于应付重复劳动的。然而我并不擅长机械和重复的劳动,也不喜欢重复劳动。

自动化测试的困惑:自动化到底是什么?

我有一个核心观点:软件测试的核心是效率。而不是什么设计方法,也不是什么测试思路。

不管你有没有方法,有没有思路,只要时间花下去,总能找到bug。这也是为什么很多时候,测试人员累死累活测了半天的应用。来一个外行的xx总监,随便点开来就能发现一两个测试人员漏掉的bug。久而久之总监们就会质疑,测试人员到底有什么用,这么明显的问题发现不了。

然而事实上,发现一个问题不难,发现一百个问题也不难,难的是在有限的时间里发现足够多的问题。也就是说,外行也能找到bug,但外行不可能在有限的时间内找到足够多的反映软件质量问题的信息。

”是雇十个应届生点点点来测,还是雇三个资深测试来做系统化的测试?“、”是买商业工具做自动化,还是自己研发测试工具自己搞一套?“

软件测试一切的一切都是围绕着效率这个点来思考的。

也正是为了提高效率,测试必须要引入自动化的手段。注意,不是替代不替代手工测试的问题,而是必须引入自动化才能进一步提高效率。手工测试仍然在,只要他在一些领域上效率高于自动化,就仍然会继续存在下去。

自动化测试,并不是QTP,不是selenium,不是任何一种工具。

自动化测试,并不是回归测试,不是冒烟测试,不是任何一种测试阶段或类型。

自动化是一种提高效率的方法和理念。自动化测试,仅仅是自动化的一种应用。从自动化测试开始,自动化部署,自动化发布,自动化日志收集,自动化环境管理,等等,越来越多的东西都在被自动化。这些自动化的东西我把他们划分到一起,他们的学习方法都是一样的,理念都是类似的。用到的开发语言也都是通用的。可能这些领域以后真的会融合成为一个技术领域。

职业转型的路,到底该怎么走?

之前,我已经写过了自动化测试的学习路线:如何学习自动化测试?

另外在本专栏里也发布了我总结的自动化测试基础系列:

接口测试基础,配置管理基础,持续集成基础,性能测试基础,python基础,selenium基础等等,后续还会继续补充。

其实这些都掌握的话,你已经可以轻松地完成转型了。唯一的问题就是掌握这些东西的过程不是那么轻松。我一直认为,技术培训并不应去做知识的灌输,技术知识,是灌输不进去的;谁也不能代替你看完那一篇帮助文档。技术培训分享最重要的是帮助大家培养自己的自学能力,带大家入个门,入了门,有了自学能力,再加上正确的方向,最终我们都能提高技术水平,到达自己想要的高度。

最后

我从自己开始转型的2010年到真正理解了自动化的2014年,再到一直做自动化,做到转型为devops的现在。这中间真是走了很多弯路,踩了很多坑,接触过各种公司和项目:小到初创企业,大到跨国公司,外资,内资,合资,人力外包,项目外包,电商网站,互联网金融,云计算平台。主要用过四种语言,十几种工具,见过各种历史遗留框架、工具、平台,写过大大小小的类库、工具、改造过平台。虽然我只工作了9年,但换了7次单位,真是说多了都是泪啊。。。

我这次想分享的,是我当时转型的经历、对现在测试行业技术大方向的分析和转型方向的建议。另外通过这次分享也希望揭开自动化测试、测试开发、持续集成等等的神秘面纱,让大家了解真实的自动化测试相关人员的工作是怎样的,供大家在自己转型时参考。

最后: 为了回馈铁杆粉丝们,我给大家整理了完整的软件测试视频学习教程,朋友们如果需要可以自行免费领取 【保证100%免费】

 全套资料获取方式:点击下方小卡片自行领取即可

 

 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

运算放大器基础(一)

5.1.1反馈的基本概念 在电子电路中,将 输出量 (输出电压或输出电流)的一部分或全部通过一定的电路形式作用到 输入回路,用来影响其输入量(放大电路的输入电压或输入电流)的措施称为 反馈。具体框图如下:反馈类型判断 正反馈与负反馈 正反馈&…

CHI协议之DVM操作

本文部分内容参考了CHI的Cache Stashing和DVM操作_谷公子的藏经阁的博客-CSDN博客 □ 注意此处RNF发送的noncopyback data, 只有8byte; □ MN会发送两个SNP给每个RNF, 因为一个SNP,携带的信息不够; □ 如果MN具备将来自同一个源头的non-sync/sync dvmop操…

详解Mybatis之自动映射 自定义映射问题

编译软件:IntelliJ IDEA 2019.2.4 x64 操作系统:win10 x64 位 家庭版 Maven版本:apache-maven-3.6.3 Mybatis版本:3.5.6 文章目录 一、Mybatis中的自动映射是什么?二、Mybatis中的自定义映射是什么?三、为什…

华东师范大学计算机考研分析

关注我们的微信公众号 姚哥计算机考研 更多详情欢迎咨询 华东师范大学(B)考研难度(☆☆☆☆) 华东师范大学计算机考研招生学院是计算机科学与技术学院、软件工程学院网址和数据科学与工程学院。目前均已出拟录取名单。 华东师…

前端JS 展示上传图片缩略图(本地图片读取)

需求: 点击上传图片按钮,选择图片以后,不请求后端接口,直接将图片展示在缩略图中。 解决方案: 使用 FileReader 和 FileReader 中的 readAsDataURL 方法。 第一步 从input[type“file”] (上传文件标签) 里面拿到fil…

解密直播美颜SDK和滤镜算法的工作原理:如何实现实时美化效果

直播美颜已成为许多直播平台的核心功能之一。通过美颜技术,主播可以在直播过程中实时改善自己的外貌,给观众带来更好的视觉体验。而实现这一效果的关键在于直播美颜SDK和滤镜算法。 一、美颜SDK的工作原理 美颜SDK是一种集成了美颜算法的软件开发工具包…

亚马逊奥地利卖家出口额创新高!2022年突破5.5亿欧元!

近日亚马逊报告说,2022年奥地利中小企业的出口额达到5.5亿欧元以上,比上一年增长了10%,延续了跨境销售的趋势。去年,奥地利卖家在亚马逊上销售了约2000万件产品。 亚马逊宣称,通过其全球22个站点,奥地利的…

[ 容器 ] consul 容器服务更新与发现

目录 什么是服务注册与发现什么是consulconsul 部署consul 服务器 registrator服务器consul-templateconsul 多节点 什么是服务注册与发现 服务注册与发现是微服务架构中不可或缺的重要组件。起初服务都是单节点的,不保障高可用性,也不考虑服务的压力承…

学习 C语言第二天 :C语言数据类型和变量(下)

目录: 1.变量的介绍以及存储 2.算术操作符、赋值操作符、单目操作符 3.scanf和printf的介绍 1.变量的介绍以及存储 1.1.变量的创建 了解了什么是类型了,类型是用来创建变量的。 变量是什么呢?在C语言当中不经常变的量称为常量,经常…

Python实战项目——O2O_优惠券使用情况分析(五)

O2O优惠券线下使用情况数据分析 一 项目简介 随着移动设备的完善和普及,移动互联网各行各业进入了高速发展阶段,这其中以O2O(Online to Offline)消费最为吸引眼球。据不完全统计,O2O行业估值上亿的创业公司至少有10家…

【Docker】Docker的服务更新与发现

consul 一、服务注册与发现1. 服务注册与发现的概念2. 服务发现的机制 二、consul 的概念1. 什么是 consul2. consul 的特性 三、consul 的部署1. consul 服务器架构2. consul 的部署过程2.1 环境配置2.2 consul 服务器建立 Consul 服务查看集群信息通过 http api 获取集群信息…

Jenkins 安装构建

一、CentOS 安装 1. 使用该存储库 sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io-2023.key 2. 安装 Java yum install fontconfig java-11-openjdk配…

聚焦APP开发:理解并预防常见的安全问题

移动应用程序是我们日常生活中不可或缺的一部分,它帮助我们处理信息,完成任务,甚至更多。因此,移动应用程序在我们日常生活中的重要性是毋庸置疑的。随着越来越多的人使用智能手机和平板电脑进行工作和娱乐,移动应用程…

项目管理系统软件有哪些?别错过!这款超好用!(免费试用)

如今,很多企业都面临着复杂的业务流程和庞大的项目数量,为了更好地管理和协调这些项目,企业需要一个高效的项目管理系统。然而,传统的项目管理系统已经无法满足企业的需求了。 企业需要一种新型的项目管理系统来应对这些挑战。一…

Spring Cloud【SkyWalking网络钩子Webhooks、SkyWalking钉钉告警、SkyWalking邮件告警】(十六)

目录 分布式请求链路追踪_SkyWalking网络钩子Webhooks 分布式请求链路追踪_SkyWalking钉钉告警 分布式请求链路追踪_SkyWalking邮件告警 分布式请求链路追踪_SkyWalking网络钩子Webhooks Wbhooks网络钩子 Webhok可以简单理解为是一种Web层面的回调机制。告警就是一个事件&a…

mybatisPlus进阶篇

文章目录 映射自动映射规则表映射字段映射字段失效视图属性 条件构造器条件构造器介绍 等值查询eqallEqne 范围查询gtge(>)lt(<)le(<)betweennotBetween 模糊查询likenotLikelikeLeftlikeRight 判空查询isNullisNotNull 包含查询innotIninSqlnotInSql 分组查询groupBy…

【Java基础教程】(四十七)网络编程篇:网络通讯概念,TCP、UDP协议,Socket与ServerSocket类使用实践与应用场景~

Java基础教程之网络编程 &#x1f539;本节学习目标1️⃣ 网络编程的概念&#x1f50d; TCP和 UDP协议 2️⃣ Socket 与ServerSocket 类3️⃣ 网络编程实战——Echo 程序4️⃣ 应用场景&#x1f33e; 总结 &#x1f539;本节学习目标 了解多线程与网络编程的操作关系&#xff…

JavaWeb黑马程序员——数据库相关概念

本文前提 这是黑马程序员JavaWeb视频里的笔记资源&#xff0c;我只是照搬过来以便于日后复习。 视频链接&#xff1a;https://www.bilibili.com/video/BV1Qf4y1T7Hx?p3&vd_sourced4bb8e491e28c81c780f2db9d6123a41 MySQL基础 今日目标&#xff1a; 完成MySQL的安装及登…

如何利用JMeter测试带有Token参数的POST接口

JMeter有一个很强大的功能就是可以用来做接口测试。 接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换&#xff0c;传递和控制管理过程&#xff0c;以及系统间的相互逻辑依赖关系…

如何将路径字符串数组(string[])转成树结构(treeNode[])?

原文链接&#xff1a;如何将路径字符串数组(string[])转成树结构(treeNode[])&#xff1f; 需求 这里的UI使用的是Element-Plus。 将一个路径字符串数组&#xff08;当然也可能是其他目标字符串数组&#xff09;&#xff0c;渲染成树。 /*source:/a/b/c/d/e/a/b/e/f/g/a/b/h/a…