自动化测试数据构造之DGL

文章提出了在系统中数据结构统一为明文行数据导致复用困难的问题,解决方案是引入DGL工具,通过规则文件描述数据逻辑,提高数据的可读性和复用性。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%免费】

在这里插入图片描述

软件测试面试文档

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

图片

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值