自动化测试框架总结

news2024/11/26 16:49:15

前言

自动化测试框架是一套工具、库和规范的集合,用于支持和简化自动化测试的开发、执行和管理

提供一种结构化的方法来编写、组织和执行自动化测试用例,并提供一些常用的功能和工具,例如测试用例管理、结果报告生成、测试数据管理、日志记录等。

自动化测试框架的类型:行为驱动开发(BDD)、数据驱动、关键字驱动、模块驱动、web测试框架等。

同时,我也准备了一份软件测试视频教程(含接口、自动化、性能等),需要的可以直接在下方观看,或者直接关注VX公众号:互联网杂货铺,免费领取

软件测试视频教程观看处:

B站最用心的自动化测试教程,从入门到进阶(全600集),通俗易懂,2023最新版,学完即就业!学不会我立马退出测试界!

1. 行为驱动开发(BDD)

原理:

BDD框架的原理是基于测试用例的描述和期望结果的自然语言表达。BDD框架将测试用例和业务需求或用户故事关联起来,通过自然语言描述来编写测试用例。

框架将这些描述转化为可执行的代码,并执行测试用例。BDD框架往往使用Given-When-Then格式来描述测试用例的前提条件、操作和期望结果。

常用框架:

Cucumber、Behave、

优点:

提高开发团队和业务团队之间的沟通和协作,测试用例易于编写和阅读。

缺点:

需要额外的学习成本和时间来理解和使用BDD框架。

2. 数据驱动测试框架

原理:

数据驱动测试框架的原理是通过将测试逻辑和测试数据分离来实现。测试逻辑是指测试用例的代码和操作步骤,而测试数据是指用于测试的输入数据和期望结果。

框架将测试逻辑和测试数据分开,通过读取外部文件或数据库中的测试数据,并将其传递给测试用例的代码来执行。实现对不同数据集的测试,并提高测试用例的复用性和可维护性。

常用框架:

单元测试框架基本上都支持数据驱动,如TestNG、JUnit、PyTest等。

优点:

测试数据的变更不会影响测试逻辑,易于维护和扩展。

缺点:

需要额外的工作来准备和管理测试数据,可能会增加测试用例的复杂性。

3. 关键字驱动测试框架

原理:

关键字驱动测试框架的原理是通过使用关键字来描述测试步骤和操作。关键字可以是预定义的操作,也可以是自定义的操作。测试用例通过调用关键字来执行相应的操作。

关键字驱动测试框架将测试用例与测试逻辑分离,提高了测试用例的可读性和可维护性。框架将关键字与操作的实现细节进行关联,并执行相应的操作。

常用框架:

Robot Framework

优点:

测试用例易于阅读和编写,易于扩展和维护。

缺点:

需要对关键字进行管理和维护,可能需要额外的工作量。

4. 模块驱动测试框架

原理:

模块驱动测试框架的原理是将大型测试用例拆分为多个独立的模块,并将这些模块隔离开来进行测试。每个模块都有自己的测试逻辑和测试数据,可以独立运行和测试。

模块之间可以进行交互和依赖,从而模拟真实的测试场景。模块驱动测试框架提高了测试用例的可维护性和复用性。

常用框架:

unittest、TestNg等单元测试框架也支持模块驱动测试。

优点:

模块之间的独立性使得测试用例的编写和维护更加简单和可靠。

缺点:

需要额外的工作来管理和组织模块化测试用例。

5. web测试框架

原理:

基于web页面的测试框架的原理是通过模拟用户在界面上的操作和交互来执行测试。框架可以自动化执行各种用户操作,例如点击按钮、输入文本、选择选项等,并验证界面上的元素是否符合预期。

web测试框架可以使用图像识别或对象识别来定位和操作界面元素,从而实现自动化测试。

常用框架:

Selenium、Appium、Cypress等

优点:

可自动化模拟用户在页面上的真实操作,提高测试效率和准确性。

缺点:

对于复杂的界面和场景,测试脚本可能会变得复杂和脆弱。

上述框架可以根据具体需求进行组合,以实现自动化测试的目标。

总结

PS:这里分享一套软件测试的自学教程合集。对于在测试行业发展的小伙伴们来说应该会很有帮助。除了基础入门的资源,博主也收集不少进阶自动化的资源,从理论到实战,知行合一才能真正的掌握。全套内容已经打包到网盘,内容总量接近500个G。如需要软件测试学习资料,关注公众号(互联网杂货铺),后台回复1,整理不易,给个关注点个赞吧,谢谢各位大佬!

☑ 240集-零基础到精通全套视频课程
☑ [课件+源码]-完整配套的教程
☑ 18套-测试实战项目源码
☑ 37套-测试工具软件包
☑ 268道-真实面试题
☑ 200个模板-面试简历模板、测试方案模板、软件测试报告模板、测试分析模版、测试计划模板、性能测试报告、性能测试报告、性能测试脚本用例模板(信息完整)

这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。

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

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

相关文章

17周年庆第一弹|中秋·国庆双节大促购物指南,给力狂欢!

随着中秋和国庆双节的来临,百脑汇广州店为了满足消费者的购物需求,特别推出了本次17周年店庆月:双节大促购物指南。本指南将为您介绍百脑汇广州店的优惠购机活动、热门商品等等,帮助您在本次17周年店庆月中获得更好的体验。 百脑汇广州店17周年店庆月第一弹:中秋国庆双节大促中…

【面试经典 150 | 滑动窗口】串联所有单词的子串

文章目录 写在前面Tag题目来源题目解读解题思路方法一:两个哈希表方法二:滑动窗口 写在最后 写在前面 本专栏专注于分析与讲解【面试经典150】算法,两到三天更新一篇文章,欢迎催更…… 专栏内容以分析题目为主,并附带一…

【图论C++】树的重心——教父POJ 3107(链式前向星的使用)

》》》算法竞赛 /*** file * author jUicE_g2R(qq:3406291309)————彬(bin-必应)* 一个某双流一大学通信与信息专业大二在读 * * brief 一直在竞赛算法学习的路上* * copyright 2023.9* COPYRIGHT 原创技术笔记:转载…

$nextTick解决echarts宽度固定为100%的问题

问题描述:vue+element项目中使用到了tab切换选项卡,其中有一个tab下的内容是echarts,出现了echarts宽度缩减为100px无法继承100%属性。 问题: echarts渲染时tab选项卡display为none,所以width:100%没有可继承项,被echarts自带方法切割成100px。 我他喵的解决这个问题还是…

给 shell 自定义快捷键

shell 快捷键原理 本质上对于 shell 来说只有输入输出,它不会监听你系统快捷键的,监听快捷键其实是终端模拟器的责任,他会将你输入的快捷键转换成字符串序列。当我们使用了类似 ctrl -> 这样的快捷键,shell 会根据你输入的字…

QT的ui设计中改变样式表的用法

在QT的ui设计中,我们右键会弹出一个改变样式表的选项,很多人不知道这个是干什么的。 首先我们来看下具体的界面 首先我们说一下这个功能具体是干嘛的, 我们在设置很多控件在界面上之后,常常都是使用系统默认的样式,但是当有些时候为了美化界面我们需要对一些控件进行美化…

进阶JS-内置构造函数

基本数据类型:string、number、boolean、undefined、null 引用类型:对象 其实字符串、数值、布尔等基本类型也都有专门的构造函数,这些我们称为包装类型。 JS中几乎所有的数据都可以基于构成函数创建。 const str andy//其实是const strnew String(a…

【EI会议征稿】第三届机械、建模与材料工程国际学术会议(I3ME 2023)

第三届机械、建模与材料工程国际学术会议(I3ME 2023) 2023 3rd International Conference on Mechanical, Modeling and Materials Engineering 第三届机械、建模与材料工程国际学术会议(I3ME 2023)将于2023年12月1-3日在中国长春…

一套成熟的Spring Cloud智慧工地平台源码,自主版权,开箱即用

智慧工地云平台源码 APP端PC端数据大屏端全套源码 自主版权,开箱即可项目使用 智慧工地利用移动互联、物联网、云计算、大数据等新一代信息技术,彻底改变传统施工现场各参建方的交互方式、工作方式和管理模式,为建设集团、施工企业、监理单位…

第二证券:券商近期关注点浮现 扎堆调研19只个股 上调旅游股评级

19只个股 被券商扎堆调研 东方财富Choice数据显现,9月以来券商保持高强度的调研节奏,19只个股获得超25家券商扎堆调研,首要会合在半导体、医药生物、新能源、机械设备等范畴。人气最高的股票分别是埃斯顿、周大生、南网科技、卫星化学、宁波…

11.1Spring基础(核心概念,创建和使用,简单读取)

一.Spring概念: 1.Spring就是包含了众多工具方法的IoC容器. 2.IoC容器:控制反转,指的是对象的生命周期,将对象的生命周期(什么时候创建,销毁)交给Spring进行管理. 在传统开发中,如果A类依赖B类,会在A类中创建B类的实例,如果B类增加一个属性,那么使用B类的构造方法需要修改代码…

Java基于SpringBoot的原创歌曲分享平台

文章目录 1 简介2 技术栈3 需求分析4 平台设计主要功能5 平台实现5.1平台功能模块 5.2后台功能模块52.1管理员功能模块5.2.2用户功能模块 源码咨询 1 简介 原创歌曲分享平台,为了随时随地查看原创歌曲分享信息提供了便捷的方法,更重要的是大大的简化了管…

外卖霸王餐平台究竟是如何运作的?以及盈利点到底在哪里?

外卖霸王餐 1、业务简介。业务模式是消费者以5-10元吃到原价15-25元的外卖,底层逻辑是帮外卖商家做推广,解决新店基础销量、老店增加单量、品牌打万单店的需求。 因为外卖店的平均生命周期只有6个月,不断有新店愿意送霸王餐。部分老店也愿…

指南:通过 NFTScan API 获取钱包地址的 NFT Statistics 全量数据

获取钱包地址的全量 NFT 及统计分析数据对于开发者和投资者来说都是十分重要的。具体来说:对开发者而言,获取每个钱包的完整资产数据,并进行统计分析,是构建钱包管理工具、资产分析应用的基础,这些应用都需要全面且精确…

安装typescript之后提示不是内部命令

解决方案: 1、删除C:\Users\用户\下的.npmrc文件 2、在命令行输入npm cache clean --force 以上提示表示执行成功 3、重新安装typescript npm install -g typescript tsc

算法-堆/多路归并-查找和最小的 K 对数字

算法-堆/多路归并-查找和最小的 K 对数字 1 题目概述 1.1 题目出处 https://leetcode.cn/problems/find-k-pairs-with-smallest-sums/description/?envTypestudy-plan-v2&envIdtop-interview-150 1.2 题目描述 2 优先级队列构建大顶堆 2.1 思路 将两个数字的和放入大…

同一台电脑下的wireshark的http抓包查看使用的接口

开发过程中写软件开发设计时需要写调用的接口, 可以使用抓包软件 操作一遍,看抓包记录 然后看自己需要的接口调用情况 同一台电脑用这个 设置需要的抓包协议 在后台搜索关键词也可以看到用了哪些接口 Json查看器也可以查看接口信息

Vue+element开发Simple Admin后端管理系统页面

最近看到各种admin,头大,内容太多,根本不知道怎么改。所以制作了这个项目,只包含框架、和开发中最常用的表格和表单,不用自己从头搭建架构,同时也容易上手二次开发。可以轻松从其他开源项目整合到本项目。项…

避障技术再提升,扫地机器人避障不止于精准

扫地机器人好用与否,避障表现首当其冲,那么评判避障好坏的标准又是什么? 有效避障仅是第一步 时至今日,可以说仍有相当一部分人对于扫地机器人的印象停留在人工“智障”上,由于早期的产品基本不具备避障能力&#xf…