0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

为自动化测试选择合适的Python框架

星星科技指导员 来源:embedded 作者:Swasti Shrivastava 2023-05-04 12:02 次阅读

测试自动化是使用框架和工具自动执行测试以更快地执行测试并减少对人工测试人员的需求的实践。在这种软件测试方法中,创建可重用的测试脚本来测试应用程序的功能,从而减少整体回归时间并促进更快的软件发布。利用测试自动化可缩短测试生命周期的回归时间并提高发布质量。

根据Future Market Insights集团发布的一份报告,到14年底,全球自动化测试市场预计将以3.93%的复合年增长率增长,市场价值将达到6亿美元。

自动化测试脚本可以用几种不同的编程语言编写,例如PythonC#,Ruby,Java等。其中,Python是迄今为止自动化工程师用于自动化测试的最流行的语言。它提供了用于自动化测试的各种有用的工具和库。Python还广泛支持许多不同类型的测试自动化框架。除了默认的Python测试框架,单元测试(或PyUnit)之外,还有各种Python框架更适合该项目。可以根据项目需求、规模和实践的自动化框架来选择最适合项目的测试框架,例如 TDD(测试驱动开发)、BDD(行为驱动开发)、ATDD(验收测试驱动开发)、KDD(关键字驱动开发)等。

Python 测试框架的类型

PyTest:

PyTest 是一个开源框架,它支持单元测试、API 测试和功能测试。在 PyTest 中,测试用例遵循特定的格式,其中测试以 test_ 开头或以 _test 结尾。

先决条件:

测试驱动开发框架的基础知识

蟒蛇的工作知识

优点:

可用于练习 TDD 的项目

帮助以紧凑的方式编写测试服

夹具和参数化测试涵盖了多种测试用例组合,无需重写它们

标记可用于对测试进行分组或在运行整个测试套件时跳过它们

许多内置和第三方插件支持,可以添加新功能,如报告生成等。

支持使用 pytest-xdist 插件并行执行测试用例

巨大的社区支持

实现 python 装饰器,可以完全利用 python 编程灵活性

缺点:

它与其他python框架不兼容。如果有人想迁移到另一个 python 框架,则必须重写所有测试。

它纯粹基于python编程,需要对python编程有扎实的知识。

机器人

机器人是一个广泛用于硒测试自动化的开源框架。

先决条件:

关键词驱动开发框架基础知识

创建新关键字需要python的工作知识

优点:

可用于实践 ATDD、BDD 或关键字驱动开发的项目

如果使用预定义的关键字,则不需要事先的编程知识

对于来自非技术背景的客户和高级管理人员来说,易于理解。

许多库和内置关键字,特别是用于硒测试

良好的内置报告机制

良好的社区支持

缺点:

难以自定义 HTML 报告

没有用于并行测试执行的内置功能。Pabot 可用于并行执行测试用例

创建新关键字可能很耗时,或者可能会限制具有编码知识的测试人员,因此灵活性较低

Beact

Beact 是一个最适合 Web 测试的开源框架。脚本或功能文件的语法非常接近外行英语。

先决条件:

行为驱动发展框架的基本知识

蟒蛇的工作知识

优点:

可用于练习 BDD 的项目

环境功能、配置设置、夹具等的可用性易于设置和清理

易于理解的框架

可以与其他Web开发框架(如烧瓶等)集成。

易于添加新的测试用例

以 JUnit 格式生成报告

出色的文档支持

缺点:

不支持并行执行测试用例

只能用于黑盒测试

不适合集成测试

PyUnit

PyUnit(单元测试)是 Python 附带的单元测试的默认测试框架。与 PyTest 类似,在 PyUnit 中,测试用例也遵循特定的格式,其中测试以 test_ 开头或以 _test 结尾。

先决条件:

Python的工作知识

优点:

无需额外安装软件包

测试报告生成速度更快

只需在终端上键入测试名称即可运行单个测试

默认输出易于理解

缺点:

将 PyUnit 用于大型项目会受到对过多抽象的支持和大量样板代码的严重阻碍。

Nose2

Nose2 是单元测试的扩展。Nose2 通过提供插件增加了对 PyUnit 框架的支持。

先决条件:

Python的工作知识

优点:

易于安装

具有夹具、参数化测试等功能。像 PyTest

测试可以使用(多进程)mp插件与多个进程并行执行

可以添加许多插件,具有报告、硒测试自动化等功能。

缺点:

文档不广泛

尽管开发周期较短,但自动化测试提供了几个优势,这些优势对于生成高质量的应用程序至关重要。它最大限度地减少了手动测试过程中不可避免地发生人为错误的可能性。通过自动化测试,软件质量得到提高,缺陷危及交付时间的可能性降低。

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Web
    Web
    +关注

    关注

    2

    文章

    1238

    浏览量

    68467
  • 自动化
    +关注

    关注

    28

    文章

    5039

    浏览量

    77733
  • python
    +关注

    关注

    51

    文章

    4677

    浏览量

    83473
收藏 人收藏

    评论

    相关推荐

    OPhone自动化测试技术概述

    上可采用的几种自动化测试技术进行介绍,并对每种技术的优缺点做简要的总结。OPhone台除了应用程序开发提供丰富的API外,也开展自动化
    发表于 05-06 08:58

    自动化测试框架思想和构建

    自动化测试一般是指软件测试自动化,软件测试就是在预设条件下运行系统或应用程序,评估运行结果,预先条件应包括正常条件和异常条件。本文介绍的是
    发表于 07-18 06:52

    请问数据驱动的自动化测试框架结构是怎么构成的?

    自动化测试为什么会出现?相比手工测试自动化测试有哪些优势?自动化
    发表于 04-15 06:55

    如何搭建嵌入式C语言单元测试自动化框架

    关于嵌入式C语言单元测试自动化框架的搭建思路
    发表于 12-15 07:35

    python控制CANoe实现自动化测试的方法

    ”完成了python控制CANoe实现自动化测试。那么,python能控制钉钉么?答案是可以的。那么用py
    发表于 12-29 08:12

    HarmonyOS自动化测试框架—Hypium

    Automation + ium”的组合词,“Hyper Automation”表示超级自动化, “ium”意指稳定、可靠的测试框架能力底座。从取名含义可以看出,我们想要为开发者打造一个以超级
    发表于 08-10 17:13

    HamronyOS自动化测试框架使用指南

    概述 支撑 HarmonyOS 操作系统的自动化测试活动开展,我们提供了支持 JS/TS 语言的单元及 UI 测试框架,支持开发者针对应用
    发表于 12-19 10:26

    常用软件测试自动化框架

    自动化测试框架无疑是企业实施自动化测试的一个必然的发展方向,它对于产生成功的测试
    发表于 04-21 11:39 4841次阅读

    基于Web的自动化测试框架的研究

    根据web系统测试的特点,为提高软件测试自动化脚本的可重用性,结合在实际项目中软件自动化测试的实践,提出基于Web的
    发表于 11-07 15:58 0次下载
    基于Web的<b class='flag-5'>自动化</b><b class='flag-5'>测试</b><b class='flag-5'>框架</b>的研究

    Python自动化测试框架有哪些?

    令开发者万分高兴的是,开发自己的测试框架的日子终于结束了。以前,开发团队接手一个项目并开始开发时,除了项目模块的实际开发之外,他们不得不为这个项目构建一个自动化测试
    的头像 发表于 07-28 09:06 4450次阅读

    什么是自动化测试框架

    这些优势可以是不同的形式,如易于编写脚本、可伸缩性、模块化、可理解性、过程定义、可重用性、成本、维护等。因此,为了能够获得这些好处,建议开发人员使用一个或多个自动化测试框架。此外,当有一群开发人员
    的头像 发表于 11-03 10:33 3908次阅读

    自动化测试框架unittes详解

    测试框架,不妨“软为硬用”。这里就基于python自动化测试框架unittest来实现一个简
    的头像 发表于 05-20 14:47 2452次阅读

    测试自动化中的Python

      用于测试的编程需要与开发应用程序的编程不同的方法。如果你想要一种专门用于测试编码的简单而精简的语言,Python 是一个不错的选择Python
    的头像 发表于 12-09 14:53 626次阅读

    什么是自动化测试框架

    自动化测试框架,即是应用于自动化测试所用的框架。按照框架
    发表于 04-18 14:44 595次阅读

    Python自动化测试框架及其应用

    Pytest是一个非常成熟的全功能的Python测试框架,与python自带的unittest测试框架
    的头像 发表于 04-03 16:15 145次阅读
    <b class='flag-5'>Python</b><b class='flag-5'>自动化</b><b class='flag-5'>测试</b><b class='flag-5'>框架</b>及其应用