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

    文章

    1261

    浏览量

    69427
  • 自动化
    +关注

    关注

    29

    文章

    5557

    浏览量

    79229
  • python
    +关注

    关注

    56

    文章

    4792

    浏览量

    84613
收藏 人收藏

    评论

    相关推荐

    OPhone自动化测试技术概述

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

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

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

    HarmonyOS自动化测试框架—Hypium

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

    常用软件测试自动化框架

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

    基于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 4659次阅读

    Python接口测试框架实战与自动化进阶视频教程免费下载

    本文档的主要内容详细介绍的是Python接口测试框架实战与自动化进阶视频教程免费下载主要包括了:第1章 接口测试基础回顾,第2章 fiddl
    发表于 08-28 15:32 75次下载
    <b class='flag-5'>Python</b>接口<b class='flag-5'>测试</b><b class='flag-5'>框架</b>实战与<b class='flag-5'>自动化</b>进阶视频教程免费下载

    什么是自动化测试框架

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

    自动化测试框架unittes详解

    测试框架,不妨“软硬用”。这里就基于python自动化测试
    的头像 发表于 05-20 14:47 2919次阅读

    测试自动化中的Python

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

    什么是自动化测试框架

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

    使用Python实现功能测试自动化

    单的单元测试到复杂的功能测试测试。根据Future Market Insights集团发布的一份报告,到14年底,全球自动化测试市场预计将
    的头像 发表于 05-04 11:20 838次阅读
    使用<b class='flag-5'>Python</b>实现功能<b class='flag-5'>测试</b><b class='flag-5'>自动化</b>

    OpenHarmony自动化测试框架开发指南

    OpenHarmony 自动化测试框架是 OpenHarmony 提供的支持 JS/TS 语言的单元及 UI 测试框架,支持开发者针对应用接
    的头像 发表于 05-15 09:35 1371次阅读
    OpenHarmony<b class='flag-5'>自动化</b><b class='flag-5'>测试</b><b class='flag-5'>框架</b>开发指南

    Facebook群组自动化python – 网络自动化

    电子发烧友网站提供《Facebook群组自动化python – 网络自动化.zip》资料免费下载
    发表于 07-05 14:26 0次下载
    Facebook群组<b class='flag-5'>自动化</b><b class='flag-5'>python</b> – 网络<b class='flag-5'>自动化</b>

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

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