测试方法和装置与流程

    技术2025-11-06  2


    本技术涉及云,并且更具体地,涉及一种测试方法和装置。


    背景技术:

    1、随着软件的规模化和复杂化程度不断提升,运营态网络(也称为生产环境或现网)的性能的问题越发严峻。为了提升运营态网络的性能,可以借助并发测试、长期稳定性测试等测试手段在研发态(也称为开发环境)、预发态(也称为预发布环境)或运营态网络中进行测试。

    2、然而,用于测试的测试模型往往依赖技术人员的经验设计,难以覆盖运营态网络中发生的真实行为旅程,导致运营态网络的风险增加。


    技术实现思路

    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、本技术实施例中,通过运营态数据确定异常操作事件,再根据变异的异常操作事件生成测试模型。本技术实施例生成的测试模型可以发掘出更多的性能或可靠性缺陷,从而实现了模糊测试(fuzztest)的智能化构建。

    27、结合第三方面,在第三方面的某些实现方式中,该运营态数据包括负载压力流量时序数据或关键性能指标(keyperformanceindicator,kpi)时序监控数据。

    28、结合第三方面,在第三方面的某些实现方式中,根据该异常点,确定异常操作事件,包括:查询该异常点对应的时间段;根据该时间段,获取操作事件;根据该操作事件,确定该异常操作事件。

    29、结合第三方面,在第三方面的某些实现方式中,变异该异常操作事件,包括:增加该异常操作事件的负载,或修改该异常操作事件的参数,或变换该异常操作事件的调用或者组合的顺序。

    30、第四方面,本技术实施例提供一种测试装置,该测试装置包括用于实现第一方面或第一方面的任意一种可能的实现方式的模块。

    31、第五方面,本技术实施例提供一种测试装置,该测试装置包括用于实现第二方面或第二方面的任意一种可能的实现方式的模块。

    32、第六方面,本技术实施例提供一种测试装置,该测试装置包括用于实现第三方面或第三方面的任意一种可能的实现方式的模块。

    33、第七方面,提供了一种计算设备,包括处理器和存储器,该处理器用于执行该存储器中存储的指令,以使得该计算设备执行第一方面或者第一方面的任意一种可能的实现方式的测试方法,或者第二方面或者第二方面的任意一种可能的实现方式的测试方法,或者第三方面或者第三方面的任意一种可能的实现方式的测试方法。

    34、第八方面,提供了一种计算设备集群,包括至少一个计算设备,每个计算设备包括处理器和存储器;该至少一个计算设备的处理器用于执行该至少一个计算设备的存储器中存储的指令,以使得该计算设备集群执行第一方面或者第一方面的任意一种可能的实现方式的测试方法,或者第二方面或者第二方面的任意一种可能的实现方式的测试方法,或者第三方面或者第三方面的任意一种可能的实现方式的测试方法。

    35、第九方面,提供了一种包含指令的计算机程序产品,当该指令被计算设备运行时,使得该计算设备执行第一方面或者第一方面的任意一种可能的实现方式的测试方法,或者第二方面或者第二方面的任意一种可能的实现方式的测试方法,或者第三方面或者第三方面的任意一种可能的实现方式的测试方法。

    36、第十方面,提供了一种包含指令的计算机程序产品,当该指令被计算设备集群运行时,使得该计算设备集群执行第一方面或者第一方面的任意一种可能的实现方式的测试方法,或者第二方面或者第二方面的任意一种可能的实现方式的测试方法,或者第三方面或者第三方面的任意一种可能的实现方式的测试方法。

    37、第十一方面,提供了一种计算机可读存储介质,包括计算机程序指令,当该计算机程序指令由计算设备执行时,该计算设备执行第一方面或者第一方面的任意一种可能的实现方式的测试方法,或者第二方面或者第二方面的任意一种可能的实现方式的测试方法,或者第三方面或者第三方面的任意一种可能的实现方式的测试方法。

    38、第十二方面,提供了一种计算机可读存储介质,包括计算机程序指令,当该计算机程序指令由计算设备集群执行时,该计算设备集群执行第一方面或者第一方面的任意一种可能的实现方式的测试方法,或者第二方面或者第二方面的任意一种可能的实现方式的测试方法,或者第三方面或者第三方面的任意一种可能的实现方式的测试方法。


    技术特征:

    1.一种测试方法,其特征在于,包括:

    2.根据权利要求1所述的方法,其特征在于,所述根据所述运营态数据,确定多个融合操作序列,包括:

    3.根据权利要求2所述的方法,其特征在于,所述遍历所述操作序列转移概率图,以确定所述多个融合操作序列,包括:

    4.根据权利要求2或3所述的方法,其特征在于,所述根据所述运营态数据,确定操作序列转移概率图,包括:

    5.根据权利要求3所述的方法,其特征在于,所述根据所述第一操作序列,确定所述多个融合操作序列,包括:

    6.根据权利要求1至5中任意一项所述的方法,其特征在于,所述根据所述多个融合操作序列和所述并发比例,生成测试模型,包括:

    7.根据权利要求6所述的方法,其特征在于,所述根据所述多个融合操作序列和所述并发比例,生成测试模型,包括:

    8.根据权利要求1至7中任意一项所述的方法,其特征在于,所述方法应用于云管理平台。

    9.一种测试装置,其特征在于,包括:

    10.根据权利要求9所述的装置,其特征在于,所述处理模块具体用于:

    11.根据权利要求10所述的装置,其特征在于,所述处理模块具体用于:

    12.根据权利要求10或11所述的装置,其特征在于,所述处理模块具体用于:

    13.根据权利要求11所述的装置,其特征在于,所述处理模块具体用于:

    14.根据权利要求9至13中任意一项所述的装置,其特征在于,所述测试模块具体用于:

    15.根据权利要求14所述的装置,其特征在于,所述测试模块具体用于:

    16.根据权利要求9至15中任意一项所述的装置,其特征在于,所述装置应用于云管理平台。

    17.一种计算设备,其特征在于,包括处理器和存储器,所述处理器用于执行所述存储器中存储的指令,以使得所述计算设备执行如权利要求1至8中任意一项所述的方法。

    18.一种计算设备集群,其特征在于,包括至少一个计算设备,每个计算设备包括处理器和存储器;

    19.一种包含指令的计算机程序产品,其特征在于,当所述指令被计算设备运行时,使得所述计算设备执行如权利要求1至8中任意一项所述的方法。

    20.一种包含指令的计算机程序产品,其特征在于,当所述指令被计算设备集群运行时,使得所述计算设备集群执行如权利要求1至8中任意一项所述的方法。

    21.一种计算机可读存储介质,其特征在于,包括计算机程序指令,当所述计算机程序指令由计算设备执行时,所述计算设备执行如权利要求1至8中任意一项所述的方法。

    22.一种计算机可读存储介质,其特征在于,包括计算机程序指令,当所述计算机程序指令由计算设备集群执行时,所述计算设备集群执行如权利要求1至8中任意一项所述的方法。


    技术总结
    本申请提供了一种测试方法和装置,涉及云技术领域,该方法包括:获取被测系统的运营态数据,其中,该被测系统包括多个应用程序接口;根据该运营态数据,确定多个融合操作序列,其中,该多个融合操作序列中每个融合操作序列包括针对该被测系统的多个操作,该多个操作中相邻两个操作调用的应用程序接口之间有参数传递关系;确定单位时间窗口内该多个融合操作序列在该运营态数据中的并发比例;根据该多个融合操作序列和该并发比例,生成测试模型;根据该测试模型对该被测系统进行性能测试。融合操作序列中的相邻两个操作之间具有参数传递关系,能够更好地体现运营态网络中发生的真实行为旅程,从而有助于降低运营态网络的性能风险。

    技术研发人员:万锐媛,吴润超,田锦彪
    受保护的技术使用者:华为云计算技术有限公司
    技术研发日:
    技术公布日:2024/10/24
    转载请注明原文地址:https://symbian.8miu.com/read-36266.html

    最新回复(0)