自动化测试数据构造之DGL

2023-10-20 17:40

本文主要是介绍自动化测试数据构造之DGL,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

背景问题及解决方案问题

一个系统中所有模块的输入数据结构一致,都是明文的行数据,行数据之间逻辑、列数据之间逻辑通过数据本身很难看出,导致构造的数据可复用成本高,对大数据的可复用成本几乎为0,而每个数据对应的测试点更是难以一一对应

解决方案

数据之间的逻辑关系通过规则文件描述,然后用开源DGL工具将规则文件变成实际的输入、输出数据,解决了数据逻辑不易读的问题,同时解决了数据与测试点难一一对应的问题,将规则文件抽取公共lib库,只关注模块处理的域,大大降低DGL复用的成本,也增加了规则文件的易读性,解决了手工构造数据后续难复用的问题

DGL功能与原理

主要功能

1、通过定义模板,生成所需要数据量的数据。

2、dgl构造数据优势:

a) 准确:只要模板定义正确,就不用担心生成数据的正确性

b) 可复用:通过保存定义好的模板,可以为以后的case再构造数据的时候节省时间。定义的模板越通用,这样通用的模板积累的越多,后面构造数据越容易

c) 易维护:当策略改变时,为策略构造的数据也需要修改时,只需要修改相应的规则文件中的一些规则的定义就可以很方便快速的获取新的数据。而且比直接保存case 数据占用空间和修改成本小得多。

d) 为自动化实现打下良好基础:构造的数据后续复用,为自动化工具提供可行性

原理

DGL定义了一组简单的模板拼装的语法,用户用这种语法生成模板传给DGL工具进行解析,会得到解释为C语言的.c文件。再将.c文件编译执行即可以得到数据

适用范围

1、适用于生成规律性强的数据,大数据量的输入构造,

2、不适用与结构复杂的数据,如网页数据

创新点及应用效果

创新点

1、将原来手工构造数据工作自动化,并建立公共规则lib库,使得数据易复用,易修改

2、解决了原始方式回归测试时,因数据不可复用而无法进行的问题

应用效果

1、提高了代码覆盖率,提高测试质量:原始手工构造数据无法复用,每次测试只关注新feature,遗漏了因修改新feature带来的旧feature bug

2、缩短原式数据构造时间的30%:原始手工构造时需要构造每个域,因为规则文件有公共lib库对default属性描述,现在只需要关注程序逻辑关注的域,会大大降低数据构造的时间

3、为自动化实现打下良好基础:构造的数据后续复用,为自动化工具提供可行性

4、构造大数据通过操作一个变量即可:改变原来手工一点点构造的方式,只需修改一个变量,在分钟级即可实现大数据的构造描述

最后:下方这份完整的软件测试视频学习教程已经整理上传完成,朋友们如果需要可以自行免费领取【保证100%免费】

在这里插入图片描述

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

图片

这篇关于自动化测试数据构造之DGL的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/248644

相关文章

详解如何使用Python构建从数据到文档的自动化工作流

《详解如何使用Python构建从数据到文档的自动化工作流》这篇文章将通过真实工作场景拆解,为大家展示如何用Python构建自动化工作流,让工具代替人力完成这些数字苦力活,感兴趣的小伙伴可以跟随小编一起... 目录一、Excel处理:从数据搬运工到智能分析师二、PDF处理:文档工厂的智能生产线三、邮件自动化:

Python实现自动化Word文档样式复制与内容生成

《Python实现自动化Word文档样式复制与内容生成》在办公自动化领域,高效处理Word文档的样式和内容复制是一个常见需求,本文将展示如何利用Python的python-docx库实现... 目录一、为什么需要自动化 Word 文档处理二、核心功能实现:样式与表格的深度复制1. 表格复制(含样式与内容)2

pytest+allure环境搭建+自动化实践过程

《pytest+allure环境搭建+自动化实践过程》:本文主要介绍pytest+allure环境搭建+自动化实践过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、pytest下载安装1.1、安装pytest1.2、检测是否安装成功二、allure下载安装2.

如何基于Python开发一个微信自动化工具

《如何基于Python开发一个微信自动化工具》在当今数字化办公场景中,自动化工具已成为提升工作效率的利器,本文将深入剖析一个基于Python的微信自动化工具开发全过程,有需要的小伙伴可以了解下... 目录概述功能全景1. 核心功能模块2. 特色功能效果展示1. 主界面概览2. 定时任务配置3. 操作日志演示

Python使用python-docx实现自动化处理Word文档

《Python使用python-docx实现自动化处理Word文档》这篇文章主要为大家展示了Python如何通过代码实现段落样式复制,HTML表格转Word表格以及动态生成可定制化模板的功能,感兴趣的... 目录一、引言二、核心功能模块解析1. 段落样式与图片复制2. html表格转Word表格3. 模板生

使用Python自动化生成PPT并结合LLM生成内容的代码解析

《使用Python自动化生成PPT并结合LLM生成内容的代码解析》PowerPoint是常用的文档工具,但手动设计和排版耗时耗力,本文将展示如何通过Python自动化提取PPT样式并生成新PPT,同时... 目录核心代码解析1. 提取 PPT 样式到 jsON关键步骤:代码片段:2. 应用 JSON 样式到

Python实现自动化接收与处理手机验证码

《Python实现自动化接收与处理手机验证码》在移动互联网时代,短信验证码已成为身份验证、账号注册等环节的重要安全手段,本文将介绍如何利用Python实现验证码的自动接收,识别与转发,需要的可以参考下... 目录引言一、准备工作1.1 硬件与软件需求1.2 环境配置二、核心功能实现2.1 短信监听与获取2.

Python实现Microsoft Office自动化的几种方式及对比详解

《Python实现MicrosoftOffice自动化的几种方式及对比详解》办公自动化是指利用现代化设备和技术,代替办公人员的部分手动或重复性业务活动,优质而高效地处理办公事务,实现对信息的高效利用... 目录一、基于COM接口的自动化(pywin32)二、独立文件操作库1. Word处理(python-d

Python使用DrissionPage中ChromiumPage进行自动化网页操作

《Python使用DrissionPage中ChromiumPage进行自动化网页操作》DrissionPage作为一款轻量级且功能强大的浏览器自动化库,为开发者提供了丰富的功能支持,本文将使用Dri... 目录前言一、ChromiumPage基础操作1.初始化Drission 和 ChromiumPage

Python实现自动化表单填写功能

《Python实现自动化表单填写功能》在Python中,自动化表单填写可以通过多种库和工具实现,本文将详细介绍常用的自动化表单处理工具,并对它们进行横向比较,可根据需求选择合适的工具,感兴趣的小伙伴跟... 目录1. Selenium简介适用场景示例代码优点缺点2. Playwright简介适用场景示例代码