基于区块链的数据测试方法、装置和服务器与流程

文档序号:34227456发布日期:2023-05-24 10:12阅读:36来源:国知局
基于区块链的数据测试方法、装置和服务器与流程

本说明书属于区块链,尤其涉及基于区块链的数据测试方法、装置和服务器。


背景技术:

1、在大数据处理场景中,一些大型的数据处理平台(例如,xx银行数据处理平台等)往往需要同时进行涉及多个业务系统的多种业务多数据的基于多种测试案例的多个数据测试。

2、基于现有方法,在面对平台上数量庞大、关系复杂的现存测试案例,测试人员如果想要增加新的测试案例进行新的数据测试,往往需要先人工进行较为繁琐、复杂的检测判断,以确定新增的数据测试是否会对现存测试案例的执行产生影响,或者新增的数据测试是否会受到现存的测试案例的执行的影响(例如,某些现存的测试案例在执行过程中,会对新增的测试案例所使用的测试数据造成篡改,进而导致在执行新增的测试案例进行新的数据测试时存在测试不稳定,测试效果差等问题),只有在确定新增的数据测试不会对现存的测试案例的执行产生影响,同时新增的数据测试也不会受到现存的测试案例执行时的影响的前提下,才可以在数据处理平台上顺利增加新的测试案例以进行新的数据测试。可见,基于上述方法在进行数据测试时,检测判断过程较为繁琐、复杂,处理效率较低,且容易出现误差。

3、针对上述问题,目前尚未提出有效的解决方案。


技术实现思路

1、本说明书提供了一种基于区块链的数据测试方法、装置和服务器,可以充分利用区块链的特性,有效地简化检测判断过程,准确、高效地自动判断出利用目标测试数据执行目标测试案例的目标数据测试是否符合相关要求,避免测试终端节点在进行新增的目标数据测试时对平台其他已有的现存测试案例造成影响,同时也避免新增的目标数据测试受到平台其他已有的现存测试案例执行时的影响。

2、本说明书提供了一种基于区块链的数据测试方法,应用于服务器节点,所述方法包括:

3、接收测试终端节点发起的目标数据测试请求;其中,所述目标数据测试请求至少携带有目标测试数据、目标测试案例;

4、响应目标数据测试请求,对目标测试案例和目标测试数据进行可行性检测,确定所述目标测试案例和目标测试数据是否符合预设的第一要求;

5、在确定所述目标测试案例和目标测试数据符合预设的第一要求的情况下,根据所述目标测试案例和目标测试数据,创建目标区块;并将该目标区块连入区块链中;

6、向智能合约发起关于目标数据测试的检测请求;其中,所述智能合约响应检测请求,根据目标区块,对目标测试案例和目标测试数据进行稳定性检测,确定目标测试案例和目标测试数据是否符合预设的第二要求;在确定目标测试案例和目标测试数据符合预设的第二要求,且关于目标数据测试共识通过的情况下,所述智能合约生成对应的目标确认信息;

7、接收并根据目标确认信息,向测试终端节点发送针对目标数据测试的目标测试凭证;其中,所述测试终端节点根据所述目标测试凭证,通过目标区块利用目标测试案例和目标测试数据进行目标数据测试。

8、在一个实施例中,对目标测试案例和目标测试数据进行可行性检测,确定所述目标测试案例和目标测试数据是否符合预设的第一要求,包括:

9、根据目标测试数据运行目标测试案例;其中,所述目标测试数据还携带有目标测试数据的特征字段,所述目标测试案例还携带有目标测试案例的特征字段;

10、检测目标测试案例是否运行成功;

11、在确定目标测试案例运行成功的情况下,获取目标运行结果;

12、根据目标测试数据的特征字段、目标测试案例的特征字段,检测目标运行结果是否满足期望要求;

13、在确定目标运行结果满足期望要求的情况下,确定所述目标测试案例和目标测试数据符合预设的第一要求。

14、在一个实施例中,所述目标测试数据的特征字段包括以下至少之一:系统字段、数据属性字段、操作类型字段;

15、所述目标测试案例的特征字段包括以下至少之一:服务字段、业务字段、输入字段、输出字段。

16、在一个实施例中,在根据目标测试数据运行目标测试案例之前,所述方法还包括:

17、根据预设的数据生成规则,检测所述目标测试案例和目标测试数据是否符合数据生成规范。

18、在一个实施例中,在对目标测试案例和目标测试数据进行可行性检测,确定所述目标测试案例和目标测试数据是否符合预设的第一要求之后,所述方法还包括:

19、在确定所述目标测试案例和目标测试数据不符合预设的第一要求的情况下,生成第一类报错提示;其中,所述第一类报错提示携带有针对目标测试案例和/或目标测试数据的修改建议;

20、向测试终端节点发送所述第一类报错提示。

21、在一个实施例中,所述目标区块至少包括区块头和区块体;其中,所述区块体用于存储目标测试案例和目标测试数据;所述区块头用于存储测试终端节点的节点标识、目标测试案例的案例标识、目标测试数据的数据标识、时间戳、上一个区块的哈希值、目标测试案例的哈希值、目标测试数据的哈希值、目标区块的哈希值。

22、在一个实施例中,所述智能合约响应检测请求,根据目标区块,对目标测试案例和目标测试数据进行稳定性检测,确定目标测试案例和目标测试数据是否符合预设的第二要求,包括:

23、智能合约根据目标测试数据的系统字段,确定与目标测试案例相关的目标系统;

24、查询区块链,确定是否存在与目标系统相关的除目标测试案例以外其他的测试案例;

25、在确定存在与目标系统相关的除目标测试案例以外其他的测试案例的情况下,查询区块链,确定其他的测试案例执行过程中是否使用目标测试数据;

26、在确定存在其他的测试案例执行过程中使用目标测试数据的情况下,根据其他的测试案例中目标测试数据的操作类型字段,确定其他的测试案例在使用目标测试数据的执行过程中是否存在针对目标测试数据的数据更新;

27、在确定其他的测试案例在使用目标测试数据的执行过程中存在针对目标测试数据的数据更新的情况下,确定目标测试案例和目标测试数据不符合预设的第二要求。

28、在一个实施例中,在确定不存在与目标系统相关的除目标测试案例以外其他的测试案例,或不存在其他的测试案例执行过程中使用目标测试数据,或其他的测试案例在使用目标测试数据的执行过程中不存在针对目标测试数据的数据更新的情况下,所述方法还包括:

29、从区块链的现存测试案例中确定出与目标测试案例存在血缘关系的目标关联案例;

30、根据区块链,调用相应的测试终端节点分别利用相应的测试数据执行目标关联案例和目标测试案例,得到对应的执行结果;

31、根据所述执行结果,确定目标测试案例和目标测试数据是否符合预设的第二要求。

32、在一个实施例中,从区块链的现存测试案例中确定出与目标测试案例存在血缘关系的目标关联案例,包括:

33、根据区块链,确定出目标系统的关联系统;

34、确定与关联系统相关的现存测试案例,以及执行与关联系统相关的现存测试案例的测试数据;

35、根据执行与关联系统相关的现存测试案例的测试数据,从与关联系统相关的现存测试案例中筛选出与目标测试案例存在血缘关系的目标关联案例。

36、在一个实施例中,根据区块链,确定出目标系统的关联系统,包括:

37、获取目标系统的数据库表,以及除目标系统外的其他系统的数据库表;

38、计算目标系统的数据库表所包含的字段与其他系统的数据库表所包含的字段之间的字段相似度;

39、计算目标系统的数据库表所包含的业务数据与其他系统的数据库表所包含的业务数据之间的数据重复率;

40、根据字段相似度与数据重复率,确定目标系统与其他系统之间的关联度;

41、从其他系统中筛选出关联度大于预设的关联度阈值的系统,作为目标系统的关联系统。

42、在一个实施例中,根据执行与关联系统相关的现存测试案例的测试数据,从与关联系统相关的现存测试案例中筛选出与目标测试案例存在血缘关系的目标关联案例,包括:

43、检测执行与关联系统相关的现存测试案例的测试数据与目标测试数据是否相同,在确定执行与关联系统相关的现存测试案例的测试数据与目标测试数据相同的情况下,将执行关联系统相关的现存测试案例确定为与目标测试案例存在血缘关系的目标关联案例。

44、在一个实施例中,在确定执行与关联系统相关的现存测试案例的测试数据与目标测试数据不相同的情况下,所述方法还包括:

45、获取执行与关联系统相关的现存测试案例的测试数据的特征字段;

46、根据执行与关联系统相关的现存测试案例的测试数据的特征字段,滤除不存在针对测试数据的数据更新的测试案例,得到过滤后的测试案例;

47、计算过滤后的测试案例的测试数据的特征字段和目标测试数据的特征字段之间的字段匹配度;

48、根据字段匹配度,从过滤后的测试案例中筛选出与目标测试案例存在血缘关系的目标关联案例。

49、本说明还提供了一种基于区块链的数据测试装置,应用于服务器节点,所述装置包括:

50、接收模块,用于接收测试终端节点发起的目标数据测试请求;其中,所述目标数据测试请求至少携带有目标测试数据、目标测试案例;

51、第一检测模块,用于响应目标数据测试请求,对目标测试案例和目标测试数据进行可行性检测,确定所述目标测试案例和目标测试数据是否符合预设的第一要求;

52、创建模块,用于在确定所述目标测试案例和目标测试数据符合预设的第一要求的情况下,根据所述目标测试案例和目标测试数据,创建目标区块;并将该目标区块连入区块链中;

53、第二检测模块,用于向智能合约发起关于目标数据测试的检测请求;其中,所述智能合约响应检测请求,根据目标区块,对目标测试案例和目标测试数据进行稳定性检测,确定目标测试案例和目标测试数据是否符合预设的第二要求;在确定目标测试案例和目标测试数据符合预设的第二要求,且关于目标数据测试共识通过的情况下,所述智能合约生成对应的目标确认信息;

54、发送模块,用于接收并根据目标确认信息,向测试终端节点发送针对目标数据测试的目标测试凭证;其中,所述测试终端节点根据所述目标测试凭证,通过目标区块利用目标测试案例和目标测试数据进行目标数据测试。

55、本说明还提供了一种服务器,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现所述基于区块链的数据测试方法的相关步骤。

56、本说明还提供了一种计算机可读存储介质,其上存储有计算机指令,所述指令被处理器执行时实现所述基于区块链的数据测试方法的相关步骤。

57、基于本说明书提供的基于区块链的数据测试方法、装置和服务器,服务器节点在接收到测试终端节点发起的至少携带有目标测试数据、目标测试案例的目标数据测试请求之后,可以先进行可行性检测,以确定是否符合预设的第一要求;在确定符合预设的第一要求的情况下,创建相应的目标区块,并将该目标区块连入区块链中;再向智能合约发起关于目标数据测试的检测请求;智能合约根据区块链中的目标区块进行稳定性检测,以确定是否符合预设的第二要求;在确定符合预设的第二要求,且共识通过的情况下,智能合约生成并反馈目标确认信息;服务器节点根据目标确认信息,向测试终端节点发送对应的目标测试凭证。进而测试终端节点可以根据目标测试凭证,基于区块链顺利地通过目标区块利用目标测试案例和目标测试数据进行具体的目标数据测试。从而可以充分利用区块链的特性,有效地简化检测判断过程,准确、高效地自动判断出利用目标测试数据执行目标测试案例的目标数据测试是否会与平台其他已有的现存测试案例的执行存在相互影响,是否符合相关要求,避免测试终端节点在进行新增的目标数据测试时对平台其他已有的现存测试案例造成影响,同时也避免新增的目标数据测试受到平台其他已有的现存测试案例执行时的影响,能够较好地保护数据处理平台的数据测试整体的稳定、可靠。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1