首页 > 其他分享 >测试框架的(概述、构成以及常用框架类型)

测试框架的(概述、构成以及常用框架类型)

时间:2023-03-03 19:44:07浏览次数:46  
标签:测试 框架 测试用例 概述 模块 驱动 Page

测试框架大致可以分类四大类模块:(基础模块)、(管理模块)、(运行模块)、(统计模块)

基础模块:

  1. 底层核心驱动库:用户操作程序的第三方库, 例如selenium

  2. 可重用的组件:可重复使用的模块, 如时间处理模块

  3. 对象库: 用于存储被测对象的仓库,如我们将某个或多个界面的操作,封装成一个类,这个类的集合就是对象库

  4. 配置文件:配置文件包括(测试环境)的配置和(应用程序)的配置

 

管理模块:

  1. 测试数据管理:如脚本代码中产生的数据, 以及测试前所需准备的数据

  2. 测试文件管理:如测试用例等数据

 

运行模块:

  1. 测试用例调度、驱动机制:测试用例应可以按要求顺序执行, 不能一枚按自上而下执行

  2. 错误恢复机制:由于代码导致的错误,由于环境/依赖导致的错误,测试框架应能识别这些错误,并给予相应处理

  3. 持续集成支持:应与公司的发版系统集成

 

统计模块:

  1. 测试报告:测试报告应包括测试用例条数统计、测试用例成功、失败百分比、测试用例总执行时间, 以及单条用例执行时间

  2. 日志模块:好的测试框架应包含完善的日志统计信息

 

测试框架类型:模块化测试框架、数据驱动框架、关键字驱动框架、混合模型

模块化测试框架:

  如:OOP思想、OP模式:

    1. 将一个业务或一个页面作为一个Page对象,

    2. 而Page对象,用一个Page类来表示

    3. Page类里存放所有Page所属页面对象、元素操作

    4. 页面元素和操作组成测试类方法,供测试用例层调用

  优点:方便维护,测试用例可以又不同模块的不同对象组成

  缺点:需要非常了解系统以及模块是如何划分的,才能在测试脚本里自如的使用,否则就会陷入重复定义模块对象的循环里

 

数据驱动框架:

  如:DDT:数据驱动框架可以解决的问题是:在测试过程中,往往需要使用不同的测试数据,来完成同一个操作的测试用例。使用该框架,可以将测试数据保存到yaml文件或者excel文件中。数据驱动框架的精髓是使用N组测试数据,让系统自动构建出N组测试用例,并可以把每一个测试用例的结果独立展示出来。

 

关键驱动框架:

  BDD(行为驱动开发):通过将一系列操作封装成一个函数, 使用该操作时, 直接调用该函数即可, 如登录Login封装, 如果在测试中使用到登录, 则调用一下Login这个函数即可

 

混合模型:

  所适用的框架不属于以上三种, 或框架中每一种框架都糅合一些,此类框架都可以称为混合模型。

 

标签:测试,框架,测试用例,概述,模块,驱动,Page
From: https://www.cnblogs.com/FBGG/p/17176757.html

相关文章

  • Hypium框架使能ArkTS应用高效测试
     HarmonyOS发布了声明式开发框架ArkUI,带来了极简高效的开发体验,备受广大开发者的青睐。那么,我们在开发过程中,如何确保ArkTS应用的功能和界面满足预期呢?ArkTS应用怎样高效......
  • ISP(图像信号处理)算法概述、工作原理、架构、处理流程
    目录ISP的主要内部构成:ISP内部包含CPU、SUPIP(各种功能模块的通称)、IF等设备ISP的控制结构:1、ISP逻辑2、运行在其上的firmwareISP上的Firmware包含三部分:AP对ISP......
  • springcloud-alibaba项目框架搭建
    一、框架、版本仓库管理基于个人项目,设计为将所有微服务作为多模块项目,放在一个git仓库进行管理。项目大的可以一个微服务一个git仓库二、主模块设置主pom只作聚合作用......
  • 规则平台 项目结构梳理 功能框架细节总结
    主要功能:策略链路-规则-配置后台管理系统:权限团队策略规则管理等其他功能;主要业务框架业务概念:策略-规则;结构概念:抽象为链路-节点;aop拦截器的应用单机缓存的应用......
  • Java Agent场景性能测试分析优化经验分享
    摘要:本文将以Sermant的SpringBoot注册插件的性能测试及优化过程为例,分享在JavaAgent场景如何进行更好的性能测试优化及在JavaAgent下需要着重注意的性能陷阱。作者:栾文......
  • SSM框架-Spring学习日记4
    代理模式代理模式:静态代理动态代理静态代理抽象角色:一般使用接口或者抽象类来实现真实角色:被代理的角色代理角色:代理真实角色;代理真实角色后,一般会......
  • 开源即时通讯IM框架 MobileIMSDK:快速入门
    1、项目简介MobileIMSDK是一套专为移动端开发的原创IM通信层框架:1)历经8年、久经考验;2)超轻量级、高度提炼,lib包50KB以内;3)精心封装,一套API同时支持UDP、TCP、WebSocket......
  • protobuf golang&&python序列化反序列化测试
    1.概要最近考虑采用protobuf来实现kafka消息传递,所以先测试一下golang和python之前序列化互通问题。由于go和python对于二进制的表示在ide层面是无法统一的,直接把python......
  • 【大型软件开发】开发日志(五).net框架与C++的融合:CLR——C++调用C#的DLL
    做什么?先说一下场景,现在正在开发一个QtActiveServer,也就是用一个应用程序去向其他的组件暴露接口,以达到提供服务的目的。然后新版的框架要提供大部分功能,也就是要重做大......
  • Vulnhub之View2akill靶机测试过程(部分)
    View2akill识别目标主机IP地址(kali㉿kali)-[~/Desktop/Vulnhub/View2akill]└─$sudonetdiscover-ieth1-r192.168.56.0/24Currentlyscanning:Finished!|......