什么才是自动化测试框架?最流行的自动化测试框架整理,你的进阶之路...

news2024/10/7 10:25:56

目录:导读

    • 前言
    • 一、Python编程入门到精通
    • 二、接口自动化项目实战
    • 三、Web自动化项目实战
    • 四、App自动化项目实战
    • 五、一线大厂简历
    • 六、测试开发DevOps体系
    • 七、常用自动化测试工具
    • 八、JMeter性能测试
    • 九、总结(尾部小惊喜)


前言

Python自动化测试:https://www.bilibili.com/video/BV16G411x76E

什么是测试自动化框架?

自动化测试框架就是用于测试自动化的框架。具体来说,它提供了自动化测试用例编写、自动化测试用例执行、自动化测试报告生成等基础功能。

我们只需要基于这个框架,完成和业务高度相关的测试用例设计和实现即可。另外,框架会为我们处理好复杂度与扩展性的问题,我们无需为此操心。

每一个测试人员都应该了解每种框架的优缺点,以帮助你的团队更好地确定最适合的测试的框架,以达到事半功倍。

使用自动化测试框架的好处:
更全的测试范围;
降低脚本维护成本;
节省人力成本;
提高测试速度和效率;
可重用的测试代码;
易于报告;

根据需求使用适配的自动化测试框架有助于加快测试过程,并消除人为错误。它还使测试维护更加容易,加快测试进度,节省成本、时间和精力。此外,框架QA团队能够充分开发、执行和报告测试过程,同时还使代码可在多种情况下重用。

最流行的自动化测试框架类型

团队根据团队规模、经验水平、用户需求等因素来选择测试框架。以下是五种最流行的框架及其优缺点:

1、线性框架
这是最基本的框架类型。它通常被称为“记录和回放(record and playback)”框架。
在这个过程中,测试代码的创建和执行是按线性或顺序编写的——测试人员手动记录每一个步骤,并自动回放记录的脚本。这些步骤包括导航、用户输入和检查点。它最适合小型应用程序或团队。

在此过程中,测试代码的创建和执行以线性或顺序方式编写-测试人员手动记录每个步骤并自动播放记录的脚本。这些步骤包括导航,用户输入和检查点。最适合小型应用程序或小团队。

优点:
线性框架最大的好处是生成测试用例的速度快,直接录制;无须代码基础,无须手动编写测试代码,因此门槛较低、易于上手。

缺点:
然而线性框架的不足之处也很明显:录制的脚本是固定的(hardcode),不可重用。这意味着,当应用发生微小变化时,上一次录制的脚本可能就无法使用了,需要重新录制(rework),从而产生大量的后期维护成本。

2、基于模块化的框架
顾名思义,此框架允许将被测应用程序划分为单独的模块,单元或部分。每个模块都会为它们创建独立的测试脚本。因此,每个模块及其测试脚本的组合可以构建代表各种测试案例的更大的测试。

优点:
该框架在创建模块时使用抽象。因此,应用程序更改将只影响与它们相关联的测试脚本所涉及的模块,而不影响其他部分。
高度的模块化,这使得维护更加容易且具有成本效益。
创建测试用例所需的精力最少,因为可以重复使用不同模块的测试脚本。

缺点:
如果没有语言开发基础,则建立框架可能会很困难。
由于将数据硬编码到测试脚本中,因此无法重复使用数据集——因为测试是单独执行的。

3、库结构框架
该库体系结构框架建立在模块化框架的基础上,但具有其他好处。这样做的好处是,它不仅可以将被测应用程序划分为测试脚本,还可以将测试脚本中的相似任务划分为通用功能。
然后创建一个库,该库构成了AUT的常用功能,可以在需要时由测试脚本调用。

优点:
高度的模块化,这使得测试维护简单且预算友好。
它具有高度的可重用性,因为它的公共函数库可以被几个测试脚本使用。

缺点:
框架中引入的库使其更加复杂。
测试数据也被硬编码到测试脚本中。因此,数据中的更改必须适用于测试脚本。
测试脚本的开发需要更多的时间和技术。

4、数据驱动框架
在数据驱动框架中,测试数据和测试脚本是分离的。在许多测试场景中,需要使用不同的测试数据多次测试同一功能或特性。如果测试数据是hardcode进测试脚本的,那么每更换一次测试数据都需要修改测试脚本。

这是很大的工作量。此时,可以使用数据驱动框架。具体来说,测试脚本是固定的,而测试数据可以从外部的数据文件,以Excel、CSV、SQL等形式作为参数传入测试脚本。这样,我们只需要维护一份脚本和一份数据文件即可。

优点:
总体来说,这种框架最大的好处就是易于维护。
测试脚本中的任何更改都不会影响测试数据。因此,可以避免对数据进行硬编码。
可以使用多组数据进行测试。
可以通过更改外部数据库中的测试数据来测试各种测试方案,从而减少所需的测试脚本数量。

缺点:
准备和计划框架的通用测试脚本,识别与格式化测试数据需要花费时间。
框架设计的使用需要经验丰富的测试人员,因为它的复杂性,需要具备多种编程语言知识。

5、关键字驱动框架
该框架是数据驱动框架的扩展。测试数据和测试脚本也被分离,不同的是,该框架要更进一步地将测试脚本中的通用功能剥离出来,形成关键词(keyword)。测试脚本本质上就是对一系列通用的或者自定义的关键词的调用。这样做的好处是关键词可以在多个测试中复用,并且测试脚本更加易于维护。不过,实现这样一个框架并非易事。

优点:
与数据驱动不同,运行此框架不需要脚本知识。
可以独立于被测应用程序构建测试脚本。
一个关键字可以在多个测试脚本中使用。因此该代码是可重用的。

缺点:
设计框架和维护关键字对自动化的专业知识要求比较高。
实现该框架的成本相对较高,而且设置起来也比较耗时和复杂。

下面是我整理的2023年最全的软件测试工程师学习知识架构体系图

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

无论你此刻身处何方,不要放弃奋斗的希望。每一次尝试都是成长的机会,每一次坚持都是迈向成功的步伐。相信自己,勇往直前,你就会发现,未来充满无限可能。

在生命的旅途中,只有不断努力和奋斗,才能迎来更加辉煌的明天。每一步的跨越,每一个困难的克服,都是你成长中的宝贵经验。坚持梦想,拼搏奋斗,你的未来必将更加辉煌!

每一次努力都是值得的,因为它们都会成为你成功路上的阶梯。不要放弃自己的梦想,坚持追求,只要你愿意付出,就没有什么事情是不可能实现的。相信自己,向前进!

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

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

相关文章

Smartbi助力航天百亿级遥测数据实现秒级查询

“Smartbi全程参与了火星探测任务、中国载人空间站建设任务,为航天任务参战单位提供专业、易用、高性能的实时数据查询分析监控平台,实现航天器飞行状态监测和预警,让咱们的科研人员专注聚焦科研工作,保障航天任务顺利进行。Smart…

Benewake(北醒) 快速实现 TF02-i-RS485 与电脑通信操作说明

目录 一、前言二、工具准备1. USB-RS485 转接器2. TF02-i-RS4853. 兆信直流电源4.连接线、绝缘胶带、螺丝刀5. PC:Windows 系统6. 串口助手软件 三、连接方式1. USB-RS485 转接板接口说明2. TF02-i-RS485 引脚定义3. 连接图 四、TF02-i-RS485 与电脑通信操作说明1. …

js中+new Date()

在学习js过程中遇到了这样的写法: var nownew Date(); 在这段代码中有一个号,上网查阅得知在前面加一个号是涉及到了隐式转换,也就是触发对象执行valueof进行求值。 valueof可以用来得到现在时间距离1970.1.1总的毫秒数: var …

Android12之源码手动生成aidl对应java/cpp/ndk/rust服务(一百五十三)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 人生格言: 人生…

【自动化项目实战】博客系统

目录 1.博客自动化测试用例 2.准备工作 3.将手工测试用例转化为自动化测试用例 3.1 初始化动作 3.2 登录 3.3 博客列表博客数量 3.4 查看全文 3.5 写博客&发表博客 3.6 删除 3.7 注销 4.总代码 🌈这节文章我们讲解一个实战项目——博客系统。首先我…

在前公司年薪38W,经人内推腾讯居然被拒了···

末流院校,带17人研发团队,到手38w股票20w,过硬的技术让我觉得可以出去“闯闯”;内推到某大厂,电话里聊得挺好,结果第二天说不给安排面试了…… 被拒绝很正常,想必应该是能力不足,不能满足公司的…

太难了,00后求求你们别这么卷了....

在程序员职场上,什么样的人最让人反感呢? 是技术不好的人吗?并不是。技术不好的同事,我们可以帮他。 是技术太强的人吗?也不是。技术很强的同事,可遇不可求,向他学习还来不及呢。 真正让人反感的,是技术平平&#x…

网络传输(传输介质、通信方式、交换方式)

目录 一、传输介质1.双绞线2.网线安装3.光纤4.无线信道 二、通信方式、交换方式1.通信方式2.同步方式3.交换方式 一、传输介质 1.双绞线 双绞线:将多根铜线按规则缠绕在一起,能够减少干扰;分为无屏蔽双绞线UTP和屏蔽双绞线STP,都…

PCIE学习

目录 一、PCIE结构1、层次结构2、数据包TLPDLLP PCIE寄存器配置1、基址寄存器的作用2、基址寄存器的位置 三、PCIE读取数据 一、PCIE结构 1、层次结构 绝大多数的总线或者接口,都是采用分层实现的。PCIe也不例外,它的层次结构如下: PCIe定…

MAYA绳子和铁链动画(3个例子)

一两条边中间加定位器 // Copyright (C) 2000-2001 Michael Bazhutkin - Copyright (C) 2000 studio Klassika // www.geocites.com/bazhutkin // bazhutkinmail.ru // // Rivet (button) 1.0 // Script File // MODIFY THIS AT YOUR OWN RISK // // Creation Date: Apri…

【Unittest】自动化测试框架核心要素

1、什么是Unittest框架? python自带一种单元测试框架 2、为什么使用UnitTest框架? >批量执行用例 >提供丰富的断言知识 >可以生成报告 3、核心要素: 1). TestCase(测试用例) 2). TestSuite(测试套件)…

系统分析师:七、软件工程(含系统规划)

一、软件生命周期 软件生命周期分为5个:获取过程、供应过程、开发过程、运行过程、维护过程,具体如下: 二、软件开发方法 2.1 形式化方法 该方法的思想是利用形式化语言,严格定义需求,并用数据推演的方法证明需求的性…

隐藏在Microsoft Designer背后的新科技,让人人都是设计师

编者按:在视觉图像设计中,用户的需求与最终的设计成品往往是“想象很美好,现实很骨感”。这通常是因为用户在与设计师沟通时,双方理解不一致,导致最终设计结果不尽如人意。但是,如果能够“自给自足”&#…

COMSOL晶体取向多晶材料Voronoi泰森多边形力学模拟

多晶材料几何模型模型构建采用的CAD Voronoi V2.3版本,可分图层对晶格进行绘制,分别导入有限元软件后实现三种晶体取向的差异性。 将构建好的Voronoi多晶体几何模型文件导入到COMSOL内,构建好晶体结构模型后,进行材料赋值操作&am…

Oracle常用傻瓜问题100问

大家在应用ORACLE的时候可能会遇到很多看起来不难的问题, 特别对新手来说, 今天我简单把它总结一下, 发布给大家, 希望对大家有帮助! 和大家一起探讨, 共同进步! 对ORACLE高手来说是不用看的. 1. Oracle安装完成后的初始口令? internal/oracle sys/change_on_install system/m…

Spring6《学习笔记(22版尚硅谷)》

Spring6 1、概述 1.1、Spring是什么? Spring 是一款主流的 Java EE 轻量级开源框架 ,Spring 由“Spring 之父”Rod Johnson 提出并创立,其目的是用于简化 Java 企业级应用的开发难度和开发周期。Spring的用途不仅限于服务器端的开发。从简单…

io之socket编程

写在前面 本文通过socket编程来实现一个简单的HttpServer。 1:单线程版本 我们使用单线程来实现一个HttpServer,如下: package dongshi.daddy.io.httpserver;import java.io.PrintWriter; import java.net.ServerSocket; import java.net.…

何为儒家的四书五经?

中国古代的四书五经是儒家经典之一,是中国古代最为重要的经典之一。它们包括了四书:《大学》、《中庸》、《论语》、《孟子》以及五经:《诗经》、《尚书》、《礼记》、《周易》、《春秋》,被誉为“经国之宝”、“德育之本”。 四书…

java服务接入SkyWalking时生成TraceId信息(基于logback)

java服务生成TraceId 一、背景二、配置2.1 pom文件引入依赖2.2 logback-spring.xml配置 三、启动项目 一、背景 springboot服务接入SkyWalking时,想要在控制台输出TraceId信息,如下图的效果: 二、配置 参考文章: https://juej…

2023最全性能测试学习指南【建议收藏】

浅谈软件测试中的性能测试 很多时候,我们都知道软件有黑白盒测试,但往往还遗漏掉了一个性能测试。 在下面的这篇文章中,就带领大家来了解性能测试。一起来学习吧~ 学习目录 一、 性能测试概念 二、 性能测试指标 三、 性能测试种类 四、 性能…