zoukankan      html  css  js  c++  java
  • 常见测试框架类型

    线性测试框架

    线性测试框架(Liner Automation Framework),基于录制回放型的框架,如Web自动化测试中的UFT(QTP)、Selenium IDE、Katalon Studio、LoadRunner、Badboy、Postman、Appium、HttpRunner等

    • 优点:上手容易,甚至无需编码,用例产出快。
    • 缺点:数据耦合性高,模块复用度低,抗变动能力较弱。
    • 适用:稳定小型项目,或需要快速产出大量用例的场景。

    基于模块、库结构测试框架

    基于模块的测试框架(Modular Based Testing Framework),对被测产品各个模块的操作进行封装,用例调用模块进行操作,如Page Object Module模式。
    库结构测试框架(Library Architecture Testing Framework)在模块型框架的基础上扩展了跨模块的业务操作,即常见的业务场景,使常用的业务流程可以被复用。

    • 优点:简化用例操作(直接调用模块封装方法,操作应用),易扩展(编写新的模块),后期维护成本较低(通过修复模块操作来修复失效方法);
    • 缺点:框架前期工作量较高(需要编写大量的模块),数据耦合在用例中,未做分离。
    • 适用:海量用例的大型项目,特别是需要考虑后期维护成本的项目;

    数据驱动型框架

    数据驱动型测试框架(Data-Driven Testing Framework),将数据和测试用例分离,使用文本、CSV、Excel、JSON、YAML或来自于数据的数据来批量测试某个场景,如HttpRunner。

    • 优点:使用者(执行者)无须编码,仅需按格式提供数据;针对同一场景快速产出大量用例;
    • 缺点:每个场景需要单独开发,所有的数据的场景要求一致;
    • 适用:高频场景,正向场景(异常场景的处理流程各有不同)。

    关键字驱动型框架

    关键字驱动型测试框架(Keyword Driven Testing Framework),以表格或其他形式编写用例,将文本格式的特定关键字转为函数进行执行的框架,如Robot Framework。
    表10.1 关键字驱动框架测试用例

    Test Cases
    测试百度搜索
    Open Browser https://www.baidu.com/ chrome
    Input Element id=kw 临渊
    Click Element id=su
    Close Browser
    • 优点:使用者编写用例上手容易,关键字(函数)可以复用;
    • 缺点:关键字开发需要一定的工作量,数据处理灵活性不如直接使用代码灵活。
    • 适用:Web、App等界面自动化。

    行为驱动开发型框架

    行为驱动开发型框架(Behavior Driven Development Framework),简称BDD。BDD是ATDD验收测试驱动开发的一种升级版,根据明确的预期行为(一组场景)来进行开发和测试。
    如一个后台登录功能,可以描述如下:

    Feature: 登录功能
      Scenario: 正常登录
        Given 用户名 admin 密码 123456
        When 打开后台页面
        And  输入用户名
        And  输入密码
        And  点击登录按钮
        Then 页面中应不包含 您输入的帐号信息不正确
    
    Scenario: 账号为空登录
        Given 用户名为空 密码 123456
        When 打开后台页面
        And  输入用户名
        And  输入密码
        And  点击登录按钮
        Then 页面中应包含 您输入的帐号信息不正确
    

    这种预期行为使用一种特定的规范格式进行描述,旨在消除需求从客户,到产品经理,再到开发/测试时的信息失真问题。

    • 优点:场景明确、上手简单;
    • 缺点:每个场景步骤需要使用脚本实现,步骤和场景复用度低。
    • 适用:面向客户的产品,Web、App等界面自动化。

    混合型框架

    混合型框架(Hybrid Testing Framework),混合使用各种模式搭建的框架。

    • 优点:融合了各种框架的优点、灵活型较高。
    • 缺点:搭建测试框架的工作量较大。
    • 适用:被测场景种类较多,需要各种灵活的模式。
  • 相关阅读:
    14.5.5 Creating a File-Per-Table Tablespace Outside the Data Directory
    14.5.5 Creating a File-Per-Table Tablespace Outside the Data Directory
    php session 管理
    php session 管理
    CURD特性
    RabbitMQ学习总结(1)——基础概念详细介绍
    RabbitMQ学习总结(1)——基础概念详细介绍
    RabbitMQ学习总结(1)——基础概念详细介绍
    Java基础学习总结(39)——Log4j 1使用教程
    Java基础学习总结(39)——Log4j 1使用教程
  • 原文地址:https://www.cnblogs.com/superhin/p/14544564.html
Copyright © 2011-2022 走看看