【自动化测试】自动化测试框架那些事儿!

news2024/11/20 15:41:43

无论是在自动化测试实践,还是日常交流中,经常听到一个词:框架。在教学的过程中,同学们一直对“框架”这个词知其然不知其所以然。

最近看了很多自动化相关的资料,加上一些实践,算是对“框架”有了一些理解,就聊聊自动化框架的那些事儿吧。。。

一、什么是框架

框架(framework)是一个框子——指其约束性,也是一个架子——指其支撑性。是一个基本概念上的结构,用于去解决或者处理复杂的问题。

在软件工程中,框架(Framework)是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法;

另一种定义认为,框架是可被应用开发者定制的应用骨架,前者是从应用方面而后者是从目的方面给出的定义。

上面的概念比较抽象,换另一个角度解释:

1、框架本身一般不完整到可以解决特定问题;

2、框架天生就是为扩展而设计的;

3、框架里面可以为后续扩展的组件提供很多辅助性、支撑性的方便易用的工具,也就是说框架是配套了一些帮助解决某类问题的库(libraries)或工具(tools)。

约束性:针对解决特定问题的软件框架会首先定义问题的边界,进而将相关的软件组件约束在这个边界内,保持框架在解决问题方面上的内聚性。

支撑性:框架本身不解决什么问题,但给了解决问题的相关组件一个组合底子,这个底子的科学性和易用性直接影响在此之上进一步开发的科学性和方便性。

上面的2个对框架的解释和定义,看起来也并没有很简单直白的说清楚什么是框架,下面是我的一些理解:

定义:为解决某些特定问题而约束边界,支撑整个问题解决方案,配套了一些解决问题的组件而构成的工具

特定问题:什么问题?——自动化测试

约束边界:为什么约束?——明确测试范围和目的

解决方案:用什么方案解决问题?——编程语言+工具+其他

构成工具的组件:哪些组件?—— 用例、脚本、数据、日志、报告、通知

工具:特点是什么?—— 灵活性、可扩展性、高内聚低耦合

二、自动化测试

1、为什么要进行自动化测试?

①、黑盒测试回归效率低

②、手动测试的偶然性和不确定性

③、回归的覆盖率不足

④、交付的产品质量无法保证,全靠评估

⑤、系统越复杂,问题越多

⑥、上线时间长、构件失败率高导致的蝴蝶效应(迭代快,加班多)

2、自动化测试能解决什么问题?

①、提高出现问题后的响应速率

②、降低回归成本

③、提高回归覆盖率

④、提高回归效率

⑤、提高回归的稳定性

3、自动化测试的不足有哪些?

①、无法减少成本投入,而是为了加快测试结果反馈,提升测试质量

②、自动化适用于回归和冒烟,而不是发现BUG

③、录制回放功能是鸡肋,可视化并不是一个很好的做法

④、不是所有所有系统所有功能都适合做自动化测试

三、自动化测试框架

构成框架的组件,最起码应该具备以下的功能:

Log:日志记录和管理功能,针对不同的情况,设置不同的日志级别,方便定位问题;

Report:测试报告生成和管理以及即时通知,测试结果快速响应;

Source:配置文件、静态资源的管理,遵循高内聚低耦合原则;

Common:公共函数、方法以及通用操作的管理,遵循高内聚低耦合原则;

TestCase:测试用例管理功能,一个功能点对应一个或者多个case,尽可能的提高覆盖率;

TestData:测试数据管理功能,数据与脚本分离,降低维护成本,提高可移植性;

TestSuite:测试组件管理功能,针对不同场景不同需求,组装构建不同的测试框架,遵循框架的灵活性和扩展性;

Statistics:测试结果统计管理功能,每次执行测试的结果统计、分析、对比以及反馈,数据驱动,为软件优化和流程改进,提供参考;

Continuous:持续集成环境,即CI环境,包括测试文件提交、扫描编译、执行测试、生成报告及时通知等功能,持续集成是自动化测试的核心

四、常见的自动化测试框架

1、接口自动化框架:

①、java+testNG/Junit+Maven/Ant/Gradle+Jenkins+MySQL+testlink/redmine

②、python+unittest/pytest+Git+Jenkins+MySQL+testlink/redmine

③、python+rebotframework+unittest/pytest+Git+Jenkins+MySQL+testlink/redmine

④、jmeter+Maven/Ant+Jenkins+MySQL+testlink/redmine

2、UI自动化测试框架

①、java+selenium/appium+testNG/Junit+Maven/Ant/Gradle+Jenkins+MySQL+testlink/redmine

②、python+selenium/appium+unittest/pytest+Git+Jenkins+MySQL+testlink/redmine

③、python+rebot framework+unittest/pytest+Git+Jenkins+MySQL+testlink/redmine

通过上面的一些常见框架,你发现了什么?

它们都拥有共同特性:编程语言+单元测试框架+扫描编译工具+持续集成工具+数据库+项目管理工具

编程语言:编写测试脚本、日志记录和输出;

单元测试框架:提供测试脚本运行、异常校验等一些列的配置;

扫描编译工具:测试文件扫描编译,一般配合持续集成工具使用效果更佳;

持续集成工具:Jenkins,经典的持续集成工具;

数据库:测试数据管理;

项目管理工具:测试结果统计管理;

PS:自动化测试工具太多,上面只是列举了使用率较高以及我个人还算了解的一些开源工具,具体的框架选型,需要根据具体项目特点和团队、个人技术特点来决定!


下面是配套资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!

软件测试面试小程序

被百万人刷爆的软件测试题库!!!谁用谁知道!!!全网最全面试刷题小程序,手机就可以刷题,地铁上公交上,卷起来!

涵盖以下这些面试题板块:

1、软件测试基础理论 ,2、web,app,接口功能测试 ,3、网络 ,4、数据库 ,5、linux

6、web,app,接口自动化 ,7、性能测试 ,8、编程基础,9、hr面试题 ,10、开放性测试题,11、安全测试,12、计算机基础

获取方式 :

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

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

相关文章

OceanMind海睿思入选《2023中国企业数智化转型全景图中国数据智能产业图谱》

近日,国内知名大数据产业创新服务媒体数据猿携手上海大数据联盟发布了《2023中国企业数智化转型升级服务全景图/产业图谱》和《2023中国数据智能产业图谱》。 两份图谱系统梳理了中国数智化转型升级及数据智能行业发展现状和脉络,评选出极具商业合作价值…

​​​​Linux Shell 实现一键部署Oracle21 zip包方式

oracle前言 Oracle开发的关系数据库产品因性能卓越而闻名,Oracle数据库产品为财富排行榜上的前1000家公司所采用,许多大型网站也选用了Oracle系统,是世界最好的数据库产品。此外,Oracle公司还开发其他应用程序和软件。同时&#…

ABeam News|ABeam荣获「SAP BTP 卓越业务分析奖」

近日,「云铸数卯,榫合万象」SAP BTP 客户与生态峰会在桂林圆满落幕。此次年度峰会以全面的视角展现 RISE with SAPSAP BTP如何构建“新型中国企业”数字底座。 ABeam Consulting作为SAP金牌合作伙伴受邀出席,大中华区董事长兼总经理中野洋辅…

Ubuntu Go语言环境配置【GPT-4版】

目录 go语言的培训网课安装goGPT-4给出的过程在VSCode里怎样正确配置好Go的调试相关设置?如果我在Visual Studio Code中安装Go语言的相关工具总是失败怎么办?我已重启Visual Studio Code,接下来应该怎样检查日志?如果我还是不能成…

Vue2中给对象添加新属性界面不刷新

Vue2中给对象添加新属性界面不刷新? Vue2.x的响应式 实现原理 对象类型:通过Object.defineProperty()对属性的读取、修改进行拦截(数据劫持)。数组类型:通过重写更新数组的一系列方法来实现拦截。(对数组的变更方法…

敏捷世界还需要有QA吗?

敏捷开发模型现在已经被越来越多的公司熟知并使用,很多公司会选择敏捷开发模式的转型,其主要目的就是为了不断适应变化以及客户快速交付的诉求。为什么敏捷开发能够被诸多大众接受?可以从两个维度来看: 首先,从开发人员…

条码系统(PC/PDA)对接NC接口功能

条码系统功能清单功能模块功能菜单明细菜单支持终端功能描述业务流程框架pc端框架搭建 PC端整体框架工具搭建,提供字典配置,PDA端的参数配置,NC数据源,NC接口调用工具等 PDA端框架搭建 PDA端安卓端框架基础功能APP创建,数据源,功能菜单等 服务器环境部署 PC端/PDA端pc端/P…

使用YOLOV8实现滑块缺口验证码识别,并使用Fastdeploy快速部署,精度高达99%!!

前言:首先大家对滑块缺口验证码的识别应该有很多经验了,大部分人可能阅读过我的文章或者其他人的文章,能从各方了解到,滑块缺口的各种实现方式,例如模板匹配、边缘检测、提取透明通道、yolov5,paddledection等,此篇文章将会讲解yolov8的使用和训练,yolov8相对于yolov5有…

真心牛x,阿里出品2023最新版Spring全家桶进阶笔记流出,堪称Java程序员跳槽神器

最近小伙伴在我后台留言是这样的: ​现在就这光景,不比以前,会个CRUD就有人要,即使大部分公司依然只需要做CRUD的事情......现在去面试,只会CRUD还要被吐槽: ​面试造火箭,工作拧螺丝&#xff0…

六级备考23天|CET-6|翻译技巧5|2019年12月真题|翻译荷花lotus|11:05-12:05

目录 一、中文 句子1 PRACTICE ANSWER 句子2 PRACTICE ANSWER 句子3 ​ PRACTICE ANSWER 句子4 PRACTICE ANSWER 句子5 PRACTICE ANSWER 句子6 PRACTICE ANSWER ​ 答案整合​ 一、中文 句子1 荷花是中国的名花之一,深受人们喜爱。 PRACTICE Lotus is one…

CMakeLists.txt 文件详解

目录 CMakeLists.txt 常见内容和结构: 文件中的命令和配置: 官方文档: CMakeLists.txt CMakeLists.txt 文件是用于描述 CMake 构建过程和项目配置的文件。它包含了一系列 CMake 命令、变量设置和流程控制结构,用于告诉 CMake 如何生成适合…

pycharm中关于debug模式中按钮的介绍

文章目录 前言一、pycharm中debug的按钮介绍(横排按钮)二、pycharm中debug的按钮介绍(竖排按钮)总结 前言 遇到了debug模式下的调试按钮问题。 一、pycharm中debug的按钮介绍(横排按钮) 步过:s…

七人拼团系统开发模式,助力企业三个月新增超十万会员!

现在市场上最不缺的就是好产品,产品在市场上目前已经趋于饱和。要想让自己的产品或企业快速打入市场,最好的办法是结合好的营销模式,让企业快速起步裂变提升销量。现在就有这么一款模式,助力企业在三个月内就新发展了超十万会员&a…

MySql高可用方案

MySql高可用方案 1、主从、主主(互为主从)keepalived 2、MHA MHA(Master High Avaliable) 是一款 MySQL 开源高可用程序,MHA 在监测到主实例无响应后,可以自动将同步最靠前的 Slave 提升为 Master,然后将其他所有的 S…

【JavaSE】Java基础语法(三十三):File 一文详解

文章目录 1. File类概述和构造方法2. 绝对路径和相对路径3. File类创建功能【应用】4. File类删除功能【应用】5. File类判断和获取功能【应用】6. 6File类练习一【应用】7. File类练习二【应用】 1. File类概述和构造方法 File类介绍 它是文件和目录路径名的抽象表示文件和目录…

阿里面试测试工程师,水太深,我把握不住了......

前言 去阿里面试测试工程师,这里面水太深,什么未来规划,职业发展的东西都是虚拟的,作者还太年轻,没有那个经历,把握不住。项目只有几个,开心快乐就行,不PK,文明PK。 很多…

组合总和 II

1题目 给定一个候选人编号的集合 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。 candidates 中的每个数字在每个组合中只能使用 一次 。 注意:解集不能包含重复的组合。 示例 1: 输入: candidates [10,1…

搭建LightPicture开源免费图床系统「公网远程控制」

文章目录 1.前言2. Lightpicture网站搭建2.1. Lightpicture下载和安装2.2. Lightpicture网页测试2.3.cpolar的安装和注册 3.本地网页发布3.1.Cpolar云端设置3.2.Cpolar本地设置 4.公网访问测试5.结语 转载自cpolar极点云的文章:【搭建私人图床】使用LightPicture开源…

Parasoft亮相上海国际嵌入式展

全球自动化软件测试解决方案的领导者Parasoft宣布参加6月14日至16日在上海举行的首届embedded world China上海国际嵌入式展,此次Parasoft联合检测认证领域的领导者-莱茵技术(上海)有限公司共同参展,为嵌入式行业提供符合功能安全…

电子表格的武侠江湖里,有VBA加持的Excel,也只能算一把菜刀

Excel,都用过吧? 没用过肯定也听说过。 这可是Windows里颇具传奇色彩的软件,堪称一把九天陨铁淬炼而成的菜刀。 普通人,用它做表格, 进行简单的数据汇总。 职场人,继续用它做表格, 开始求和…