自动化框架到底是什么?

article/2025/10/18 21:52:06

如今,随着敏捷和 DevOps 软件方法论的发展,以及企业寻求更快发布和高质量产品的需求,它需要比手动测试方法更快,更高效的软件测试方法。微型,小型和中型企业(SME)使其测试过程自动化变得越来越必要,但是最关键的方面是选择正确的测试自动化框架。网上各式各样的介绍是否让你眼花缭乱?接下来,让我从实践出发,介绍一下什么是自动化测试框架。

image

什么是框架?

让我们从一个例子出发,而不是直接提供一个框架的粗俗定义。你应该参加过研讨会/讲座/会议,参与者会被要求遵守一些指导原则:

  • 参加者应在讲座开始前 5 分钟就座
  • 提前阅读摘要,以便您对演示文稿有一个大概的了解
  • 手机应设为静音
  • 如果您需要在讲座进行中离开,请使用扬声器对面的出口
  • 会议结束时可以提出问题

你认为可以在遵守这些准则的情况下参加 研讨会吗?

答案是肯定的!当然,你可以在没有上述指导的情况下进行研讨会/讲座/会议/演示,我们中的某些人也不会遵循。但是,如果遵循这些指导方针,将会产生有益的结果,例如减少演讲过程中的听众分心,增加参与者对主题的保留和理解。

基于上述内容,可以将框架定义为一组准则,遵循这些准则可以产生有益的结果。

 

什么是测试自动化框架?

我们知道,软件测试分为手工测试和自动化测试,一般只有自动化测试才有框架的概念。我们要进行自动化测试,就会用到很多工具,怎么去管理好这些代码,工具和数据呢?用框架把它们放在一起就是一种很好的方式。

测试自动化框架是为自动化测试脚本提供执行环境而搭建的支架,它是一套准则,例如编码标准,测试数据处理,对象库处理等,在自动化脚本编写过程中遵循这些准则可产生有益的结果,例如增加代码重用,更高的可移植性,降低的脚本维护成本等。准则而非规则;它们不是强制性的,你仍然可以在不遵循准则的情况下编写脚本。但是你会错过拥有框架的优势。

使用测试框架的好处主要有:

  1. 提高测试效率
  2. 降低维护成本
  3. 最少的人工干预
  4. 最大测试范围
  5. 代码的可重用性

 

公司的需求是什么?

我们学习自动化测试的最终目标都是为了提升公司产品的价值。那么,让我们再深入一些,从公司的角度思考为什么需要自动化测试框架。

企业通常面临着平衡成本和管理资源的难题,选择能够覆盖其所有业务场景以交付高质量应用程序的自动化框架。显然,通过选择和实施最佳的测试自动化框架,企业可以显着提高测试执行速度和测试过程的准确性,以提供更高的投资回报率(ROI)和高质量的产品。因此,我们应该选择有效的自动化框架类型,以确保对其应用程序进行有效的测试。

 

常见的自动化测试框架

我接下来会站在实践角度,来说说常见的自动化测试框架。现在用的最多的就是,Web UI 自动化和接口自动化两块,下面是我整理的内容:

1、接口自动化框架:

① java+testNG/Junit+Maven/Ant/Gradle+Jenkins+MySQL

② python+unittest/pytest+Git+Jenkins+MySQL

③ python+rebot framework+unittest/pytest+Git+Jenkins+MySQL

④ jmeter+Maven/Ant+Jenkins+MySQL

2、UI自动化测试框架

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

② python+selenium/appium+unittest/pytest+Git+Jenkins+MySQL

③ python+robot framework+unittest/pytest+Git+Jenkins+MySQL

需要大家注意的是,常见的 Robot Framework,Selenium 也可以单独称为框架,也可以称为工具。这些都是概念和术语,大家不必特别纠结。

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

它们都拥有共同特性:编程语言+单元测试框架+扫描编译工具+持续集成工具+数据库+项目管理工具,可以根据需求进行相应调整。之后我也会展开介绍,比如常见框架的实践、单元测试框架是什么、测试工具有哪些等等,现在简单了解一下就好。

 

驱动模式

最常见的是按照驱动模式给框架进行分类,主要有以下几点

1.数据驱动

在自动化或测试任何应用程序时,有时您可能会使用不同的输入数据集多次测试相同的功能。在这种情况下,我们无法在测试脚本本身中嵌入测试数据。数据驱动测试框架可帮助用户将测试脚本逻辑和测试数据彼此隔离。测试数据保存在外部存储资源中,例如xml文件,excel文件,文本文件,CSV文件等。

我也专门写了一篇文章介绍数据驱动测试,感兴趣的朋友可以去看看。

好处

  • 测试用例可以用多组数据执行
  • 更改脚本不会影响测试数据
  • 通过更快地执行测试,您将节省大量时间

缺点

  • 建立数据驱动的框架需要花费大量时间
  • 您将需要高超的技术专长,精通各种编程语言来编写这些脚本

2.关键字驱动

在某些方面,此框架是数据驱动测试框架的扩展。它不仅将测试数据与脚本分离,而且还将属于测试脚本的特定代码集保存到外部数据文件中。在这里,我们使用表格格式为要执行的每种方法定义关键字或操作词。设置完表格后,您要做的就是根据关键字编写将触发必要动作的代码。

好处

  • 需要最少的脚本知识
  • 提供高度的代码可重用性
  • 可以独立于被测软件编写测试脚本

缺点

  • 建立框架的初期投资很高
  • 需要高级技术专家

3.混合型驱动框架

顾名思义,混合测试框架是上述多个框架的组合。这种设置的最好之处在于,它利用了各种关联框架的优势。关于此框架的最好的事情是可以根据您的特定需求和要求对其进行自定义。您可以选择适合每个需求的每个框架的功能。

4.行为驱动(lettuce)测试框架

TDD中的BDD内容即测试驱动开发,它允许用户以最少的软件代码干预就可以处理多个测试数据,从而有助于提高代码的可重用性,这是软件开发/测试自动化中的一种省时机制。

 

如何选择测试自动化框架

由于不同的企业有不同的需求,因此很难在测试自动化框架中确定您想要的所有内容。但是,大多数组织会在测试自动化框架中寻找一些关键标准:

1.易于脚本开发:测试框架必须支持敏捷过程和快速迭代。

2.跨团队兼容性:由于软件测试不限于单个部门,因此测试框架必须在各个角色之间兼容,并要求开发人员和质量检查人员提供输入。

3.支持多种语言:框架应包括对不同应用程序平台的语言支持。

4.对最新平台功能的支持:开源测试框架应定期更新,并应与最新的操作系统功能兼容,以避免围绕测试的框架空白。

 

最后

回顾一下,今天整体介绍了什么是测试框架,有哪些常见的测试框架,之后我会单独就最实用,最热门的接口自动化和 Web UI 自动化进行进一步的介绍。

不过,我们要知道,自动化测试框架只是辅助工具,自动化测试的核心在自动化测试用例,如何设计和实现高效和有效的自动用例才是自动化成功的关键,当然,这需要你对业务和需求有非常好的理解。我们下次见!

 


http://chatgpt.dhexx.cn/article/xFIycZGG.shtml

相关文章

UI 自动化框架对比2

1、pytest 在开始本文之前,我想跟大家澄清两个概念,一个是测试框架一个是测试工具。很多人容易把他们搞混了,测试框架是诸如 Unittest、Pytest、TestNG 这类,而测试工具指的则是 Selenium、Appium、Jmeter 这类。 测试框架的作…

APP自动化简单理解(在python中实现简单的app自动化框架)

一、app自动化环境搭建 1、安装jdk及配置jdk的环境变量 app底层是c语言,应用层是java,所以需要jdk 2、安装SDK,配置android SDK环境 3、安装模拟器 4、下载安装Appium工具 01、appium客户端 appium destop 服务器 02、命令行安装&…

UI自动化框架如何设计及搭建?

目录 UI自动化框架 自动化原则: 如何减少自动化维护成本? UI自动化框架优化方案:(在不增加维护成本前提下) UI自动化脚本可分为3种: 已经实现自动化的模块可以不做手工测试了吗? UI自动化…

接口自动化框架

接口自动化框架讲解 框架结构 接口测试框架的结构如下图所示: 接口测试框架的结构说明: - API用于封装被测系统的接口(用requests模块封装的请求方法) - TestCase将一个或多个接口封装成测试用例,并使用UnitTest管…

什么是自动化框架?

前言 无论是在自动化测试实践,还是日常交流中,经常听到一个词:框架。之前学习自动化测试的过程中,一直对“框架”这个词知其然不知其所以然。 最近看了很多自动化相关的资料,加上自己的一些实践,算是对“…

接口自动化框架搭建

1.自动化测试流程 -- 需求分析。需求文档,接口文档,抓包接口 -- 测试计划。通常包含项目的进度,是否自动化,优先级 -- 测试用例(是从手工测试提取出来的) -- 用例评审 -- 执行测试。(写代码…

2023最全自动化测试框架讲解,不会真不行!

无论是在自动化测试实践,还是日常交流中,经常听到一个词:框架。之前学习自动化测试的过程中,一直对“框架”这个词知其然不知其所以然。 最近看了很多自动化相关的资料,加上自己的一些实践,算是对“框架”…

【测试开发】几种常见的自动化测试框架

几种常见的自动化测试框架 在软件测试领域,自动化测试框架有很多,这里主要介绍几种常用的自动化测试框架。 1.pytest pytest 是 Python 的一种单元测试框架,与 Python 自带的 unittest 测试框架类似,但是比 unittest 框架使用起…

【自动化框架】

自动化测试框架就是:为了对一个指定的系统做自动化测试而封装的一个半成品,自动化测试攻城狮可以调用这个半成品封装好的方法去实现一个指定系统的自动化测试。 根据驱动模式不同自动化测试框架分为四种模式: (1) 数据驱动框架 (2) 关键字…

常见的主流自动化测试框架,这5种能帮到你很多

今天我们要向大家介绍的是常见5种主流自动化测试框架,包括优缺点等内容,供大家参考学习。 1.ATF 自动化测试框架AutoTestFramework是B/S架构框架,可实现Selenium等多种自动化测试全流程、团队化管理的高级框架平台,通过集成自动化…

【自动化测试】自动化测试框架与工具

文章目录 1)什么是自动化测试框架?1.1 什么是框架?1.2 什么是自动化测试框架?1.2.1 优点:1.2.2 框架的基本组件1、需要配置文件管理:2、业务逻辑代码和测试脚本分离3、报告和日志文件输出4、自定义的库的封…

从零搭建完整python自动化测试框架(UI自动化和接口自动化 )——持续更新

本自动化测试框架采用python unittest 的基础来搭建,采用PO模式、数据驱动的思想,通过selenium来实现WEB UI自动化,通过request来实现接口自动化。移动终端的自动化也可在该框架基础上去构建补充。 目录 总体框架PO模式、DDT数据驱动、关键字…

Linux必备的小技巧——查看历史操作和屏显信息

通常在linux查看历史操作信息,都是查看日志文件,Linux的日志文件一般都保存在/var/log文件夹下: 用如下命令即可查看: cat filename 查看日志,会打开整个文件,直接跑到最后面tac filena…

linux下安装CUDA和cudnn

linux下安装CUDA和cudnn 2、安装CUDA10.1 在CUDA官网选择系统对应的版本下载CUDA 我的系统是Ubuntu18.04 64位,我选择下载最新版本的CUDA10.1: 输入以下命令安装CUDA sudo sh cuda_10.1.105_418.39_linux.run 显卡驱动已在上面安装了,这里一…

Linux和其他操作系统的区别

前言 这是我听老师讲课做的笔记,考试要看的。 这是视频地址 作者:RodmaChen 关注我的csdn博客,更多Linux笔记知识还在更新 为什么用Liunx系统 Linux和windows的区别Linux和Unix操作系统的区别 Linux和windows的区别 1.免费与收费 Windows 平台: Window…

linux下如何查看驱动?(CH341)

文章目录 背景命令 背景 Linux下有时候我们在接上串口后,在/dev/下找不到ttyUSB*,这时我们需要查看下本机是否安装了相应的驱动。 命令 lsmod | grep ch341 如上图,便是表示目前pc中存在ch341驱动,无需重新安装。

linux怎么查询数据库端口,linux下怎么查看数据库端口

满意答案 ai_yuming 2017.08.26 采纳率:50% 等级:8 已帮助:759人 如何查看mysql 默认端口号和修改端口号 1. 登录mysql [root@test /]# mysql -u root -p Enter password: 2. 使用命令show global variables like port;查看端口号 mysql> show global variables like …

Linux的历史背景和基本指令

众所周知,Linux和大家所熟悉的Windows一样,也是一款操作系统,不同的更多是在于Windows是闭源的,而Linux是开源的。现代生活中的比如飞机的控制系统、银行的系统、手机的系统等等,都和Linux操作系统相关,所以…

Linux安装围棋AI(q5go和katago)

最近一个多月开始学习围棋,因为平时常用的系统是Linux,所以想要在Linux上安装一个围棋AI,可以借助AI分析棋局。经过一番查找,决定使用q5go和katago,安装还是挺复杂的,特地记录(/摸鱼&#xff09…

Linux 常用命令 查看 CPU 信息

强力推荐-不要错过,万一能帮助到自己呢? 推荐一个网站,关于人工智能教程,教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家。点这里…