常见的主流自动化测试框架,这5种真的帮助巨大

news/2024/10/18 5:44:50/

今天我们要向大家介绍的是常见5种主流自动化测试框架,包括优缺点等内容,供大家参考学习。

1.ATF

自动化测试框架AutoTestFramework是B/S架构框架,可实现Selenium等多种自动化测试全流程、团队化管理的高级框架平台,通过集成自动化测试工具可实现PC端界面自动化、接口自动化、APP功能自动化测试和深度兼容性测试,测试完成后系统自动生成测试报告。目前该框架可以集成的自动化测试工具Selenium、AutoRunner、MobileRunner。

优点:

  • 测试项目、测试脚本、测试需求、测试用例、测试缺陷、测试报告、测试人员等管理;框架可以无缝集成界面自动化工具Selenium、AR、QTP;集成接口测试工具postman;集成APP自动化工具MR;建立需求分析模型,基于活动图、数据和业务规则自动生成测试用例;多个项目可以选择预约执行或者定时执行,一个项目可以选择立即执行;界面自动化支持截图和视频;接口支持日志;通过测试用例覆盖业务规则的测试,减少脚本设计的复杂度和脚本设计的简单性;同时便于测试用例数据的维护和更新;可生成自动生成Selenium、AutoRunner、MobileRunner等工具测试执行的测试报告,测试数据准确客观;产品自主研发,可集成ALM生命周期管理工具、项目管理、测试管理、缺陷管理、持续集成、流程平台以及其他数据库;

缺点:

  • 不是免费工具,商业测试工具,产品性价比较高;

2.JUnit

Kent Beck和Erich
Gamma开发的JUnit,它是xUnit的一个实例。其背后的主要目的是使Java开发人员能够编写脚本并执行可重复的测试用例。它通常用于测试小块代码。您还可以通过将JUnit与Selenium
WebDriver集成用于Java测试自动化来执行网站的自动化测试。无论何时添加任何新代码,您都需要重新执行整个测试用例并确保没有破损。

优点:

  • 在测试驱动的环境中工作的开发人员发现它非常有用,因为他们被迫阅读代码并查找是否存在异常;早期检测到错误,从而产生更可靠的代码;开发更具可读性和无错误的代码可以起到增强信心的作用。

缺点:

  • 该框架无法执行依赖性测试。这就是我们需要TestNG的地方。

3.JBehave

它是一种以透明的方式向业务用户描述验收测试的测试类型。JBehave是另一个用于BDD测试的Java测试框架,主要用于SeleniumWebDriver for Java。引入JBehave背后的主要目标是让新手能够轻松理解并熟悉BDD。它是一种设计理念,使应用程序的测试阶段更多地基于其行为。

优点:

  • 与所有其他BDD测试框架一样,JBehave在许多方面也具有优势;通过在具有类似规范的不同项目上工作的不同开发团队之间实现更好的协调,实现行为驱动开发的重要目的;由于规范具有类似的格式,项目经理和利益相关者可以更清楚地了解开发团队和QA团队的输出。

缺点:

  • BDD测试工具的成功主要取决于项目中涉及的不同成员之间的沟通,利益相关者,开发人员,测试人员以及组织的管理。缺乏沟通可能会导致无法回答的问题和疑问,这可能导致错误的申请或应用程序无法满足业务要求,从而导致所有各方互相指责。

4.TestNG

CedricBeust创建了TestNG,这是一个基于Java的开源自动化测试框架,受JUnit的启发。但是,它更强大。NG意味着TestNG中的下一代。该框架旨在在集成期间以更好的方式执行。该框架可帮助开发人员进行排序,分组和参数化等功能,从而使新测试用例更加灵活,并消除了之前使用的框架的缺点。

缺点:

  • 该框架使您能够在多个代码片段上运行并行测试;在测试用例执行期间,您可以生成HTML报告;可以根据优先级对测试用例进行分组和排列;只需要让框架运行数据库测试或前端测试或任何你想要的东西,执行测试就会简单得多;您可以参数化数据并使用注释来轻松设置优先级。

缺点:

  • 如果您的项目不需要测试用例优先级,则可能不想使用TestNG;此外,设置TestNG稍稍有些复杂。

5.Serenity

Serenity是一个开源库,用于行为驱动的测试。该框架可帮助您编写验收标准,这些标准结构良好且维护更多。它扩展了JUnit和WebDriver的功能。它被称为修昔底德。名称改变背后的原因只不过是发音的难度。不过,旧名称可以在引用时使用。

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取 


http://www.ppmy.cn/news/103989.html

相关文章

【论文阅读笔记】Contrast image correction method

论文小结: 本文是2010年发表出来的一篇文章,提出的方法是一种增强对比度的方法,其基本原理是自适应参数的 ganma 校正。ganma 校正的目标在于同时校正曝光过度和曝光不足区域的图像。   同时,为了防止光晕伪影,使用双…

从零开始学Android开发期末复习重点

目录 前言作业1作业2作业3作业4作业5作业6 前言 物联网应用技术课程期末复习重点——学习通作业: 操作系统:Ubuntu22.04 作业1 简述Android系统架构。 Android 的系统架构和它的操作系统一样&#xff…

测试之路,你知道这些变化吗?突破后助你走得更远...

前言 Python自动化测试:7天练完这60个实战项目,年薪过35w。 目前的面试求职市场上,测试领域有哪些变化? 以这两年软件测试发展经历来看,现在的求职市场,已经不仅仅只考察个人的项目经验和技术能力了&#…

牛客网Linux错题一

1.关于Linux下的进程,论述不正确的是(A) A.僵尸进程会被init进程接管,僵尸进程不糊造成资源浪费 B.子进程的父进程在它之前退出,子进程会被init进程接管,它不会造成资源浪费 C.进程是资源管理的最小单位…

二十分钟秒懂:实现前后端分离开发(vue+element+spring boot+mybatis+MySQL)

目录 开发者介绍 什么是前后端分离开发 vue与springboot开发的优势 Vue.js 的优势: Spring Boot 的优势: vue与springboot如何实现前后端连接 demo简介 重要部分前端部分代码 重要部分后端代码 后端解决跨域问题 Controller部分 xml部分 se…

vue3的api解读-ref和reactive

目录 构造一个演示框架(VUE3) /src/examples/Helloworld.tsx /src/mytypes.d.ts /src/main.ts /src/App.tsx /src/layout.css /src/examples/RefExample.tsx /src/examples/ReactiveExample.tsx 思考 Vue提供的Reactive模式和vue.observable有…

机器学习 监督学习 Week2

Lib01 多变量线性回归 依旧是房价预测,但这次引入了多个变量,不仅仅只有房屋面积影响着房价,依旧尝试使用梯度下降算法找到最优的【w,b】,并且习惯使用向量点乘运算提高效率 import copy, math import numpy as np import matplot…

C++入门--初步认识类和对象

0.前言 前面几章,我们一起学习了C和C语言的不同之处,已经算是半只脚迈入了C的“门槛”,本章让我们继续学习C的类和对象。 1.面向对过程和面向对象的初步认识 C语言是面向过程的,关注的是过程,分析出求解问题的步骤&…