测试报文的生成方法、装置、电子设备和存储介质制造方法及图纸

技术编号:38898916 阅读:9 留言:0更新日期:2023-09-22 14:18
本公开关于一种测试报文的生成方法、装置、电子设备和存储介质,属于软件测试技术领域,所述测试报文的生成方法,包括:对源程序进行文本处理,以得到与源程序对应的控制流图;对控制流图的数据结构进行处理,以得到基路径覆盖所需的最少测试用例;基于测试用例,生成所需的测试报文。由此,该方法与人工修改报文的方法相比,能够保证测试报文的覆盖率和准确性,提高测试效率。提高测试效率。提高测试效率。

【技术实现步骤摘要】
测试报文的生成方法、装置、电子设备和存储介质


[0001]本公开涉及软件测试
,尤其涉及测试报文的生成方法、装置、电子设备和存储介质。

技术介绍

[0002]在对行内进行国产化改造的过程中,需要对整个项目涉及的全部交易号对应的报文进行测试。为了在测试阶段发现改造后报文中可能存在的问题,需要收集尽可能完善的报文,以实现对基路径的全覆盖。当前收集源程序的方法是通过监测测试环境发送的报文,来收集交易号对应的源程序,在收集到的源程序的基础上人为根据交易内部的判断逻辑修改报文,以实现对更多场景的验证。
[0003]但是,这种生成测试报文的方式无法保证测试报文的覆盖率和准确性,且为了实现对测试场景的基路径的全覆盖很容易产生冗余测试用例,降低报文测试阶段的测试效率。

技术实现思路

[0004]本公开提供一种测试报文的生成方法、装置、电子设备和存储介质,用以解决现有技术中生成测试报文效率低、准确性差,报文测试阶段的测试效率差的问题。
[0005]为此,本公开的第一个目的在于提出一种测试报文的生成方法。
[0006]本公开的第二个目的在于提出一种测试报文的生成装置。
[0007]本公开的第三个目的在于提出一种电子设备。
[0008]本公开的第四个目的在于提出一种计算机可读存储介质。
[0009]本公开的第五个目的在于提出一种计算机程序产品。
[0010]为达到上述目的,本公开第一方面提出了一种测试报文的生成方法,包括:
[0011]对所述源程序进行文本处理,以得到与所述源程序对应的控制流图;
[0012]对所述控制流图的数据结构进行处理,以得到基路径覆盖所需的最少测试用例;
[0013]基于所述测试用例,生成所需的测试报文。
[0014]在本公开实施例的一种可能的实现方式中,所述对所述源程序进行文本处理,以得到与所述源程序对应的控制流图,包括:
[0015]通过字符串匹配的方式,从所述源程序中提取逻辑判断关键词;
[0016]基于所述逻辑判断关键词,将所述源程序简化为所述控制流图。
[0017]在本公开实施例的一种可能的实现方式中,所述基于所述逻辑判断关键词,将所述源程序简化为所述控制流图,包括:
[0018]基于所述逻辑判断关键词,获取由逻辑判断语句组成的集合;
[0019]基于所述集合中的各所述逻辑判断语句,生成所述控制流图。
[0020]在本公开实施例的一种可能的实现方式中,所述对所述控制流图的数据结构进行处理,以得到基路径覆盖所需的最少测试用例,包括:
[0021]获取所述控制流图的开始节点和结束节点;
[0022]在所述控制流图中,寻找一条从所述开始节点至所述结束节点的基路径,作为参考基路径;
[0023]以所述参考基路径为基础,从所述开始节点之后的第一个节点至所述结束节点之前的最后一个节点,判断对应节点是否为具有至少两个输出的节点;
[0024]在所述对应节点为具有至少两个输出的节点的情况下,寻找其它可能的基路径;
[0025]根据所述参考基路径和所述其它可能的基路径,得到所述基路径覆盖所需的最少测试用例。
[0026]在本公开实施例的一种可能的实现方式中,所述获取所述控制流图的开始节点和结束节点之前,还包括:
[0027]获取所述控制流图的边数和节点数;其中,所述节点数是基于逻辑判断关键词确定的;
[0028]根据所述边数和所述节点数,确定所述控制流图的环形复杂度;
[0029]根据所述环形复杂度,确定所述测试用例的目标数量。
[0030]在本公开实施例的一种可能的实现方式中,所述根据所述参考基路径和所述其它可能的基路径,得到所述基路径覆盖所需的最少测试用例之前,还包括:
[0031]获取所述参考基路径和所述其它可能的基路径的路径数量;
[0032]判断所述路径数量是否达到所述目标数量;
[0033]在所述路径数量未达到所述目标数量的情况下,更换所述参考基路径的开始节点或结束节点,并基于更换后的参考基路径继续寻找其它可能的基路径,直至更新后的路径数量达到所述目标数量。
[0034]在本公开实施例的一种可能的实现方式中,所述基于所述测试用例,生成所需的测试报文,包括:
[0035]基于所述测试用例,转化出对应的报文参数;
[0036]将所述报文参数填入报文模板,生成所述所需的测试报文。
[0037]为达到上述目的,本公开第二方面提出了一种测试报文的生成装置,包括:
[0038]第一处理模块,用于对所述源程序进行文本处理,以得到与所述源程序对应的控制流图;
[0039]第二处理模块,用于对所述控制流图的数据结构进行处理,以得到基路径覆盖所需的最少测试用例;
[0040]生成模块,用于基于所述测试用例,生成所需的测试报文。
[0041]在本公开实施例的一种可能的实现方式中,所述第一处理模块用于对所述源程序进行文本处理,以得到与所述源程序对应的控制流图时,包括:
[0042]通过字符串匹配的方式,从所述源程序中提取逻辑判断关键词;
[0043]基于所述逻辑判断关键词,将所述源程序简化为所述控制流图。
[0044]在本公开实施例的一种可能的实现方式中,所述第一处理模块用于基于所述逻辑判断关键词,将所述源程序简化为所述控制流图时,包括:
[0045]基于所述逻辑判断关键词,获取由逻辑判断语句组成的集合;
[0046]基于所述集合中的各所述逻辑判断语句,生成所述控制流图。
[0047]在本公开实施例的一种可能的实现方式中,所述第二处理模块用于对所述控制流图的数据结构进行处理,以得到基路径覆盖所需的最少测试用例时,包括:
[0048]获取所述控制流图的开始节点和结束节点;
[0049]在所述控制流图中,寻找一条从所述开始节点至所述结束节点的基路径,作为参考基路径;
[0050]以所述参考基路径为基础,从所述开始节点之后的第一个节点至所述结束节点之前的最后一个节点,判断对应节点是否为具有至少两个输出的节点;
[0051]在所述对应节点为具有至少两个输出的节点的情况下,寻找其它可能的基路径;
[0052]根据所述参考基路径和所述其它可能的基路径,得到所述基路径覆盖所需的最少测试用例。
[0053]在本公开实施例的一种可能的实现方式中,所述第二处理模块还用于:
[0054]在获取所述控制流图的开始节点和结束节点之前,获取所述控制流图的边数和节点数;其中,所述节点数是基于逻辑判断关键词确定的;
[0055]根据所述边数和所述节点数,确定所述控制流图的环形复杂度;
[0056]根据所述环形复杂度,确定所述测试用例的目标数量。
[0057]在本公开实施例的一种可能的实现方式中,所述第二处理模块还用于:
[0058]在根据所述参本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种测试报文的生成方法,其特征在于,包括:对所述源程序进行文本处理,以得到与所述源程序对应的控制流图;对所述控制流图的数据结构进行处理,以得到基路径覆盖所需的最少测试用例;基于所述测试用例,生成所需的测试报文。2.根据权利要求1所述的方法,其特征在于,所述对所述源程序进行文本处理,以得到与所述源程序对应的控制流图,包括:通过字符串匹配的方式,从所述源程序中提取逻辑判断关键词;基于所述逻辑判断关键词,将所述源程序简化为所述控制流图。3.根据权利要求2所述的方法,其特征在于,所述基于所述逻辑判断关键词,将所述源程序简化为所述控制流图,包括:基于所述逻辑判断关键词,获取由逻辑判断语句组成的集合;基于所述集合中的各所述逻辑判断语句,生成所述控制流图。4.根据权利要求1所述的方法,其特征在于,所述对所述控制流图的数据结构进行处理,以得到基路径覆盖所需的最少测试用例,包括:获取所述控制流图的开始节点和结束节点;在所述控制流图中,寻找一条从所述开始节点至所述结束节点的基路径,作为参考基路径;以所述参考基路径为基础,从所述开始节点之后的第一个节点至所述结束节点之前的最后一个节点,判断对应节点是否为具有至少两个输出的节点;在所述对应节点为具有至少两个输出的节点的情况下,寻找其它可能的基路径;根据所述参考基路径和所述其它可能的基路径,得到所述基路径覆盖所需的最少测试用例。5.根据权利要求4所述的方法,其特征在于,所述获取所述控制流图的开始节点和结束节点之前,还包括:获取所述控制流图的边数和节点数;其中,所述节点数是基于逻辑判断关键词确定的;根据所述边数和所述...

【专利技术属性】
技术研发人员:侯植文
申请(专利权)人:建信金融科技有限责任公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1