首页> 中国专利> 一种后端数据准确性的校验方法及自动化测试工具

一种后端数据准确性的校验方法及自动化测试工具

摘要

本发明公开了一种后端数据准确性校验方法及自动化测试工具。将接口测试体系中后端数据校验的部分整理分解出一种数据指标准确性的校验方法,并实现了接口自动化测试工具,可以较大地提升接口数据核对的测试效率。具体步骤如下:(1)编写测试用例:编写查询SQL和接口请求信息,并配置到YAML文件中;(2)配置CONFIG.INI文件:配置所测环境信息、数据库连接信息、收件人信息、YAML文件信息;(3)执行用例:通过运行脚本或者PYTEST命令执行一个用例或多个用例;(4)查看结果:对比接口返回的数据与SQL是否一致;(5)使用allure生成测试报告;(6)发送执行完成邮件。本方法和工具可以提高测试效率,提升用户体验,降低产品研发成本。

著录项

  • 公开/公告号CN113868129A

    专利类型发明专利

  • 公开/公告日2021-12-31

    原文格式PDF

  • 申请/专利权人 杭州览众数据科技有限公司;

    申请/专利号CN202111122245.8

  • 发明设计人 陈灿;王一君;孙嘉欣;王光华;

    申请日2021-09-24

  • 分类号G06F11/36(20060101);G06F16/242(20190101);

  • 代理机构33240 杭州君度专利代理事务所(特殊普通合伙);

  • 代理人朱月芬

  • 地址 310000 浙江省杭州市滨江区西兴街道物联网街451号芯图大厦17层

  • 入库时间 2023-06-19 13:29:16

说明书

技术领域

本发明属于信息技术领域,具体涉及一种后端数据准确性的校验方法及自动化测试工具。

背景技术

在当前互联网产品迭代频繁的背景下,由于产品的复杂度加大,系统的复杂度也加大,很多TestCase靠之前的功能测试已经无法覆盖,回归测试的时间越来越少,很难在每个迭代都对所有功能做完整回归,但接口自动化测试因其实现简单、维护成本低,容易提高覆盖率等特点,越来越受重视。

本发明是从后端数据测试过程中总结经验和方法,对接口数据校验的部分整理出一种后端数据准确性的校验方法,并提供了相应的自动化测试工具,较大地提升了后端数据测试的效率,让功能测试人员和性能测试人员在测试的时候更加顺手,最大限度的减少底层bug的出现数量,让产品研发的流程更加敏捷。

发明内容

本发明的目的在于提升数据测试的效率,弥补现有数据测试方法的不足,提出并开发一种后端数据准确性校验方法及自动化测试工具,具体发明内容如下。

一种后端数据准确性校验方法,其可支持的测试场景包含:

场景1:一个具体的SQL对应一个请求BODY,即根据筛选条件编写具体的SQL和请求信息;

场景2:一个动态SQL对应不同的请求信息,即根据不同的筛选条件动态拼接到SQL,配置文件里只需要写一个SQL和多种请求参数信息就能够测试不同筛选条件后的数据对比;

一种后端数据准确性的校验方法,具体实现步骤如下:

步骤1:在YAML配置文件中配置SQL和请求信息;

所述的配置文件根据场景不同,其所需的文件内容不同,具体如下:

场景1:一个具体的SQL对应一个请求体,YAML配置文件内容包含配置如下:

文件名和参数PARAMETERS,其中参数PARAMETERS包含URL、BODY。其中BODY包含SQL、DATA,URL代表请求的接口地址,SQL代表测试获取的对照SQL,具体指,DATA代表请求接口信息的请求体。并且一个SQL只能对应一个DATA;

场景2:一个动态的SQL对应多个请求体,YAML配置文件内容包含配置如下:

文件名和参数PARAMETERS,其中参数PARAMETERS包含URL、SQL、DATA,URL代表请求的接口地址,SQL代表测试获取的对照SQL,DATA代表请求接口信息的请求体,并且一个SQL可以对应多个DATA;

步骤2:配置CONFIG.INI文件,具体包括配置所测环境信息、数据库连接信息、收件人信息、YAML文件信息;

配置所测环境信息,包括测试环境配置和线上环境配置,具体:

[private_debug]

tester=王三

environment=debug

versionCode=md-master-2.0

host=http://product.xxx.com

loginHost=http://product.xxx.com/login

loginInfo={"username":"xxx","password":"xxx"}

[private_release]

tester=王三

environment=release

versionCode=md-master-2.0

host=http://dev.xxx.com

loginHost=http://dev.xxx.com/login

loginInfo={"username":"xxx","password":"xxx"}

其中[private_debug]为测试环境配置,[private_release]为线上环境配置,tester为测试人,environment为测试环境还是线上环境,versionCode为所测系统版本号,host为域名地址,loginHost为登录地址,loginInfo为登录系统的用户名和密码。

数据库连接信息,包括数据库连接配置、数据库名、数据库密码、数据库地址和数据库端口号,具体:

[db_conf]

db_database=xxx

db_password=xxx

db_host=192.168.xx.xx

db_port=xxx

其中[db_conf]为数据库连接配置,db_database为数据库名,db_password为数据库密码,db_host为数据库地址,db_port为数据库端口号。

收件人信息,包括邮箱配置、邮箱服务地址、发送人地址、接收人地址、接收人用户名和接收人密码,具体:

[mail]

smtp_server=xx.xx.xx.com

sender=xx@linezonedata.com

receiver=xx@linezonedata.com

username=xx@linezonedata.com

password=xx

其中[mail]为邮箱配置,smtp_server为邮箱服务地址,sender为发送人地址,receiver为接收人地址,username为接收人用户名,password为接收人密码。

YAML文件信息:

[yaml]

data_yaml=StoreSummaryOneSql,StoreSummaryNodeLevel1

其中[yaml]为YAML文件配置,data_yaml为执行哪些YAML文件内的用例。StoreSummaryOneSql和StoreSummaryNodeLevel1指代YAML文件名。

步骤3:通过CONFIG.INI读取YAML文件(StoreSummaryOneSql和StoreSummaryNodeLevel1文件)的URL、SQL、DATA,循环执行每一组URL、SQL、DATA。

步骤4:通过URL、DATA访问后端数据接口,将接口返回的数据存储到Dataframe中;通过执行测试获取的对照SQL读取数据库中的被测数据,并将查询结果存储到Dataframe中。

步骤5:对比步骤4中的两个结果(返回数据和对照SQL的查询结果)的一致性,使用“.”标识该用例是否测试通过(即“.”表示用例通过,“F”表示用例执行失败)。

步骤6:使用allure生成测试报告。

步骤7:将执行的结果邮件发送给CONFIG.INI文件里配置的接收人。

本发明自动化测试工具的技术架构可分为6大模块:全局初始化模块、用例集初始化模块、循环执行用例模块、对比结果模块、生成报告模块、发送邮件模块。

所述的全局初始化模块,将全局配置进行初始化;

所述的用例集初始化模块,通过读取YAML配置文件将用例内容存放到数据字典中;解析数据字典,将DATA、SQL构造成元组存放到列表中;

所述的循环执行用例模块,将DATA、SQL进行参数化后,循环执行每个用例的内容;

所述的对比结果模块,执行被测接口得到的Dataframe,与执行对照SQL得到的Dataframe进行对比,一致用“.”标识,不一致用“F”标识;

所述的生成报告模块,使用allure插件生成可视化报告;

所述的发送邮件模块,用例执行完成后会将执行结果邮件发送。

本发明自动化测试工具的执行方法如下:

执行方式1:右键run.py选择Run’run’执行,执行全部用例。

执行方式2:通过PYTEST命令执行可以执行部分用例。

本发明有益效果:

本发明通过梳理、总结后端数据测试方法,提出一种后端数据测试的数据测试方法,并对数据场景情况进行分类,编写适用于每种场景的校验程序,开发出一种后端数据测试的自动化测试工具。完善后端数据测试体系,有利于提升数据测试效率。

附图说明

图1是本发明实施例场景1一个具体的SQL对应一个请求体YAML文件配置内容;

图2是本发明实施例场景1一个动态SQL对应多个请求体YAML文件配置内容;

图3是本发明实施例所测环境信息、数据库连接信息、收件人信息、YAML文件信息具体配置信息。

图4是本发明实施例采用该后端数据准确性校验方法及自动化测试工具的具体流程图。

图5是本发明实施例用例运行结果图。

具体实施方式

下面结合附图、附表对本发明进行详细描述,使得本发明的目的和结果更加明显。本实例是从实际数据测试情况出发,编写测试用例,并使用自动化测试工具,达到后端数据的准确性的测试目的。

步骤1:编写用例,在YAML配置文件中配置SQL和请求信息,场景1和场景2对应的YAML文件如图1、图2所示;

步骤2:配置CONFIG.INI文件,配置所测环境信息、数据库连接信息、收件人信息、YAML文件信息,具体配置实施示例见图3;

步骤3:通过自动化测试工具执行后端数据准确性的校验用例,内部逻辑如图4所示。

步骤4:用户可在控制台查看测试结果;图5为使用本发明的自动化测试工具执行测试实施例后,用例执行结果数据;其中“.”表示该条用例测试通过;“F”表示该条用例测试未通过;

步骤6:将执行的结果邮件发送给CONFIG.INI文件里配置的接收人。

本发明不仅局限于上述具体实施方式,本领域一般技术人员根据本发明公开的内容,可以采用其它多种具体实施方案实施本发明。因此,凡是采用本发明的设计结构和思路,做一些简单的变化或更改的设计,都落入本发明保护范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号