首页 > 其他分享 >各种自动化框架的重新理解和学习

各种自动化框架的重新理解和学习

时间:2024-01-22 16:02:46浏览次数:23  
标签:框架 测试数据 关键字 理解 测试 自动化 驱动 测试用例

1. 关键字驱动测试框架

  关键字驱动测试框架是一种自动化测试方法,它将测试用例设计和实际执行代码解耦。这种框架基于一种表格形式的描述(如Excel、CSV或特定格式的文本文件),其中每一行代表一个操作步骤,列中包含操作的关键字及其相关参数。

  在关键字驱动测试框架中,一般有以下关键组成部分:

  1. 关键字库:

    • 关键字是预先定义好的功能单元,每个关键字对应一个具体的动作或验证点,例如“打开浏览器”、“输入用户名”、“点击登录按钮”等。
    • 关键字通常以函数或类的形式实现,封装了底层的技术细节,使得测试人员无需关注具体实现。
  2. 测试数据表:

    • 测试人员根据业务需求使用关键字构建测试场景,编写测试数据表,不涉及任何编程语言的具体语法。
    • 测试数据表中的每一行是一个测试步骤,通过引用关键字并提供必要的参数来描述测试逻辑。
  3. 解析引擎:

    • 解析引擎负责读取测试数据表,并将其转换为可执行的测试脚本。
    • 当解析引擎读到某一关键字时,会调用预定义的关键字库中的相应函数,并传入对应的参数进行执行。
  4. 执行器:

    • 执行器负责运行由解析引擎生成的测试脚本,对应用程序进行实际的自动化测试。
    • 执行过程中,测试结果会被记录并返回给测试报告系统。

使用关键字驱动测试框架的优势包括:降低自动化测试的门槛,方便非技术人员编写和维护测试用例;提高测试用例的复用性;增强测试脚本的可读性和易维护性等。常见的关键字驱动测试工具有Robot Framework、TestComplete、QTP/UFT等。

2. 关键字驱动测试框架的缺点

  关键字驱动测试框架虽然具有诸多优点,但也存在一些潜在的缺点:

  1. 抽象层次和灵活性:

    • 关键字抽象层虽然简化了测试设计,但可能限制了对底层细节的控制。对于某些复杂场景或需要特定编程逻辑的情况,可能会因为过于简单的关键字接口而难以表达。
  2. 维护成本:

    • 随着项目的发展和需求的变化,维护关键字库的工作量可能会增大。每次业务流程或UI发生变化时,可能需要更新或增加新的关键字定义以及对应的实现代码。
  3. 过度定制化:

    • 如果项目的测试需求高度自定义或快速迭代,为满足这些需求创建和管理关键字库可能会变得非常复杂和耗时。
  4. 学习曲线与标准化:

    • 测试团队成员需要熟悉关键字及其使用方式,尤其是当关键字库庞大且复杂时,新成员的学习成本会提高。
    • 为了保持一致性,需要建立并遵循一套严谨的关键字命名和使用规范,否则可能导致混乱和冗余。
  5. 数据依赖性:

    • 测试用例的执行依赖于外部的数据文件,这增加了数据管理和版本控制的复杂度,如果数据文件格式不正确或内容有误,可能导致测试失败。
  6. 脚本可读性与调试难度:

    • 直接查看测试数据表并不总是能够清晰地了解测试步骤的具体技术行为,尤其是在处理异常情况或错误排查时,相对于直接查看源代码,调试可能更为困难。

 

标签:框架,测试数据,关键字,理解,测试,自动化,驱动,测试用例
From: https://www.cnblogs.com/renjie1105/p/17980242

相关文章

  • Django(藏狗) Web框架
    一、概论特点:内部已集成了很多组件+第三方组件二、安装1、安装pipinstallDjango2、安装后目录c:\python\ -python.exe -Scripts -pip.exe -django-admin.exe【工具,创建django项目中的文件和文件夹】 -Lib -内置模块 -site-packages -openpyxl -pyt......
  • python测试系列教程——python+Selenium+chrome自动化测试框架
    python测试系列教程——python+Selenium+chrome自动化测试框架需要的环境浏览器(Firefox/Chrome/IE…)PythonSeleniumSeleniumIDE(如果用Firefox)FireBug、FirePath(如果用Firefox)chromedriver、IEDriverServer、phantomjs.exeIDE(Pycharm/Sublime/Eclipse…)1、浏览器建议......
  • 从零搭建完整python自动化测试框架(UI自动化和接口自动化 )
    从零搭建完整python自动化测试框架(UI自动化和接口自动化)本自动化测试框架采用python+unittest的基础来搭建,采用PO模式、数据驱动的思想,通过selenium来实现WEBUI自动化,通过request来实现接口自动化。移动终端的自动化也可在该框架基础上去构建补充。 总体框架总体框架......
  • 接口自动化测试实践指导(上):接口自动化需要做哪些准备工作
    接口自动化测试实践指导(上):接口自动化需要做哪些准备工作 1.为什么做接口自动化1.1什么是接口测试接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以......
  • 基于pytest搭建接口自动化测试框架,提供源码
     基于pytest搭建接口自动化测试框架 框架整体介绍和方法教程第三代框架使用教程,该框架比第二代这个完善了很多https://blog.csdn.net/aaaaaaaaanjjj/article/details/129597973新框架(第二代比这个功能多了很多,用例使用yaml编写)pytest+yaml设计接口自动化框架过程记录......
  • 接口自动化测试实践指导(中):接口测试场景有哪些
    接口自动化测试实践指导(中):接口测试场景有哪些1接口测试场景梳理1.1设计思路在接口测试中,很大程度上,我们的测试质量依赖于接口测试场景的设计,而接口的测试场景和传统的功能测试场景又有所不同,不少测试同学一时无法很好的转换,一上来进行接口测试思路上会比较乱,这里呢给大家梳......
  • selenium自动化测试实战
    selenium自动化测试实战   一、Selenium介绍Selenium是什么?一句话,自动化测试工具。它支持各种浏览器,包括Chrome,Safari,Firefox等主流界面式浏览器,如果你在这些浏览器里面安装一个Selenium的插件,那么便可以方便地实现Web界面的测试。Selenium2,又名WebDriver,它的......
  • 自动化测试——selenium(完结篇)
    自动化测试——selenium(完结篇) 一、元素操作方法方法:1、.send_keys()#输入方法2、.click()#点击方法3、.clear()#清空方法 1234注意:在输入方法之前一定要清空操作!!#导包fromtimeimportsleepfromseleniumimportwebdriver#实例化浏览器......
  • 基于taro搭建小程序多项目框架
    前言为什么需要这样一个框架,以及这个框架带来的好处是什么?从字面意思上理解:该框架可以用来同时管理多个小程序,并且可以抽离公用组件或业务逻辑供各个小程序使用。当你工作中面临这种同时维护多个小程序的业务场景时,可以考虑使用这种模式。灵感来自最近webpack的多项目打包构建......
  • Flutter框架渲染流程与使用
    转自:https://www.cnblogs.com/zhou--fei/p/17068412.html Flutter简述Flutter是一个UI框架,可以进行移动端(iOS,Android),Web端,桌面端开发,它是一个跨平台解决方案。Flutter的特点:美观,快速,高效,开放。美观:Flutter内置了美丽的MaterialDesign和Cupertinowidget,方便开发出美......