自动化测试数据构造之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

相关文章

【Linux 从基础到进阶】Ansible自动化运维工具使用

Ansible自动化运维工具使用 Ansible 是一款开源的自动化运维工具,采用无代理架构(agentless),基于 SSH 连接进行管理,具有简单易用、灵活强大、可扩展性高等特点。它广泛用于服务器管理、应用部署、配置管理等任务。本文将介绍 Ansible 的安装、基本使用方法及一些实际运维场景中的应用,旨在帮助运维人员快速上手并熟练运用 Ansible。 1. Ansible的核心概念

如何使用Ansible实现CI/CD流水线的自动化

如何使用Ansible实现CI/CD流水线的自动化 持续集成(CI)和持续交付(CD)是现代软件开发过程中的核心实践,它们帮助团队更快地交付高质量的软件。Ansible,作为一个强大的自动化工具,可以在CI/CD流水线中发挥关键作用。本文将详细介绍如何使用Ansible实现CI/CD流水线的自动化,包括设计流水线的结构、配置管理、自动化测试、部署、以及集成Ansible与CI/CD工具(如Jen

leetcode105 从前序与中序遍历序列构造二叉树

根据一棵树的前序遍历与中序遍历构造二叉树。 注意: 你可以假设树中没有重复的元素。 例如,给出 前序遍历 preorder = [3,9,20,15,7]中序遍历 inorder = [9,3,15,20,7] 返回如下的二叉树: 3/ \9 20/ \15 7   class Solution {public TreeNode buildTree(int[] pr

BIRT 报表的自动化测试

来源:http://www.ibm.com/developerworks/cn/opensource/os-cn-ecl-birttest/如何为 BIRT 报表编写自动化测试用例 BIRT 是一项很受欢迎的报表制作工具,但目前对其的测试还是以人工测试为主。本文介绍了如何对 BIRT 报表进行自动化测试,以及在实际项目中的一些测试实践,从而提高了测试的效率和准确性 -------

文章解读与仿真程序复现思路——电力自动化设备EI\CSCD\北大核心《考虑燃料电池和电解槽虚拟惯量支撑的电力系统优化调度方法》

本专栏栏目提供文章与程序复现思路,具体已有的论文与论文源程序可翻阅本博主免费的专栏栏目《论文与完整程序》 论文与完整源程序_电网论文源程序的博客-CSDN博客https://blog.csdn.net/liang674027206/category_12531414.html 电网论文源程序-CSDN博客电网论文源程序擅长文章解读,论文与完整源程序,等方面的知识,电网论文源程序关注python

图神经网络框架DGL实现Graph Attention Network (GAT)笔记

参考列表: [1]深入理解图注意力机制 [2]DGL官方学习教程一 ——基础操作&消息传递 [3]Cora数据集介绍+python读取 一、DGL实现GAT分类机器学习论文 程序摘自[1],该程序实现了利用图神经网络框架——DGL,实现图注意网络(GAT)。应用demo为对机器学习论文数据集——Cora,对论文所属类别进行分类。(下图摘自[3]) 1. 程序 Ubuntu:18.04

自动化表格处理的革命:智能文档系统技术解析

在当今数据驱动的商业环境中,表格数据的自动化处理成为了企业提高效率、降低成本的关键。企业智能文档系统在智能表格识别方面展现出卓越的性能,通过精准识别和处理各种通用表格,显著提升了企业文档管理的智能化水平。本文将深入探讨该系统在表格识别方面的关键技术和应用优势,以及如何通过行业定制化服务满足不同行业的需求。 1. 通用表格识别 智能文档系统通过先进的OCR技术和表格结构识别算法,能够精准

C++中类的构造函数调用顺序

当建立一个对象时,首先调用基类的构造函数,然后调用下一个派生类的 构造函数,依次类推,直至到达派生类次数最多的派生次数最多的类的构造函数为止。 简而言之,对象是由“底层向上”开始构造的。因为,构造函数一开始构造时,总是 要调用它的基类的构造函数,然后才开始执行其构造函数体,调用直接基类构造函数时, 如果无专门说明,就调用直接基类的默认构造函数。在对象析构时,其顺序正好相反。

Ganymed实现基本的自动化部署API

Ganymed SSH-2 for Java是一个纯Java实现的SHH2库,官网为http://www.ganymed.ethz.ch/ssh2/,最新的更新时间为2006年10月,在用之前,请仔细看一下FAQ,真的能避免很多很多问题 在google上找到的ganymed-ssh2的官网是http://www.ganymed.ethz.ch/ssh2/,进去看官网的英文简介可以看到该网站已经

python自动化测试框架--RobotFramework

为什么需要测试框架 在测试中,经常会为了怎样做测试、使用什么测试工具、如何使用、为什么使用测试工具、使用测试工具能帮助到我们什么等等问题而纠结。当我们选择一项测试工具时,如何组织大量自动化用例;如何合理的进行初始化清除;如何批量筛选待执行的用例;如何输出清晰的测试报告,就是需要我们考虑的事情了。下面简单介绍个使用比较广泛的自动化测试框架,即Robotframework。 RF的特点 RF:由pyt