一种云计算资源池网络冒烟测试用例确定方法及系统与流程

    技术2025-05-23  22


    本发明涉及云计算,尤其涉及一种云计算资源池网络冒烟测试用例确定方法及系统。


    背景技术:

    1、随着云计算技术的蓬勃发展,运营商云计算资源池建设也出现了快速增长,涌现了像一城一池、属地云等多省市云计算资源池的大量部署建设。

    2、云网络是云计算资源池的重要底座,在未来数以万计的新资源池部署完成后或者版本升级后,需要对池内云网络的基本功能进行测试验证,以保障资源池按时交付,保证客户业务稳定割接。

    3、由于测试周期有限,在线上云计算资源池中,一般使用冒烟测试方法对资源池进行网络功能验证,冒烟测试只进行基本功能验证,不对具体功能进行更深入的测试。因此,如何精准高效地生成适合的线上资源池冒烟测试用例集,进行线上资源池网络测试验证,成为目前需要解决的至关重要问题。

    4、现有的主流的冒烟测试用例生成方法是通过平台化或自动化,根据被测对象的测试需求生成相应的测试用例,再根据每个用例的优先级、失败率等计算权重,选取权重大的测试用例作为冒烟测试用例。

    5、然而,现有的上述冒烟测试用例生成方法存在以下缺点问题:

    6、(1)现有冒烟测试用例生成方式不适用于云计算资源池网络测试,每个资源池的部署方案有同有异,经过长时间的迭代开发和缺陷修复,不同版本的资源池所支持的网络功能组件各不相同,测试需求和用例确定更加多元化,测试用例不能自动适配;

    7、(2)现有测试用例的优先级一般是人为主观标记的,这种方法低效且具有不确定性,往往不能准确发现当前软件版本存在的缺陷;

    8、(3)现有冒烟测试用例没有涉及到对被测试资源池的基本连通性验证,如果新资源池存在部署的基本连通性问题,执行自动化测试后将会大面积失败,失败后再回头排查会浪费大量时间和人力成本。


    技术实现思路

    1、鉴于以上现有技术的不足,本发明的目的在于提出一种云计算资源池网络冒烟测试用例确定方法及系统,通过持续集成/持续交付的软件版本,周期性建立云网络组件发布版本与全部已发布网络特性需求的支持集;软件接口与测试场景(测试代码)的关联集,基于该支持集和关联集查询被测云计算资源池软件接口对应的测试场景,记录三类测试场景,包括:网元基础连通性测试场景、云网络业务功能测试场景、bug修改软件接口关联的测试场景失败的历史记录作为训练数据源;自研设计测试用例推荐系统,对系统输入训练数据源进行模型训练,生成失败测试场景预测结果,进而确定冒烟测试自动化用例,根据历史预测失败的测试场景,高效、可靠地完成线上资源池网络的测试验证,提高测试验证效率以及测试用例推荐系统的预测准确率。

    2、本发明提供一种云计算资源池网络冒烟测试用例确定方法,包括以下步骤:

    3、s1、通过ci/cd(持续集成/持续交付)的软件版本管理方法,周期性建立云网络组件发布版本与全部已发布网络特性需求的支持集,同时建立已发布网络功能软件接口与测试场景的关联集;

    4、ci/cd(ci持续集成(continuous integration)/cd持续交付(continuousdelivery)是一种通过在应用开发阶段引入自动化来频繁向客户交付应用的方法。ci/cd的核心概念是持续集成、持续交付和持续部署。可让持续自动化和持续监控贯穿于应用的整个生命周期(从集成和测试阶段,到交付和部署)。

    5、优选地,所述支持集与所述关联集的配置文件以yaml文件的方式存储于自动化测试用例框架中,示例如表1所示:

    6、表1

    7、

    8、s2、获取当前被测云计算资源池的各组件版本、虚拟网元、leaf交换机部署信息;通过查询所述支持集,确定预期打开的网络特性功能;通过查询所述关联集,确定待测试软件接口与被测场景的映射关系;适配被测云计算资源池的测试用例范围;

    9、优选地,通过当前资源池对应的组件版本以及部署信息,查找到对应支持的网络功能,从而更加准确适配自动化测试用例范围,如表2所示:

    10、表2

    11、

    12、

    13、s3、判断被测云计算资源池是否为未交维新部署资源池,如果是未交维新部署资源池,则执行s4步骤;如果不是未交维新部署资源池,则执行s5步骤;

    14、s4、获取未交维的新部署资源池的历史组件版本中的网元基础连通性测试场景的失败记录;

    15、s5、获取已交维的新部署资源池的历史组件版本中的云网络业务功能测试场景的失败记录,以及bug修改软件接口关联的测试场景的历史记录;

    16、s6、根据s4步骤或s5步骤的测试失败和接口修改的测试场景历史记录,生成训练数据源;

    17、示例性地,历史记录中有w+1个测试场景[y0,y1,…,yw],生成训练集(x0:api_0,y0),(x1:api_1,y1)…(xn:api_n,yw)进行学习,其中,xn为n+1个所调用函数的向量组合,api_n为所涉及的第n+1个api接口。

    18、s7、将所述训练数据源输入测试用例推荐系统,通过训练数据源对所述测试用例推荐系统进行训练,生成预测网络,对所述预测网络输入资源池版本特征或修改函数,获取失败测试场景的预测结果;

    19、s8、根据所述预测结果中的失败测试场景,确定对应的自动化测试代码,进而确定自动化冒烟测试用例集,进行冒烟测试;

    20、示例性地,输出结果y的名称对应测试场景的名称,在自动化冒烟测试用例中对测试场景提前打标签tag,将y转换成tagid,执行自动化测试脚本,自动调用对应tagid的测试用例case。

    21、s9、根据s8步骤的冒烟测试结果,记录本次测试的失败场景和接口修改造成的失败场景,通过更新后的历史记录更新训练数据源。

    22、进一步地,所述s4步骤的获取未交维的新部署资源池的历史组件版本中的网元基础连通性测试场景的失败记录的方法包括:

    23、根据s2步骤查询的支持集和关联集信息,如果没有网元基础连通性测试场景的失败记录,则构建初始失败测试场景[yv0,ys0,…,yvn,ysn]记录在表中;如果有网元基础连通性测试场景的失败记录,则直接获取。

    24、进一步地,所述s5步骤的获取已交维的新部署资源池的历史组件版本中的云网络业务功能测试场景的失败记录,以及bug修改软件接口关联的测试场景的历史记录的方法包括:

    25、根据s2步骤查询的支持集和关联集信息,如果没有云网络业务功能测试场景的失败记录,则构建初始失败测试场景[y0,y1,…,ym]记录在表中;如果有云网络业务功能测试场景的失败记录,则直接获取;

    26、根据s2步骤查询的支持集和关联集信息,如果没有bug修改软件接口关联的测试场景的失败记录,则构建初始失败测试场景空列表[]记录在表中;如果有bug修改软件接口关联的测试场景的失败记录,则直接获取。

    27、进一步地,所述s3步骤的判断被测云计算资源池是否为未交维的新部署资源池的方法包括:

    28、将获取系统启动时间与当前测试时间的时间差是否小于48小时,作为判定是否为未交维的新部署资源池的条件;如时间差<48小时,则判定为是未交维的新部署资源池;如时间差≥于48小时,则判定为不是未交维的新部署资源池。

    29、进一步地,所述s2步骤的被测场景包括:网元基础连通性测试场景、云网络业务功能测试场景、bug修改软件接口关联的测试场景。

    30、进一步地,所述s7步骤的对所述测试用例推荐系统进行训练的方法包括:

    31、利用s6步骤生成的训练数据源,采用fm算法(factorization machines因子分解机),并结合softmax分类器,基于每个测试场景涉及的函数是否存在缺陷bug是二分类问题的原理,共计有w个二分类问题,将所述测试用例推荐系统输出的一个二分类结果扩展为w个二分类结果。

    32、fm(factorization machines,因子分解机)可以解决特征组合以及高维稀疏矩阵问题,推荐和预估的方法之一。softmax分类器构造模型用于解决多分类问题的方法之一。

    33、进一步地,所述s7步骤的对所述预测网络输入资源池版本特征或修改函数,获取失败测试场景的预测结果的方法包括:

    34、连接研发环境git,获取被测环境发布版本的commit id,获取此commit id版本的源代码;

    35、查询出此commit id版本与上一次发布版本的差异diff,以及被修改和新增的函数名;

    36、通过所述差异diff以及被修改和新增的函数名信息,根据被修改的函数所涉及的接口,找到bug修改软件接口关联的测试场景。

    37、示例性地,修改函数包括:构建0、1编码的x向量,输入到已经训练好的测试用例推荐系统,输出结果y中对应w个单值(0或1),w个单值代表预测w个场景是否存在bug。

    38、本发明还提供一种云计算资源池网络冒烟测试用例确定系统,执行如上述所述的云计算资源池网络冒烟测试用例确定方法,包括:

    39、建立支持集和关联集模块:用于通过ci/cd的软件版本管理方法,周期性建立云网络组件发布版本与全部已发布网络特性需求的支持集,同时建立已发布网络功能软件接口与测试场景的关联集;

    40、适配测试用例范围模块:用于获取当前被测云计算资源池的各组件版本、虚拟网元、leaf交换机部署信息;通过查询所述支持集,确定预期打开的网络特性功能;通过查询所述关联集,确定待测试软件接口与被测场景的映射关系;适配被测云计算资源池的测试用例范围;

    41、判断模块:用于判断被测云计算资源池是否为未交维新部署资源池,如果是未交维新部署资源池,则执行s4步骤;如果不是未交维新部署资源池,则执行s5步骤;

    42、网元基础连通性测试场景模块:用于获取未交维的新部署资源池的历史组件版本中的网元基础连通性测试场景的失败记录;

    43、云网络业务功能测试场景以及bug修改软件接口关联的测试场景模块:用于获取已交维的新部署资源池的历史组件版本中的云网络业务功能测试场景的失败记录,以及bug修改软件接口关联的测试场景的历史记录;

    44、生成训练数据源模块:用于根据s4步骤或s5步骤的测试失败和接口修改的测试场景历史记录,生成训练数据源;

    45、获取预测结果模块:用于将所述训练数据源输入测试用例推荐系统,通过训练数据源对所述测试用例推荐系统进行训练,生成预测网络,对所述预测网络输入资源池版本特征或修改函数,获取失败测试场景的预测结果;

    46、冒烟测试模块:用于根据所述预测结果中的失败测试场景,确定对应的自动化测试代码,进而确定自动化冒烟测试用例集,进行冒烟测试;

    47、更新训练数据源模块:用于根据s8步骤的冒烟测试结果,记录本次测试的失败场景和接口修改造成的失败场景,通过更新后的历史记录更新训练数据源。

    48、本发明还提供一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如上述所述的云计算资源池网络冒烟测试用例确定方法的步骤。

    49、本发明还提供一种计算机设备,所述计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述所述的云计算资源池网络冒烟测试用例确定方法的步骤。

    50、与现有技术相比,本发明的有益效果在于:

    51、本发明提供的云计算资源池网络冒烟测试用例确定方法及系统通过持续集成/持续交付的软件版本管理方法,建立组件版本--网络特性--软件接口--测试场景--测试代码--测试用例的关联集,实现不同资源池的冒烟测试用例可以自动化适配;提高了自动化测试框架的兼容性;优化了冒烟测试用例生成方案,有效提升了冒烟测试的测试效率,解决了现有的新资源池对于存在的部署的基本连通性不通,不能预先发现的问题,节省了定位问题排查的时间和人力成本;通过自研设计测试用例推荐系统,经过对失败测试场景的预测,加强了软件可持续迭代性,提高了测试用例推荐系统的预测准确率。


    技术特征:

    1.一种云计算资源池网络冒烟测试用例确定方法,其特征在于,包括以下步骤:

    2.根据权利要求1所述的云计算资源池网络冒烟测试用例确定方法,其特征在于,所述s4步骤的获取未交维的新部署资源池的历史组件版本中的网元基础连通性测试场景的失败记录的方法包括:

    3.根据权利要求1所述的云计算资源池网络冒烟测试用例确定方法,其特征在于,所述s5步骤的获取已交维的新部署资源池的历史组件版本中的云网络业务功能测试场景的失败记录,以及bug修改软件接口关联的测试场景的历史记录的方法包括:

    4.根据权利要求1所述的云计算资源池网络冒烟测试用例确定方法,其特征在于,所述s3步骤的判断被测云计算资源池是否为未交维的新部署资源池的方法包括:

    5.根据权利要求1所述的云计算资源池网络冒烟测试用例确定方法,其特征在于,所述s2步骤的被测场景包括:网元基础连通性测试场景、云网络业务功能测试场景、bug修改软件接口关联的测试场景。

    6.根据权利要求1所述的云计算资源池网络冒烟测试用例确定方法,其特征在于,所述s7步骤的对所述测试用例推荐系统进行训练的方法包括:

    7.根据权利要求1所述的云计算资源池网络冒烟测试用例确定方法,其特征在于,所述s7步骤的对所述预测网络输入资源池版本特征或修改函数,获取失败测试场景的预测结果的方法包括:

    8.一种云计算资源池网络冒烟测试用例确定系统,执行如权利要求1-7任一项所述的云计算资源池网络冒烟测试用例确定方法,其特征在于,包括:

    9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现权利要求1-7任一项所述的云计算资源池网络冒烟测试用例确定方法的步骤。

    10.一种计算机设备,所述计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-7任一项所述的云计算资源池网络冒烟测试用例确定方法的步骤。


    技术总结
    本发明提供一种云计算资源池网络冒烟测试用例确定方法及系统,属于云计算技术领域,该方法包括:通过CI/CD软件版本管理方法建立支持集,关联集;获取各组件版本、虚拟网元、leaf交换机部署信息;适配测试用例范围;判断是否为未交维;获取网元基础连通性测试场景失败记录;获取云网络业务功能测试场景失败记录及bug修改软件接口关联的测试场景历史记录;生成训练数据源,训练测试用例推荐系统,生成预测网络,输入资源池版本特征或修改函数,获取预测结果;确定自动化测试代码,确定自动化冒烟测试用例集,冒烟测试;记录本次测试失败场景,更新训练数据源。本发明提升了冒烟测试效率,提高了系统预测准确率。

    技术研发人员:王朝艳
    受保护的技术使用者:天翼云科技有限公司
    技术研发日:
    技术公布日:2024/10/24
    转载请注明原文地址:https://symbian.8miu.com/read-31144.html

    最新回复(0)