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

news2024/11/16 13:50:58

一、学习自动化之前,大家需要先知道自动化测试是啥?

自动化测试是将人为测试情形转化为机器执行的过程。一般说来,测试用例设计后,由测试员根据测试用例中描述的规则一步步地进行测试,得到测试结果和预期结果的行为。在这里过程中,为了更好地节省人力、时间或硬件资源,提升 测试效率,便加入了自动化测试的基本概念。

二、自动化测试如何学习,自动化测试又有那些类别

1.自动化测试的类别

什么可以自动化?实际上好多,可是通常容易曲解这个问题。

有两个主要类别,功能性和非功能性:

  • 功能性:测试软件的具体业务应用程序。
  • 非功能性:用于测试软件的其余要求(例如性能,安全性,数据存储等)。

性能测试主要是使用测试工具,Loadrunner、Jmeter等,对软件进行压力测试、负载测试、强度测试这种,是因为这种没法用手工进行替代,因此必须自动化。自动化功能测试:包括单元测试、接口测试、UI测试。主要是编写代码、脚本,让软件自动运行,发现缺陷,替代一部分的手工测试。但通常只有大的项目才需要进行自动化,中小型项目不建议使用自动化测试。目前企业对自动化测试需求越来越多。测试人员想要在未来有更好的发展,非常需要通过掌握自动化技术来增加自己有竞争力。

搞定性能、自动化测试,独当一面!(我目前也是在这个时期不过是属于经验较为浅的那一批,因此才20k左右)

先说性能测试,行业内是有很多一些误区和痛点的:

  • 只测不调,没法提供研发和运维人员执行建议
  • 无法定位问题,欠缺清晰的逻辑和数据证明价值
  • 性能测试工具≠性能测试
  • 性能测试技术体系落后(loadrunner),需要拥抱开源软件

如果要搞定这种问题,那样性能测试你得这么去学:

性能测试的基本概念和流程:常见问题分析、流行专用工具、方案设计性能测试工具:jmeter工具的使用、实战;jmeter多协议、拓展与定制;分布式压测与任务调度;性能监控:性能监控体系与监控数据采集性能实施:分布式服务压测,场景设计、场景执行;测试结果关联分析,TPS、响应时间、线程关联分析,压力和资源利用率关联分析性能分析与报告:jvm调试与系统调试;性能瓶颈分析。

性能测试你能到这个程度,15k那是妥妥的了,如果下面自动化测试的学习内容你能够掌握,那就可以直接冲击月薪25k!

搞定Python或者Java语言,建议先从Python入手,先学习Python的基本语法等。

web端的自动化测试:selenium安装、录制、处理;web控件、JavaScript脚本、PO模式;移动端APP自动化测试:appium使用、录制、元素定位方法;APP控件定位、交互,参数化用例;appium问题定位分析、源码分析、二次封装;服务端接口自动化测试:接口自动化测试框架request;接口请求构造、断言;json/xml请求、响应断言;headcookie处理、认证体系。

​现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
qq群号:485187702【暗号:csdn11】

三、自动化测试学习资源配套

  • 接口自动化测试

接口测试通常有两种方式实现测试,一类通过专用工具实现;另一种通过代码实现,专用工具更多的做调试,大多数互联网企业做接口测试都是通过代码实现。专用工具的测试,通常容易上手,针对“0”基础的人来说,不失为入门的首选,代码量有限,只要熟悉测试流程,会熟练使用专用工具就能够完成基本的接口测试,可是灵活性差,自动化程度没有代码高,市面上常见可以接口测试工具有postman、Jmeter等。代码的实现,主要是通过python。

  • web自动化测试

web自动化测试主要通过代码实现。例如常见的应用有:Python/Java+selenium。首先,还是需要熟练使用一门语言,非常熟练地运用至少一门编程语言。另一方面,需要学习web测试的流程步骤,是因为是基于页面默认人工操作,因此需要针对页面构成需要有一定的基础,例如:HTML+JavaScript+CSS,懂得页面元素的定位,以及常见的定位方式的使用等。如果有接口自动化的基础,那样学习web自动化相对会容易一些。再者,通过一些相对完整的项目去实战训练,才能够较好地学习并掌握web自动化的技能,通过反复的项目训练才能逐步地达到理想的效果。

  • 移动自动化测试

移动自动化测试主要也是通过专用工具和代码的方式实现。例如常见的有Python/Java+appium。
移动自动化除了哟啊掌握一门编程语言外,还需要学习移动测试的流程步骤,移动基本功能的和web端的基本类别。可是更多的需要测试一些非功能层面的应用,需要学习并使用一些手机模拟器(如:mumu)、第三方专用工具(如:GT专用工具)、adb命令、monkey等的使用,学习使用的专用工具较多,并且需要结合代码一起使用,这就要求学习的知识范围更加广泛,先从专用工具使用入手。另外:移动端的应用还需要进行异常测试,针对使用过程中出现网络、信息中断等异常场景的设计,针对手机本身使用过程中的场景结合实际项目训练学习。

四、自动化测试学习总结

总体来说自动化测试是测试思想的一个拓宽,为测试工程师提供了一个“触须”,其情形可以看成一个专用工具,可是本质上自动化测试还是一类思想。

顺便提一句,狭义上的自动化测试指的是基于GUI的自动化测试,而单元测试跟API测试,你有想过怎么用手工不借助任何专用工具去做吗?因此它们天生就属于测试自动化的范畴。

自动化最实在的优势在于——工作好找:有一个测试工程师(并不是本人)发现一个有趣的现象,她申请过的几乎所有测试职位,在招聘时都需要自动化测试经验。但当她开始工作后,就发现这种公司都试图做自动化测试,可是结果大多不怎么地。不过,尽管她参与的都是一些杯具的项目,不过她总能把这种杯具包装成洗具以应对下一次面试。

机会只眷顾有准备的人,这是一个靠真本事的社会。有时候,你之所以发展得不好,不是因为没有机遇,而是因为你没有准备好,造成机遇与你擦肩而过。如果你想要学习,什么时候开始都不晚,而不是瞻前顾后,你只要用尽全力,剩下的交给时间!

最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走! 希望能帮助到你!【100%无套路免费领取】

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

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

相关文章

9.9 Windows驱动开发:内核远程线程实现DLL注入

在笔者上一篇文章《内核RIP劫持实现DLL注入》介绍了通过劫持RIP指针控制程序执行流实现插入DLL的目的,本章将继续探索全新的注入方式,通过NtCreateThreadEx这个内核函数实现注入DLL的目的,需要注意的是该函数在微软系统中未被导出使用时需要首…

Redis之高并发超卖问题解决方案

目录 1. Redis高并发超卖问题解决方案 1.1 高并发场景超卖bug解析 1.2 Redisson 1. Redis高并发超卖问题解决方案 在高并发的秒杀抢购场景中,常常会面临一个称为“超卖”(Over-Selling)的问题。超卖指的是同一件商品被售出的数量超过了实…

Guacamole简介及centos7下搭建教程

简介 Guacamole是一款开源的远程桌面框架,它允许用户通过Web浏览器远程访问计算机资源。 官网地址:Apache Guacamole™ 官方文档:Installing Guacamole natively — Apache Guacamole Manual v1.5.3 架构 组件描述客户端浏览器用户通过支…

WebSocket 鉴权策略与技巧详解

WebSocket 作为实时通信的利器,越来越受到开发者的青睐。然而,为了确保通信的安全性和合法性,鉴权成为不可或缺的一环。本文将深入探讨 WebSocket 的鉴权机制,为你呈现一揽子的解决方案,确保你的 WebSocket 通信得心应…

基础课10——自然语言生成

自然语言生成是让计算机自动或半自动地生成自然语言的文本。这个领域涉及到自然语言处理、语言学、计算机科学等多个领域的知识。 1.简介 自然语言生成系统可以分为基于规则的方法和基于统计的方法两大类。基于规则的方法主要依靠专家知识库和语言学规则来生成文本&#xff0…

卷积神经网络(CNN)识别验证码

文章目录 一、前言二、前期工作1. 设置GPU(如果使用的是CPU可以忽略这步)2. 导入数据3. 查看数据4.标签数字化 二、构建一个tf.data.Dataset1.预处理函数2.加载数据3.配置数据 三、搭建网络模型四、编译五、训练六、模型评估七、保存和加载模型八、预测 …

定时器详解

定时器是一种控制任务延时执行,或者周期执行的技术。 作用:闹钟、定时邮件发送。 定时器的两种实现方式:Timer 、ScheduledExecutorService。 Timer定时器 API public Timer() 创建Timer定时器对象,并启动线程。 public voi…

【五年创作纪念日】

机缘 我成为创作者的过程并不复杂,可以说是一个自然的发展。我是一名软件工程师,日常的工作主要是编程和解决问题。在工作的过程中,我发现有很多时候我需要查找一些特定的技术问题或者寻找一些最佳实践来解决我遇到的问题。在这个过程中&…

TransFusionNet:JetsonTX2下肝肿瘤和血管分割的语义和空间特征融合框架

TransFusionNet: Semantic and Spatial Features Fusion Framework for Liver Tumor and Vessel Segmentation Under JetsonTX2 TransFusionNet:JetsonTX2下肝肿瘤和血管分割的语义和空间特征融合框架背景贡献实验方法Transformer-Based Semantic Feature Extractio…

CentOS7安装Docker运行环境

1 引言 Docker 是一个用于开发,交付和运行应用程序的开放平台。Docker 使您能够将应用程序与基础架构分开,从而可以快速交付软件。借助 Docker,您可以与管理应用程序相同的方式来管理基础架构。通过利用 Docker 的方法来快速交付,…

短视频ai剪辑矩阵分发saas系统源头技术开发

抖音账号矩阵系统是基于抖音开放平台研发的用于管理和运营多个抖音账号的平台。它可以帮助用户管理账号、发布内容、营销推广、分析数据等多项任务,从而提高账号的曝光度和影响力。 具体来说,抖音账号矩阵系统可以实现以下功能: 1.多账号多…

虚拟KOL搅动“网红圈”,出海品牌该如何与其合作?

近年来,虚拟KOL已经成为了数字营销领域的一股强大力量。虚拟网红的崛起在社交媒体平台上引起了广泛的关注,其独特的吸引力和影响力使其成为了各类品牌愿意与之合作的理想伙伴。特别是对于那些试图进军国际市场的出海品牌来说,与虚拟网红合作不…

系列六、Spring整合单元测试

一、概述 Spring中获取bean最常见的方式是通过ClassPathXmlApplicationContext 或者 AnnotationConfigApplicationContext的getBean()方式获取bean,那么在Spring中如何像在SpringBoot中直接一个类上添加个SpringBootTest注解,即可在类中注入自己想要测试…

JMeter 测试脚本编写技巧

JMeter 是一款开源软件,用于进行负载测试、性能测试及功能测试。测试人员可以使用 JMeter 编写测试脚本,模拟多种不同的负载情况,从而评估系统的性能和稳定性。以下是编写 JMeter 测试脚本的步骤。 第 1 步:创建测试计划 在JMet…

【Unity】EventSystem.current.IsPointerOverGameObject()对碰撞体起作用

本来我是用 EventSystem.current.IsPointerOverGameObject()来检测是否点击在UI上的,但是发现,他对我的碰撞体也是返回ture,研究半天。。。。找不出问题,然后发现我的相机上挂载了PhysicsRaycaster,去掉之后就好了,至于…

2014年全国硕士研究生入学统一考试管理类专业学位联考数学试题——解析版

文章目录 2014 年考研管理类联考数学真题一、问题求解(本大题共 15 小题,每小题 3 分,共 45 分)下列每题给出 5 个选项中,只有一个是符合要求的,请在答题卡上将所选择的字母涂黑。真题(2014-01&…

蓝桥杯物联网竞赛_STM32L071_3_Oled显示

地位: 对于任何一门编程语言的学习,print函数毫无疑问是一种最好的调试手段,调试者不仅能通过它获取程序变量的运行状态而且通过对其合理使用获取程序的运行流程,更能通过关键变量的输出帮你验证推理的正确与否,朴素的…

12V降3.3V100mA稳压芯片WT7133

12V降3.3V100mA稳压芯片WT7133 WT71XX系列是一款采用CMOS工艺实现的三端高输入电压、低压差、小输出电流电压稳压器。 它的输出电流可达到100mA,输入电压可达到18V。其固定输出电压的范围是2.5V~8.0V,用户 也可通过外围应用电路来实现可变电压…

使用dbutil工具类查询数据表时,servlet传入sql数据 返回结果为null

使用dbutil工具类查询数据表时,servlet传入sql数据 返回结果为null 原本数据表中该有的数据却返回为空 解决办法: 在jdbc.properties配置文件中url连接里面加上utf-8字符集 urljdbc:mysql://localhost:3306/qfedu?useUnicodetrue&characterEncodi…

Maven - 打包之争:Jar vs. Shade vs. Assembly

文章目录 Pre概述Jar 打包方式_maven-jar-pluginOverview使用官方文档 Shade 打包方式_maven-shade-pluginOverview使用将部分jar包添加或排除将依赖jar包内部资源添加或排除自动将所有不使用的类排除将依赖的类重命名并打包进来 (隔离方案)修改包的后缀…