2024年软件测试工程师如何从功能测试转成自动化测试?

前言

接触了太多测试同行,由于多数同行之前一直做手工测试,现在很迫切希望做[<u>自动化测试</u>](javascript:;),其中不乏工作5年以上的同行。

从事软件自动化测试已经近十年,接触过底层服务端、API 、Web、APP、H5 等等,对自动化算是比较了解。在此分享一下个人经验。

想做自动化,首先得了解一下自动化测试的一些常见问题。

也是面试时,必问的一些问题(这么简单的面试问题,你却答的一塌糊涂),如果对自动化完全不了解,每天在那嚷嚷要做自动化,都是空喊。

自动化测试一些问题

1. 什么是自动化测试?
  自动化测试,顾名思义,自动完成测试工作。
  通过一些自动化测试工具或自己造轮子实现模拟之前人工点点/写写的工作并验证其结果完成整个测试过程,这样的测试过程,便是自动化测试。
  自动化测试,看上去很美,感觉好像是第一次工业革命,它开创了以机器代替手工劳动的时代,实则不然。
  因为每一个自动化测试的case都是从手工测试做起的,如果没有手工测试的基础,是没法进行自动化测试。
2. 为什么要进行自动化测试
  为什么进行自动化测试,答案要从自动测试的收益和人肉测试的成本说起:
1)自动化测试节约成本(根据项目)
  毕竟自动化测试确实解放了一批人力(人力成本才是IT公司最大的成本),可以让机器没日没夜的执行一些重复劳动.
2)有些测试项目手工很难实现(手工成本较高)
  比如12306的压力测试、负载测试,同时找那么多人去测试不现实可以通过机器去模拟.
3)项目质量流程需要
  比如版本管理需要build verify,以保证check in的code不会影响版本库。
  类似于smoke test

自动化测试的优缺点

优点
  避免测试人员因重复劳动产生厌倦
  提高测试效率
  保证每次测试地一致性和可重复性
  更好的利用无人值守时间
  进行一些手工无法进行的测试

缺点
  维护成本相对比较高
  系统开发时间不一定能缩短
  还是得依赖手工测试,很多问题无法发现
  什么样的项目适合做自动化测试(dev手一抖,auto忙一宿)

有以下几个特点的项目比较适合自动化测试:

1. 项目变动少
2. 周期长
3. 项目资源足够(自动化不是一个人完成的,需要一帮人长期维护)

举例说明:

  • 互联网项目,一周内要上线,你不上线别人上线人家就不用你的,项目周期短,变动快,你自动化还没做好,项目说不定就下线了。
  • 比如某宝双12活动相关项目,一周之内就下线了。
  • 适合做自动化测试的项目,比如某宝客户端,每个release,大部分功能都不变,并且3-5年内项目不会下线,这个就比较适合自动化.


什么样的人适合做自动化测试?

这个问题是写给想要做自动化测试的人,或许你以为软件测试的门槛很低,低到任何人都可以做,随便点点就可以了,这个行业太low了,所以你想做自动化测试,提升自己的逼格,我想说手工测试并不low,如果让一个什么都不懂,一点业务基础都没有的人去做测试,能测出来问题吗?不要忽略你的业务知识储
你的业务知识储备的积累能让你成为不可替代的行业专家,而做自动化的码农会因为一个时代的更迭被小鲜肉替代。
  扯了这么多,究竟什么什么样的人能做自动化测试?
  我的理解分一下几点:
1)拥有代码能力
  掌握一门开发语言,java、Python、ruby、c#
2)熟悉被测系统
  比如你是web测试,你就得懂js、css、html、xpath
  你是移动端测试,你就得具备Android 开发基础和iOS开发基础,会debug app
  你是 C/S测试你就要很熟悉[<u>TCP</u>](javascript:;)、IP协议
3)掌握一套自动化测试框架(工具)
  比如
  selenium/appium
  nunit/testng
  robot framework/cucumber
4)善于学习,达到知其然知其所以然
IT行业变化太快,每隔一段时间就会出现一些新兴的东西,也会出现原来很火的东西逐渐没落,谁也无法预测。

  • 曾经诺基亚还是手机霸主,靠塞班一统天下,然而不思进取,落得个卖身求生存.
  • 曾经qtp很火,曾经selenium也很火,现在appium也很火
  • 软件行业从桌面软件到web端,又从web端迁移到移动端,谁也不知道下一个是什么。而我们作为软件行业的从业者,不能因为那些很火的东西不火了而让自己没落,一个人最为核心的能力就是学习能力。
    如果你善于学习,你就不必担心这些变迁,因为你可以毫无压力的迁移,
    selenium的原理你掌握了,学习appium简直小菜一碟,因为appium使用的是
    selenium WebDriver protocol 。
  • 如果你能做到知其然知其所以然,你也可以造轮子,改造appium,毕竟现在很多功能需要完善。
  • 如果你没有达到以上的几点,建议你还是做手工测试吧。
  • 如果你有代码基础,想要从事自动化测试怎么去学习?

1、很多初学者很纠结,学qtp还是学selenium
  我的建议是学selenium,开源的,免费的,你可以下载源码研究,去了解其原理,再者现在selenium的资料不要太多,随便搜搜一大堆,学起来比较轻松。
  不建议学selenium IDE录制,当然你可以通过录制一些然后转换为相应的脚本去学习,等你学好了selenium, 再去学appium你会有一种天然的似曾相识。
2、为什么不建议学QTP/UFT?
  因为收费/臃肿/现在做桌面软件测试的工作已经不太多了。
3、关于买书
  自动化工具类的书,不建议买,很多书已经过时了,并且质量渣渣,你买了那些书中的code已经不能用了,如果你真的想学,就去官网找example,去相应的社区和群交流,或者直接看API/源码.
当然,测试基础类的书籍,至少得看过一本,有系统性的知识。

总结:

新人学习自动化测试要:
  · 掌握一门开发语言
  · 掌握一些基础的知识
  · 自动化方面,少买书,多看测试框架的Document,多去技术社区交流
  · 不断学习,提升自己发现问题,解决问题的能力
  · 不做伸手党,多动手
 总而言之
  · 学习一门开发语言,Java/Python,学习一个测试工具selenium/appium,掌握一个测试框架,testng,cucumber 等
  · 平时多沉淀,然后抓住机遇,即可轻而易举的转型自动化测试。

  自动化测试相关教程推荐:

2023最新自动化测试自学教程新手小白26天入门最详细教程,目前已有300多人通过学习这套教程入职大厂!!_哔哩哔哩_bilibili

2023最新合集Python自动化测试开发框架【全栈/实战/教程】合集精华,学完年薪40W+_哔哩哔哩_bilibili

测试开发相关教程推荐

2023全网最牛,字节测试开发大佬现场教学,从零开始教你成为年薪百万的测试开发工程师_哔哩哔哩_bilibili

postman/jmeter/fiddler测试工具类教程推荐

讲的最详细JMeter接口测试/接口自动化测试项目实战合集教程,学jmeter接口测试一套教程就够了!!_哔哩哔哩_bilibili

2023自学fiddler抓包,请一定要看完【如何1天学会fiddler抓包】的全网最详细视频教程!!_哔哩哔哩_bilibili

2023全网封神,B站讲的最详细的Postman接口测试实战教学,小白都能学会_哔哩哔哩_bilibili

  总结:

 光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

如果对你有帮助的话,点个赞收个藏,给作者一个鼓励。也方便你下次能够快速查找。

如有不懂还要咨询下方小卡片,博主也希望和志同道合的测试人员一起学习进步

在适当的年龄,选择适当的岗位,尽量去发挥好自己的优势。

我的自动化测试开发之路,一路走来都离不每个阶段的计划,因为自己喜欢规划和总结,

测试开发视频教程、学习笔记领取传送门!!

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

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

相关文章

浅谈测试自动化selenium之POM模式

基于本人也是一个初学者&#xff0c;在运用POM模式的时候记录一下自己的学习笔记。 如果你是大神&#xff0c;那么可以略过&#xff0c;如果你是初学者&#xff0c;希望对你有帮助。 本文阐述了以下几个问题&#xff1a; 什么叫POM模式 为什么要用POM模式 POM模式的思想 POM模…

深度学习数据处理(一)

在PyTorch中&#xff0c;torch.Tensor是存储和变换数据的主要工具。如果你之前用过NumPy&#xff0c;你会发现Tensor和NumPy的多维数组非常类似。然而&#xff0c;Tensor提供GPU计算和自动求梯度等更多功能&#xff0c;这些使Tensor更加适合深度学习。 张量&#xff08;tensor&…

Android Studio 安装和使用

前些天&#xff0c;打开了几年前的一个Android Studio app项目&#xff0c;使用安卓虚拟机仿真app崩溃&#xff0c;怀疑是不是中间升级过Android Studio导致异常的&#xff0c;马上脑子一热卸载了&#xff0c;结果上次踩过的坑&#xff0c;一个没少又踩一次&#xff0c;谨以此文…

STM32的以太网外设+PHY(LAN8720)使用详解(7):以太网数据接收及发送测试

0 工具准备 1.野火 stm32f407霸天虎开发板 2.LAN8720数据手册 3.STM32F4xx中文参考手册 4.Wireshark1 以太网数据接收测试 1.1 以太网数据接收测试&#xff08;轮询&#xff09; 我们在主循环内轮询RX DMA描述符标志位查看是否接收到了数据&#xff0c;如果接收到了则将数据…

电子学会C/C++编程等级考试2022年12月(六级)真题解析

C/C++等级考试(1~8级)全部真题・点这里 第1题:区间合并(2022-12-六级) 给定 n 个闭区间 [ai; bi],其中i=1,2,...,n。任意两个相邻或相交的闭区间可以合并为一个闭区间。例如,[1;2] 和 [2;3] 可以合并为 [1;3],[1;3] 和 [2;4] 可以合并为 [1;4],但是[1;2] 和 [3;4] 不可…

Tg2520smn ((tcxo / vc-tcxo)高稳定性)

TG2520SMN是一款高稳定性的(TCXO/VC-TCXO)产品&#xff0c;其频率输出范围为10MHz至55MHz&#xff0c;提供多种电源电压选项&#xff0c;分别为1.8 V类型、2.8 V类型、3.0 V类型和3.3 V类型&#xff0c;该产品具备优异的频率/温度特性&#xff0c;最大的频率稳定性为0.5 10^6 …

word导入导出-Apache POI 和 Poi-tl

word 文件读取 使用Apache POI Word 进行读取文件 使用poi 时如果报ClassNotFoundException 等错误&#xff0c;请注意请求以下maven 文件的版本 Apache POI Word 说明文档&#xff1a;Apache POI Word 说明文档 maven 解决依赖冲突教程&#xff1a;https://www.cnblogs.com/…

企业数据传输文件的安全性是如何保障的?

随着数字化时代的兴起&#xff0c;企业对数据的依赖日益增加&#xff0c;数据已经成为业务决策和运营的核心。然而&#xff0c;企业在数据传输文件的安全性方面面临着严峻的挑战。本文将深入探讨企业数据传输文件安全性的重要性和意义&#xff0c;以及如何有效地应对这一挑战。…

HrSegNet 23年裂缝检测新文章基于PaddelPaddle和Paddleseg的复现

本文章是对2023年发表在Automation in Construction上论文 Real-time High-Resolution Neural Network with Semantic Guidance for Crack Segmentation 的复现。 我参考了作者上传至github的代码&#xff0c;并得到了作者的帮助。https://github.com/CHDyshli/HrSegNet4Cra…

通过生成表征的自条件图像生成

文章目录 摘要1、简介2、相关工作3、方法4、结果4.1、设置4.2、无条件类别的生成4.3、无分类器指导4.4、消融实验4.5、计算成本4.6、定性结果 5、讨论 摘要 https://arxiv.org/pdf/2312.03701.pdf 本文提出了表示条件图像生成&#xff08;Representation-Conditioned Image Ge…

【Linux/gcc】C/C++——编译过程

前提&#xff1a;WSL2&#xff08;Ubuntu&#xff09;、gcc编译器。gcc安装命令&#xff1a; sudo apt-get install gcc 查看gcc版本&#xff1a; 目录 1、编译过程 1.1、预处理 1.2、编译与汇编 1.3、链接 2、gcc实验 2.1、预处理 2.2、编译 2.3、汇编 2.4、链接 1、…

前端学习——vuex的入门

学习一门技术最快捷的方式就是先了解其概念和使用场景&#xff0c;毕竟任何技术的出现都是为了解决某一个场景下的通用解决方案&#xff0c;并且使用最合理的方式去解决问题。 那么什么是vuex&#xff1f; Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式 库。它采用集中…