一种数据库测试方法及系统与流程

文档序号:35221151发布日期:2023-08-24 19:54阅读:31来源:国知局
一种数据库测试方法及系统与流程

本发明涉及计算机软件设计,具体地说是一种数据库测试方法及系统。


背景技术:

1、在传统的数据库测试中,一般需要工作人员手工完成测试,效率较低;而且由于测试的复杂性,容易出现测试人员手工测试失误而导致的误差。


技术实现思路

1、本发明的技术任务是针对以上不足之处,提供一种数据库测试方法及系统,可以全程脱离人工手动操作,同时可将报告直观体现,测试人员仅仅需要获取报告日志即可;全流程均可做到低代码,配置化,在提供数据库的数据特征后,即使是客户也可以参与到全流程的测试开发中。

2、本发明解决其技术问题所采用的技术方案是:

3、一种数据库测试方法,基于自动化测试和数字摘要实现数据库测试,通过自动化场景测试工具同时写入/修改/删除/查询标准数据库与待测试数据库;该方法的实现包括:

4、自动化测试,设计测试用例并评审后,将测试用例开发编排成特定的脚本,并由脚本输出测试结果与标准结果进行比较;

5、场景测试,基于业务场景的测试,根据需求模拟实际场景,并以此对测试用例做串联或编排;

6、数据库生成器,基于测试场景及预先开发好的规则而编排产生的特定脚本,该脚本使用数据生成器读取,可以生成既定规则下的数据;

7、标准数据库,用于作为对照;

8、数据校验,数据由数据生成器生成后,采用同步/异步方式写入标准数据库与待测试数据库,数据校验用于确保数据完整性;使用相同的算法分别对原始数据和待测试数据进行计算,将得出的校验值进行比对,如果两个校验值是相等则说明数据是完整的;

9、抽样检验,又称抽样检查,针对于数据库这种存储大容量数据的数字仓库,如果采用逐表、逐行校验,会导致校验效率很低,因此采用对其中部分数据的抽样检验,只需确保数据在一定可信度内准确即可;

10、设置数字摘要,将任意长度的长消息变成固定长度的短消息。

11、该流程基于自动化测试,从获得数据到获取报告,可以全程脱离人工手动操作,同时将报告直观体现,测试人员仅仅需要获取报告日志即可;该流程中全流程均可做到低代码,配置化,在提供数据库的数据特征后,即使是客户也可以参与到全流程的测试开发中。

12、优选的,所述数字摘要算法包括md5,sha-1,sha-256算法。

13、优选的,抽样检验时,可定义若干基准时间,并根据相邻基准时间间隔设置上下浮动的滑动窗口,用来进行抽样检验。

14、优选的,所述数据库生成器为低代码数据生成器,提供针对多种特征的数据生成手段,包括固定数据,按现有数据随机抖动,按特定数值范围分布,按照某种特定字符串规则生成,按某种函数生成等。

15、进一步的,在发版前,启动该测试方法,首先导入数据生成器的脚本,然后进行读写测试并获得测试报告,根据是否达到验收标准决定是否发版。

16、优选的,所述读写测试包括两种模式,读写串行和读写并行,其中读写串行先写后读;读写串行和读写并行均可用于测试待测数据库读写综合性能以及数据正确性校验。

17、优选的,所述读写串行模式中,由测试人员(或流水线)发起测试后,首先判断标准数据库中的数据是否已经预置,根据是否预置判断对数据进行导入或依照数据生成器写入,同时对待测数据库进行写入;

18、如果标准数据库出现异常可确认为数据或脚本出现问题,需重新导入数据或设计导入脚本;

19、进行待测数据库写入,对于待测数据库的写入异常,如果标准数据库写入正常,非导入数据或数据生成器出现问题,则说明待测数据库写入出现bug,中止测试并生成报告转交给研发人员修复;

20、对标准数据库和待测数据库写入完成后,进行sql执行;对于每条sql,标准数据库和待测数据库同步生成相同前缀的两个文件,分别代表sql执行结果和执行时间,对于标准数据库和待测数据库的同名文件,做数字摘要比对,将比对结果生成测试报告。

21、进一步的,通过绘图插件,将sql执行时间以直观的方式展现。

22、优选的,验证sql包括普通聚合查询和复杂查询,普通聚合查询的有关时间戳由滑动窗口给出。

23、本发明还要求保护一种数据库测试系统,包括测试场景、数据生成器、标准数据库、数据校验模块、抽样检验模块;

24、测试场景,根据需求规范,由现实或模拟需求探索出的测试过程;

25、数据生成器,基于测试场景及预先开发好的规则而编排产生的特定脚本,该脚本使用数据生成器读取,可以生成既定规则下的数据;

26、标准数据库,用于作为对照,包括oracle,mysql,postgresql等已成熟的数据库;

27、数据校验模块,数据由数据生成器生成后,采用同步/异步方式写入标准数据库与待测试数据库,数据校验模块用于对所述数据进行数据校验,确保数据完整性;

28、抽样检验模块,采取抽样检验时,可定义若干基准时间,并根据相邻基准时间间隔设置上下浮动的滑动窗口,用来进行抽样检验;

29、该系统通过上述的数据库测试方法实现数据库测试。

30、本发明的一种数据库测试方法及系统与现有技术相比,具有以下有益效果:

31、测试全流程中,仅确定测试场景和编写脚本需要测试人员手工完成,可有效提升测试人员效率;

32、由于数据校验比对是由机器自动化完成,降低了测试人员的测试复杂度,避免了测试人员由于手工测试失误导致的误差;

33、客户也可以加入到测试的全流程,测试过程中,增进客户,产品经理,开发人员以及测试人员等等之间的联系;全流程敏捷,高效。



技术特征:

1.一种数据库测试方法,其特征在于,基于自动化测试和数字摘要实现数据库测试,通过自动化场景测试工具同时写入/修改/删除/查询标准数据库与待测试数据库;该方法的实现包括:

2.根据权利要求1所述的一种数据库测试方法,其特征在于,所述数字摘要算法包括md5,sha-1,sha-256算法。

3.根据权利要求1所述的一种数据库测试方法,其特征在于,抽样检验时,可定义若干基准时间,并根据相邻基准时间间隔设置上下浮动的滑动窗口,用来进行抽样检验。

4.根据权利要求1所述的一种数据库测试方法,其特征在于,所述数据库生成器为低代码数据生成器,提供针对多种特征的数据生成手段,包括固定数据,按现有数据随机抖动,按特定数值范围分布,按照某种特定字符串规则生成,按某种函数生成。

5.根据权利要求1-4任一所述的一种数据库测试方法,其特征在于,在发版前,启动该测试方法,首先导入数据生成器的脚本,然后进行读写测试并获得测试报告,根据是否达到验收标准决定是否发版。

6.根据权利要求5所述的一种数据库测试方法,其特征在于,所述读写测试包括两种模式,读写串行和读写并行,其中读写串行先写后读;读写串行和读写并行均可用于测试待测数据库读写综合性能以及数据正确性校验。

7.根据权利要求6所述的一种数据库测试方法,其特征在于,所述读写串行模式中,发起测试后,首先判断标准数据库中的数据是否已经预置,根据是否预置判断对数据进行导入或依照数据生成器写入,同时对待测数据库进行写入;

8.根据权利要求7所述的一种数据库测试方法,其特征在于,通过绘图插件,将sql执行时间以直观的方式展现。

9.根据权利要求7所述的一种数据库测试方法,其特征在于,验证sql包括普通聚合查询和复杂查询,普通聚合查询的有关时间戳由滑动窗口给出。

10.一种数据库测试系统,其特征在于,包括测试场景、数据生成器、标准数据库、数据校验模块、抽样检验模块;


技术总结
本发明公开了一种数据库测试方法及系统,属于计算机软件设计技术领域,基于自动化测试和数字摘要实现数据库测试,通过自动化场景测试工具同时写入/修改/删除/查询标准数据库与待测试数据库;该方法的实现包括:自动化测试,设计测试用例并评审后,将测试用例开发编排成特定的脚本,并由脚本输出测试结果与标准结果进行比较;场景测试;数据库生成器,基于测试场景及预先开发好的规则而编排产生的特定脚本,该脚本使用数据生成器读取,可以生成既定规则下的数据;标准数据库;数据校验;抽样检验;设置数字摘要。本发明可以全程脱离人工手动操作,同时可将报告直观体现,测试人员仅仅需要获取报告日志即可。

技术研发人员:陈鹏
受保护的技术使用者:上海沄熹科技有限公司
技术研发日:
技术公布日:2024/1/14
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1