CN114328047A - 系统测试方法、装置、电子设备以及存储介质 - Google Patents
系统测试方法、装置、电子设备以及存储介质 Download PDFInfo
- Publication number
- CN114328047A CN114328047A CN202111574219.9A CN202111574219A CN114328047A CN 114328047 A CN114328047 A CN 114328047A CN 202111574219 A CN202111574219 A CN 202111574219A CN 114328047 A CN114328047 A CN 114328047A
- Authority
- CN
- China
- Prior art keywords
- test
- node
- meta
- target
- execution
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
本公开提供了一种系统测试方法、装置、电子设备以及存储介质,涉及计算机技术领域,尤其涉及人工智能、大数据和知识图谱领域。具体实现方案为:接收测试请求,其中,测试请求用于对目标系统包含的多个模块进行测试;确定测试请求对应的至少一个测试节点,其中,每个测试节点由至少一个目标元节点的组成,目标元节点不可拆分;基于至少一个测试节点包含的所有目标元节点的执行成本,确定至少一个测试节点的执行路径;按照执行路径对至少一个测试节点进行测试,得到测试请求对应的测试结果。本公开解决了相关技术中的系统测试方法的测试门槛较高且效率较低的问题。
Description
技术领域
本公开涉及计算机技术领域,尤其涉及人工智能、大数据和知识图谱。具体而言,涉及一种系统测试方法、装置、电子设备以及存储介质。
背景技术
常规的系统测试方案的评估和产出主要依赖领域专家人工的评估及产出。但是,上述方案涉及到的系统往往包含有多个关系复杂的模块,而且,测试效果依赖专家领域经验,导致测试门槛较高,局限性较大,且测试效率较低。
发明内容
本公开提供了一种系统测试方法、装置、电子设备以及存储介质。
根据本公开的一方面,提供了一种系统测试方法,包括:接收测试请求,其中,测试请求用于对目标系统包含的多个模块进行测试;确定测试请求对应的至少一个测试节点,其中,每个测试节点由至少一个目标元节点的组成,目标元节点不可拆分;基于至少一个测试节点包含的所有目标元节点的执行成本,确定至少一个测试节点的执行路径;按照执行路径对至少一个测试节点进行测试,得到测试请求对应的测试结果。
根据本公开的另一方面,提供了一种系统测试装置,包括:接收模块,用于接收测试请求,其中,测试请求用于对目标系统包含的多个模块进行测试;节点确定模块,用于确定测试请求对应的至少一个测试节点,其中,每个测试节点由至少一个目标元节点的组成,目标元节点不可拆分;路径确定模块,用于基于至少一个测试节点包含的所有目标元节点的执行成本,确定至少一个测试节点的执行路径;测试模块,用于按照执行路径对至少一个测试节点进行测试,得到测试请求对应的测试结果。
根据本公开的另一方面,提供了一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行上述的方法。
根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,计算机指令用于使计算机执行根据上述的方法。
根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,计算机程序在被处理器执行时实现根据上述的方法。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1是根据本公开第一实施例的系统测试方法的流程图;
图2是根据本公开实施例的一种测试活动的有向图;
图3是根据本公开实施例的一种测试活动网络的示意图;
图4是根据本公开实施例的一种测试活动覆盖优化的示意图;
图5是根据本公开第一实施例的系统测试装置的示意图;
图6是用来实现本公开实施例的系统测试方法的电子设备的框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
随着互联网产品形态、架构和业务复杂性的不断发展变化与提高,互联网产品质量保障的挑战也越来越大,突出表现为质量和效率两个方面。首先,质量上来说,每一款互联网产品影响的用户范围都是极大的,而每一位用户对产品的使用、用户数据等又是极其不同的,为了更好的保证质量,需要提前耗费大量人力对各种可能的应用场景进行验证和测试。而互联网产品又是极其重视迭代效率的,效率跟不上可能会导致产品失去了继续存在的理由与可能。进而导致了留给测试的时间是严重不足并且更多时候是会被各种情况大量压缩的。这种明显区别与传统软件产品对效率的极致追求带来了对产品大量测试的更大挑战,效率与质量成了都想要,很多时候却无法都做好的一个矛盾点。
导致这个矛盾的一个很大的原因是因为面对一个由多模块、复杂拓扑关系、功能复杂的产品系统,无法精准的评估每次变更实际会影响多大范围、多少的功能、性能等指标类型造成的,导致每次变更都需要对大量可能压根不受影响的功能、性能等做无意义的回归,一方面浪费了宝贵的测试时间,一方面又挤占了本该对实际影响功能做更全面测试的时间。在实际的操作过程中,为了缓解这个问题,一般的做法是由领域经验丰富的同学,根据历史情况、代码变更及人工的经验等做出判断,圈定要测试的系统的范围及相关的测试方案,从而根据经验来搭建相关模块的环境及准备相关的测试数据和测试实施方案。这在系统相对简单及迭代不是很紧急的情况下尚能应付,但是面对日益复杂的系统及对测试效率的极致追求,这种人工评估的方法弊端也日益明显:
首先随着业务的不断复杂及服务云原生、微服务架构的拆分,通过领域测试专家来评估划定测试范围的方案对专家的能力要求越来越高,且对人力的需求也越来越大,这在互联网行业提高效能的背景下是无法得到满足的,导致很多业务需求无法快速上线,丧失很多业务发展的机会。
其次,这个专家评估的方案是相对静态的,而线上架构、数据、风险及代码变更等都是实时变化的,以一个相对静态的评估方法来评估不断动态变化的业务架构,无法及时的将变动因素考虑到评估方案里,难免带来一些遗漏及不可预知的风险,从而给用户、业务带来极大体验及收益的损失。
最后,这种专家评估经验的积累虽然也可以以文档等形式作为传承,但是更大部分还是存在于专家的知识系统中,一旦发生人员变动及业务调整等,对于接手的同学都是更大的挑战,业务也面临更大的风险。
为了解决这些问题,采用人工智能算法代替领域专家,梳理出每个迭代变更影响的因子及可能带来的影响范围,从而在系统级测试过程中让算法基于这些场景输入给出对于要覆盖哪些业务模块,准备什么类型的数据及测试场景,按照什么顺序进行测试的系统级测试方案,可以很好的降低对领域专家的依赖,同时用能够动态的将相关因子纳入到评估模型中,同时模型还可以基于历史的问题情况做进化及迭代,也更方便评估知识的积累。
当前业界存在一些将人工智能算法应用到测试领域的相关案列,比如在单元测试中相关单测情况的生成,功能测试中相关接口测试用例的选择,性能测试中测试数据有效性评估等,相关算法的评估效果数据比较符合预期,并且随着算法的不断进化,相关评估效果已经越来越接近甚至超过专家的评估效果。但是在系统级测试领域,由于相关问题的复杂性及相关风险影响的面比较大,这块基于智能算法实现系统级测试评估及落地的相关案例较少。
针对上述情况,本公开通过基于代码、风险、业务拓扑等输入,使用智能算法进行系统测试场景内测试方案评估及产出,从而提高系统级测试效能的方法。
根据本公开的实施例,本公开提供了一种系统测试方法,如图1所示,该方法可以包括如下步骤:
步骤S102,接收测试请求,其中,测试请求用于对目标系统包含的多个模块进行测试。
上述步骤中的测试请求可以是对目标系统包含的多个模块进行测试的请求,可以是目标系统的需求实现、代码变更、线上服务的变更调整等。此处的目标系统可以是一个由多个模块、复杂拓扑关系、功能复杂的产品系统。
在一种可选的实施例中,当测试人员需要对目标系统进行系统级测试时,测试人员可以在预先提供的操作界面上进行操作,选择需要测试的目标系统,并生成相应的测试请求,该测试请求可以转发给相应的测试平台进行测试。
步骤S104,确定测试请求对应的至少一个测试节点,其中,每个测试节点由至少一个目标元节点的组成,目标元节点不可拆分。
整体上,系统级测试的执行效率主要与制定的测试方案覆盖的业务模块范围及执行单个模块单类型测试需要的时间有关,可以认为系统级测试方案是一个有向图,如图2所示,从起点(开始)到终点(结束)的效率一方面与图中节点的多少及执行路径有关,另一方面与单个节点的执行效率有关。
如图2所示的测试活动可以是系统级级测试中的一个单类型/单节点的测试(即上述的测试节点),这些单个测试活动执行需要的资源及时间等均不相同且可能会受到外部资源等依赖限制,不同活动之间也具有执行的相关顺序依赖,所以系统级测试方案制定首先就是要圈定需要覆盖多少的测试活动,然后决定这些活动的执行顺序。很多时候如果额外引入了一个不需要的活动,对整个方案执行效率上增加的成本很可能不单是单个活动执行的时间消耗,很可能因为一些外部资源的依赖导致整个方案无法执行。
在一种可选的实施例中,可以根据测试请求包含的目标系统的需求实现、代码变更、线上服务的变更调整等输入信息结合人工智能策略算法,确定当前测试需要覆盖的测试活动的最小集合,这样就保证了不会额外引入不必要的测试活动而浪费时间,然后通过优化测试活动的实现架构,定义元活动,将一个测试活动拆分为多个不可拆分的元活动(即上述的目标元节点),通过元活动的元信息描述清楚相关输入、输出及不同元活动组合的约束关系,这样就保证了单个测试活动内部可以动态编排,相关元活动的组合满足系统级测试的需求就可以形成一张如图2所示的测试活动的有向图。此处的元信息可以是具体变更的信息,例如变更模块名称、代码行数、函数复杂度等,但不仅限于此,此处的约束关系可以是一个测试活动要执行需要的前后依赖约束关系。
步骤S106,基于至少一个测试节点包含的所有目标元节点的执行成本,确定至少一个测试节点的执行路径。
上述步骤中的执行成本可以是一种结合历史执行信息如耗时、依赖、稳定性、问题发现个数等综合评估出来的值,代表了执行该测试活动的投入与可能的收益情况,具体可以包括时间成本和资源成本等。执行路径可以是至少一个测试节点的执行顺序,包括并行执行和顺序执行两种顺序。
在一种可选的实施例中,测试活动网络是一种有向图,反映的是测试活动之间的组合关系和测试过程中产出数据的流向。由于不同节点执行时间及顺序可能带来相关依赖资源的等待,可以通过基于历史执行信息,给元活动增加执行时间、问题发现数量、资源占用成本等动态的指标数据,作为单个测试活动的执行成本,可以认为是上述有向图中两个活动之间连线的权重,这样就可以实现满足元信息约束的执行路径的动态最优选择,从而实现整体测试活动执行的动态最优。
例如,以如图3所示的测试活动网络为例进行说明,如果每个测试活动经过基于前述耗时、依赖、稳定性等评估,简单起见,假设每个节点成本计算出来的值是1单位,如果按照选择出来的模块依次顺序执行,最终执行耗时成本为8单位。如果经过基于优化算法及动态值动态调整,则可以将其执行顺序做调整,可以将没有依赖关系的测试活动并行执行,具有依赖关系的测试活动顺序执行,也即测试活动1、测试活动2、测试活动4和测试活动5并行执行,然后执行测试活动3、测试活动6和测试活动8,最后执行测试活动7,因此,执行最终只消耗3单位。
步骤S108,按照执行路径对至少一个测试节点进行测试,得到测试请求对应的测试结果。
在一种可选的实施例中,可以按照执行路径执行每个测试活动,在所有测试活动执行完毕之后,可以得到最终的测试结果。例如,如图3所示的测试活动网络的执行路径为测试活动1、测试活动2、测试活动4和测试活动5并行执行,然后执行测试活动3、测试活动6和测试活动8,最后执行测试活动7,因此,可以按照该执行路径执行每个测试活动。
在本公开实施例中,在接收到测试请求之后,可以确定出测试请求对应的至少一个测试节点,测试节点可以划分为不可拆分的目标元节点,基于所有目标元节点的执行成本,确定至少一个测试节点的执行路径,进而按照该执行路径对至少一个测试节点进行测试,达到系统测试的目的。容易注意到的是,当需要进行系统测试时,用户只需要发送测试请求,无需额外通过人工进行其他操作,至少一个测试活动是测试请求需要的最小集合,避免额外引入不需要的测试活动而浪费时间,并且基于每个测试节点划分的元节点的执行成本确定执行路径,无需按照固定路径执行测试节点,从而达到了降低系统测试的测试门槛,提高系统测试的测试效率的效果,进而解决了相关技术中的系统测试方法的测试门槛较高且效率较低的问题。
在本公开上述实施例中,确定测试请求对应的至少一个测试节点包括:基于预设关联关系,获取测试请求对应的数据,其中,预设关联关系用于表征不同数据和不同模块的关联关系;获取测试请求对应的知识信息,其中,知识信息用于表征不同数据和测试元节点的关联关系;基于知识信息确定数据对应的目标元节点和目标元节点的元信息,其中,元信息用于表征目标元节点的输入属性和输出属性的映射关系;基于目标元节点的元信息,对数据对应的目标元节点进行组合,得到至少一个测试节点。
测试活动覆盖优化主要是圈定当前测试场景需要覆盖的测试活动,不同场景下的测试基于不同的测试目标,需要覆盖的测试活动是不同的,测试效果也是不一样的。要想实现测试活动的最优覆盖,就需要评估出当前的变更(代码调整、机器置换、扩缩容)可能会影响的模块范围及类型。
这些影响范围的判断有的是可以基于固定的关联关系刻画出来的,如基于代码/模块调用关系,可以很方便的通过一些白盒/trace的技术手段,分析出一处代码某种类型的变更需要评估的上下游模块数目。而有一些则没有那么直接的,比如说一个模块机器CPU的调整会对多大范围内模块的性能,要评估好这个范围,除了前述调用关联关系以外,还需要参照这种环境资源调整对单模块性能影响及在整个调用链上不同模块之间的容量buffer等来考虑,比如说如果调整CPU这种操作压根不会是当前模块性能的因素,那么也不需要继续基于该节点的调用关系来圈定测试范围,如果虽然影响该模块的性能,但是这个模块本来就是整个一个链路上的瓶颈点,那么在一定范围之内提高了这个模块的性能也不需要扩大测试的范围,如果确定了会有影响,采用哪种类型的测试方案可以更好的评估这种影响。
上述步骤中的数据可以是一些模块的指标数据、代码变更等数据的表示,例如,代码变更了100行代码,核心借口增加了10个逻辑。知识信息可以是相关领域专家的知识。
在一种可选的实施例中,如图4所示,可以梳理建设这类固定的指标及关联关系,通过数据的采集及统一管理,构建数据空间的数据,然后基于领域专家知识输出建立上层知识空间的知识,基于数据与知识的推演形成单次测试需要覆盖的单个测试活动,测试活动又会触发新的知识推演及数据变化,基于上述过程的不断推演最终确定单次测试所需要覆盖的所有测试活动的范围。其中,图4中所示的菱形框表示数据、矩形框表示知识、虚线表示演化路径,实线表示静态关联,五角星框表示变化因子。
通过上述方案,通过结合目标系统中的数据和知识信息,通过不断迭代给出准确度的评估,确定当前测试需要覆盖的测试活动的最小集合,达到提高测试效率的效果。
在本公开上述实施例中,基于知识信息确定数据对应的目标元节点和目标元节点的元信息包括:基于知识信息构建知识模型;利用知识模型对数据和多个测试元节点进行预测,确定数据对应的目标元节点和目标元节点的元信息。
在一种可选的实施例中,知识网络层处于组合网络的中间层,其主要任务就是为了通过领域专家的知识输出,实现各类元活动的综合集成求解,一个测试活动网络反映了整个系统级测试方案。不同的测试活动作用于不同的被测模块上所产生的效果是不同的,不同的测试需求需要采取的测试活动也不相同,领域知识基于测试需求和元活动的情景信息,确定测试活动的组合关系。知识模型(knowledge model)由信息(Information)、断言(Assertions)、选择器(Model Chooser)3部分组成。
knowledge Model=(Information,Assertions,Model Chooser),
其中,信息描述了测试元活动和测试需求的相关情景信息,是知识选择的依据。断言用一种可推理的方式
描述了测试需求与元活动功能之间的关系,实现了系统级测试过程中基于什么样的变更/测试需求及采取了一些测试活动以后该再采取什么测试活动的逻辑。这些关系有如下形式:
If(模块性能diff激活and发压元活动激活)
[And/Or(core检查活动激活)]
Then搭建老版本测试环境[串联/并联搭建新版本测试环境]
选择器描述了根据组合关系从元活动中选择具体实现的相关目标、参数、方法。比如基于协议、发压类型,结果收集需求等选择不同的发压工具来完成发压的元活动。
通过上述方案,通过知识模型预测目标元节点的元信息,达到了准确确定元活动的元信息的效果,保证单个测试活动内部可以动态编排,满足系统级测试需求。
在本公开上述实施例中,上述元信息至少包括:输入属性的属性状态,输出属性的属性状态和映射关系,属性状态至少包括:属性的测度量纲和时变函数,时变函数用于表征属性随时间的变化规律。
在一种可选的实施例中,测试活动的实现优化主要是为了支持上述推演而进行的架构提升,为了达到单个活动的最优,必须把测试活动拆解到一个个不可继续拆分的元活动,然后基于元活动的输入输出及约束关系,可以自动的构成一个测试活动。
对应一个具体的元活动m,设Nm为对应元活动的概念及属性名称;Am表示它对应的属性状态集,此处的属性状态可以是属性的属性值;Rm表示Am×Am上的映射关系集,用于描述属性状态变化及相互作用关系。那么其一般描述模型可表示为:
Km=(Nm,Am,Rm),
其中若pa为属性a的属性名称;da为属性a的属性测度量纲,也即属性的计量单位;fa为属性a的时变函数,用于描述元活动自身属性随时间的变化规律,则有:
这种关系是元活动自身属性之间的,基于此来自动组合多个元活动为一个测试活动,而一个测试活动与另一个测试活动属性之间的关联关系,则需要借助高层的知识来关联,表现为测试活动覆盖网络的一条边。
通过上述方案,通过元信息详细描述相关输入、输出及不同元活动组合的约束关系,确保相关元活动的组合满足系统级测试的需求,从而形成一张如图2所示的测试活动的有向图。
在本公开上述实施例中,基于至少一个测试节点包含的所有目标元节点的执行成本,确定至少一个测试节点的执行路径包括:基于至少一个目标元节点的执行成本和每个目标元节点的元信息,确定每个测试节点的执行成本;基于每个测试节点的执行成本和至少一个测试节点的组合关系,确定执行路径。
在一种可选的实施例中,可以预先确定每个元节点的执行成本,进而基于元活动的元信息,确定每个测试节点的执行成本,最后可以基于执行成本对测试活动的执行路径进行优化,例如,可以基于优化算法及动态值动态调整至少一个测试活动的执行顺序。
通过上述方案,通过每个测试节点的执行成本对执行路径进行动态优化,实现系统级测试的测试活动执行的动态最优,达到降低测试成本的效果。
在本公开上述实施例中,该方法还包括:获取测试请求对应的历史执行信息;基于历史执行信息,确定每个元节点的执行指标;基于每个元节点的执行指标,确定每个元节点的执行成本。
在一种可选的实施例中,可以基于历史执行信息,给元活动增加执行时间、问题发现数量、资源占用成本等动态的指标数据,作为单个元活动的执行成本。
通过上述方案,通过历史执行信息确定元活动的执行成本,实现满足元信息约束的执行路径的动态最优选择,从而实现整体测试活动执行的动态最优。
根据本公开的实施例,本公开还提供了一种系统测试装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“单元”、“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。如图5所示,该装置包括:
接收模块52,用于接收测试请求,其中,测试请求用于对目标系统包含的多个模块进行测试;
节点确定模块54,用于确定测试请求对应的至少一个测试节点,其中,每个测试节点由至少一个目标元节点的组成,目标元节点不可拆分;
路径确定模块56,用于基于至少一个测试节点包含的所有目标元节点的执行成本,确定至少一个测试节点的执行路径;
测试模块58,用于按照执行路径对至少一个测试节点进行测试,得到测试请求对应的测试结果。
在本公开上述实施例中,节点确定模块54包括:数据获取单元,用于基于预设关联关系,获取测试请求对应的数据,其中,预设关联关系用于表征不同数据和不同模块的关联关系;知识获取单元,用于获取测试请求对应的知识信息,其中,知识信息用于表征不同数据和测试元节点的关联关系;节点确定单元,用于基于知识信息确定数据对应的目标元节点和目标元节点的元信息,其中,元信息用于表征目标元节点的输入属性和输出属性的映射关系;节点组合单元,用于基于目标元节点的元信息,对数据对应的目标元节点进行组合,得到至少一个测试节点。
在本公开上述实施例中,节点确定单元还用于:基于知识信息构建知识模型;利用知识模型对数据和多个测试元节点进行预测,确定数据对应的目标元节点和目标元节点的元信息。
在本公开上述实施例中,路径确定模块56包括:成本确定单元,用于基于至少一个目标元节点的执行成本和每个目标元节点的元信息,确定每个测试节点的执行成本;路径确定单元,用于基于每个测试节点的执行成本和至少一个测试节点的组合关系,确定执行路径。
在本公开上述实施例中,该装置还包括:信息获取模块,用于获取测试请求对应的历史执行信息;指标确定模块,用于基于历史执行信息,确定每个元节点的执行指标;成本确定模块,用于基于每个元节点的执行指标,确定每个元节点的执行成本。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
图6示出了可以用来实施本公开的实施例的示例电子设备600的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图6所示,设备600包括计算单元601,其可以根据存储在只读存储器(ROM)602中的计算机程序或者从存储单元608加载到随机访问存储器(RAM)603中的计算机程序,来执行各种适当的动作和处理。在RAM 603中,还可存储设备600操作所需的各种程序和数据。计算单元601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
设备600中的多个部件连接至I/O接口605,包括:输入单元606,例如键盘、鼠标等;输出单元607,例如各种类型的显示器、扬声器等;存储单元608,例如磁盘、光盘等;以及通信单元609,例如网卡、调制解调器、无线通信收发机等。通信单元609允许设备600通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元601可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元601的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元601执行上文所描述的各个方法和处理,例如系统测试方法。例如,在一些实施例中,系统测试方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元608。在一些实施例中,计算机程序的部分或者全部可以经由ROM 602和/或通信单元609而被载入和/或安装到设备600上。当计算机程序加载到RAM 603并由计算单元601执行时,可以执行上文描述的系统测试方法的一个或多个步骤。备选地,在其他实施例中,计算单元601可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行系统测试方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
Claims (14)
1.一种系统测试方法,包括:
接收测试请求,其中,所述测试请求用于对目标系统包含的多个模块进行测试;
确定所述测试请求对应的至少一个测试节点,其中,每个测试节点由至少一个目标元节点的组成,所述目标元节点不可拆分;
基于所述至少一个测试节点包含的所有目标元节点的执行成本,确定所述至少一个测试节点的执行路径;
按照所述执行路径对所述至少一个测试节点进行测试,得到所述测试请求对应的测试结果。
2.根据权利要求1所述的方法,其中,确定所述测试请求对应的至少一个测试节点包括:
基于预设关联关系,获取所述测试请求对应的数据,其中,所述预设关联关系用于表征不同数据和不同模块的关联关系;
获取所述测试请求对应的知识信息,其中,所述知识信息用于表征不同数据和测试元节点的关联关系;
基于所述知识信息确定所述数据对应的目标元节点和所述目标元节点的元信息,其中,所述元信息用于表征所述目标元节点的输入属性和输出属性的映射关系;
基于所述目标元节点的元信息,对所述数据对应的目标元节点进行组合,得到所述至少一个测试节点。
3.根据权利要求2所述的方法,其中,基于所述知识信息确定所述数据对应的目标元节点和所述目标元节点的元信息包括:
基于所述知识信息构建知识模型;
利用所述知识模型对所述数据和多个测试元节点进行预测,确定所述数据对应的目标元节点和所述目标元节点的元信息。
4.根据权利要求2所述的方法,其中,所述元信息至少包括:所述输入属性的属性状态,所述输出属性的属性状态和所述映射关系,所述属性状态至少包括:属性的测度量纲和时变函数,所述时变函数用于表征所述属性随时间的变化规律。
5.根据权利要求1所述的方法,其中,基于所述至少一个测试节点包含的所有目标元节点的执行成本,确定所述至少一个测试节点的执行路径包括:
基于所述至少一个目标元节点的执行成本和每个目标元节点的元信息,确定所述每个测试节点的执行成本;
基于所述每个测试节点的执行成本和所述至少一个测试节点的组合关系,确定所述执行路径。
6.根据权利要求5所述的方法,还包括:
获取所述测试请求对应的历史执行信息;
基于所述历史执行信息,确定每个元节点的执行指标;
基于所述每个元节点的执行指标,确定所述每个元节点的执行成本。
7.一种系统测试装置,包括:
接收模块,用于接收测试请求,其中,所述测试请求用于对目标系统包含的多个模块进行测试;
节点确定模块,用于确定所述测试请求对应的至少一个测试节点,其中,每个测试节点由至少一个目标元节点的组成,所述目标元节点不可拆分;
路径确定模块,用于基于所述至少一个测试节点包含的所有目标元节点的执行成本,确定所述至少一个测试节点的执行路径;
测试模块,用于按照所述执行路径对所述至少一个测试节点进行测试,得到所述测试请求对应的测试结果。
8.根据权利要求7所述的装置,其中,所述节点确定模块包括:
数据获取单元,用于基于预设关联关系,获取所述测试请求对应的数据,其中,所述预设关联关系用于表征不同数据和不同模块的关联关系;
知识获取单元,用于获取所述测试请求对应的知识信息,其中,所述知识信息用于表征不同数据和测试元节点的关联关系;
节点确定单元,用于基于所述知识信息确定所述数据对应的目标元节点和所述目标元节点的元信息,其中,所述元信息用于表征所述目标元节点的输入属性和输出属性的映射关系;
节点组合单元,用于基于所述目标元节点的元信息,对所述数据对应的目标元节点进行组合,得到所述至少一个测试节点。
9.根据权利要求8所述的装置,其中,所述节点确定单元还用于:
基于所述知识信息构建知识模型;
利用所述知识模型对所述数据和多个测试元节点进行预测,确定所述数据对应的目标元节点和所述目标元节点的元信息。
10.根据权利要求7所述的装置,其中,所述路径确定模块包括:
成本确定单元,用于基于所述至少一个目标元节点的执行成本和每个目标元节点的元信息,确定所述每个测试节点的执行成本;
路径确定单元,用于基于所述每个测试节点的执行成本和所述至少一个测试节点的组合关系,确定所述执行路径。
11.根据权利要求10所述的装置,还包括:
信息获取模块,用于获取所述测试请求对应的历史执行信息;
指标确定模块,用于基于所述历史执行信息,确定每个元节点的执行指标;
成本确定模块,用于基于所述每个元节点的执行指标,确定所述每个元节点的执行成本。
12.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-6中任一项所述的方法。
13.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-6中任一项所述的方法。
14.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1-6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111574219.9A CN114328047A (zh) | 2021-12-21 | 2021-12-21 | 系统测试方法、装置、电子设备以及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111574219.9A CN114328047A (zh) | 2021-12-21 | 2021-12-21 | 系统测试方法、装置、电子设备以及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114328047A true CN114328047A (zh) | 2022-04-12 |
Family
ID=81054273
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111574219.9A Pending CN114328047A (zh) | 2021-12-21 | 2021-12-21 | 系统测试方法、装置、电子设备以及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114328047A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116048901A (zh) * | 2023-03-31 | 2023-05-02 | 南京芯驰半导体科技有限公司 | 数据检测方法、装置、电子设备、存储介质及芯片 |
-
2021
- 2021-12-21 CN CN202111574219.9A patent/CN114328047A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116048901A (zh) * | 2023-03-31 | 2023-05-02 | 南京芯驰半导体科技有限公司 | 数据检测方法、装置、电子设备、存储介质及芯片 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115169570A (zh) | 量子网络协议仿真方法、装置及电子设备 | |
CN114862656A (zh) | 基于多gpu的分布式深度学习模型训练代价的获取方法 | |
CN114065864A (zh) | 联邦学习方法、联邦学习装置、电子设备以及存储介质 | |
CN115202847A (zh) | 任务的调度方法和装置 | |
CN114328047A (zh) | 系统测试方法、装置、电子设备以及存储介质 | |
CN114861039A (zh) | 一种搜索引擎的参数配置方法、装置、设备及存储介质 | |
CN112528159B (zh) | 一种特征质量评估方法、装置、电子设备及存储介质 | |
WO2021180056A1 (zh) | 一种资源迁移的方法、系统及设备 | |
US20230273869A1 (en) | Method, electronic device, and computer program product for exporting log | |
CN115563310A (zh) | 一种关键业务节点的确定方法、装置、设备及介质 | |
CN116185578A (zh) | 计算任务的调度方法和计算任务的执行方法 | |
CN114417822A (zh) | 用于生成模型解释信息的方法、装置、设备、介质和产品 | |
CN112231299B (zh) | 一种特征库动态调整的方法和装置 | |
CN115412401A (zh) | 训练虚拟网络嵌入模型及虚拟网络嵌入的方法和装置 | |
CN114021642A (zh) | 数据处理方法、装置、电子设备和存储介质 | |
CN114218313A (zh) | 数据管理方法、装置、电子设备、存储介质及产品 | |
CN113961797A (zh) | 资源推荐方法、装置、电子设备和可读存储介质 | |
CN113051479A (zh) | 文件处理、推荐信息生成方法、装置、设备及存储介质 | |
CN113779098B (zh) | 数据处理方法、装置、电子设备以及存储介质 | |
CN115098405B (zh) | 软件产品的测评方法、装置、电子设备及存储介质 | |
CN113742243B (zh) | 应用评测方法、装置、电子设备和计算机可读介质 | |
CN113411390B (zh) | 内容分发网络的调度方法、装置及电子设备 | |
CN117057940A (zh) | 一种财务数据审核系统、财务数据审核方法、装置及引擎 | |
CN115858921A (zh) | 模型处理方法、装置、设备以及存储介质 | |
CN114580543A (zh) | 模型训练方法、交互日志解析方法、装置、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |