自动化测试数据构造之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实现Word文档的自动化对比方案

《使用Python实现Word文档的自动化对比方案》我们经常需要比较两个Word文档的版本差异,无论是合同修订、论文修改还是代码文档更新,人工比对不仅效率低下,还容易遗漏关键改动,下面通过一个实际案例... 目录引言一、使用python-docx库解析文档结构二、使用difflib进行差异比对三、高级对比方

Python自动化处理PDF文档的操作完整指南

《Python自动化处理PDF文档的操作完整指南》在办公自动化中,PDF文档处理是一项常见需求,本文将介绍如何使用Python实现PDF文档的自动化处理,感兴趣的小伙伴可以跟随小编一起学习一下... 目录使用pymupdf读写PDF文件基本概念安装pymupdf提取文本内容提取图像添加水印使用pdfplum

基于Python实现自动化邮件发送系统的完整指南

《基于Python实现自动化邮件发送系统的完整指南》在现代软件开发和自动化流程中,邮件通知是一个常见且实用的功能,无论是用于发送报告、告警信息还是用户提醒,通过Python实现自动化的邮件发送功能都能... 目录一、前言:二、项目概述三、配置文件 `.env` 解析四、代码结构解析1. 导入模块2. 加载环

Python实战之SEO优化自动化工具开发指南

《Python实战之SEO优化自动化工具开发指南》在数字化营销时代,搜索引擎优化(SEO)已成为网站获取流量的重要手段,本文将带您使用Python开发一套完整的SEO自动化工具,需要的可以了解下... 目录前言项目概述技术栈选择核心模块实现1. 关键词研究模块2. 网站技术seo检测模块3. 内容优化分析模

Python使用python-pptx自动化操作和生成PPT

《Python使用python-pptx自动化操作和生成PPT》这篇文章主要为大家详细介绍了如何使用python-pptx库实现PPT自动化,并提供实用的代码示例和应用场景,感兴趣的小伙伴可以跟随小编... 目录使用python-pptx操作PPT文档安装python-pptx基础概念创建新的PPT文档查看

基于Python编写自动化邮件发送程序(进阶版)

《基于Python编写自动化邮件发送程序(进阶版)》在数字化时代,自动化邮件发送功能已成为企业和个人提升工作效率的重要工具,本文将使用Python编写一个简单的自动化邮件发送程序,希望对大家有所帮助... 目录理解SMTP协议基础配置开发环境构建邮件发送函数核心逻辑实现完整发送流程添加附件支持功能实现htm

Python调用LibreOffice处理自动化文档的完整指南

《Python调用LibreOffice处理自动化文档的完整指南》在数字化转型的浪潮中,文档处理自动化已成为提升效率的关键,LibreOffice作为开源办公软件的佼佼者,其命令行功能结合Python... 目录引言一、环境搭建:三步构建自动化基石1. 安装LibreOffice与python2. 验证安装

Spring Boot从main方法到内嵌Tomcat的全过程(自动化流程)

《SpringBoot从main方法到内嵌Tomcat的全过程(自动化流程)》SpringBoot启动始于main方法,创建SpringApplication实例,初始化上下文,准备环境,刷新容器并... 目录1. 入口:main方法2. SpringApplication初始化2.1 构造阶段3. 运行阶

从入门到进阶讲解Python自动化Playwright实战指南

《从入门到进阶讲解Python自动化Playwright实战指南》Playwright是针对Python语言的纯自动化工具,它可以通过单个API自动执行Chromium,Firefox和WebKit... 目录Playwright 简介核心优势安装步骤观点与案例结合Playwright 核心功能从零开始学习

Python自动化批量重命名与整理文件系统

《Python自动化批量重命名与整理文件系统》这篇文章主要为大家详细介绍了如何使用Python实现一个强大的文件批量重命名与整理工具,帮助开发者自动化这一繁琐过程,有需要的小伙伴可以了解下... 目录简介环境准备项目功能概述代码详细解析1. 导入必要的库2. 配置参数设置3. 创建日志系统4. 安全文件名处