当前位置: 首页 > 专利查询>兰雨晴专利>正文

基于测试执行机能力度的测试任务自动分配方法组成比例

技术编号:4134792 阅读:418 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种基于测试执行机能力度的测试任务自动分配方法,其面向分布式自动化测试框架,用于提高分布式自动化测试框架的自动化程度。该方法包含以下步骤:(1)首先,通过测试控制台定义测试任务,分解复杂测试任务T,表示为and-or-tree(T)结构,并描述为相应的ECA规则,写入测试执行场景文件中。(2)测试主控机解析测试执行场景文件,对and-or-tree(T)中的每个原子测试任务,迭代执行如下步骤:获取当前各测试执行机所拥有的资源情况,计算得到各测试执行机对该原子测试任务的测试执行能力度,然后按照基于测试执行机能力度的测试任务分配标准将该测试任务分配给一个测试执行机,并将任务分配情况写入测试执行场景文件中。

【技术实现步骤摘要】

本专利技术涉及软件测试任务自动分配方法,尤其是指适用于分布式自 动化测试框架的,基于测试执行机能力度的测试任务自动分配的方法。
技术介绍
通过对国内外研究人员在分布式系统测试研究领域内提出的各种测 试框架的分析可知,自动化测试框架由两部分功能组成, 一部分为测试 脚本的生成,另一部分为测试脚本执行和执行管理。测试脚本执行和执 行管理部分完成测试任务的定义、任务分配、部署、调度,自动化执行、 测试结果收集和分析等测试执行管理功能。现有研究主要集中于测试脚 本的生成和重用、测试的自动执行,测试的协同工作三个方向。当前研 究集中于脚本的自动化执行和测试结果的自动化收集和分析,而对于分 布式测试任务的自动化分配、部署、调度方向还未见研究,主要采用人工分配、部署和调度的方式。当前的测试执行框架,包括著名的Rational Test Manager等都采用人工分配测试任务的方式。测试任务人工分配方 式增加了测试人员的负担,分配策略只能采用静态任务分配策略,而且 和测试人员的经验直接相关,有可能不是最佳的分配方案,导致测试机 的资源浪费,增加测试执行时间。测试任务人工分配方式一方面存在效 率的问题,另一方面人工调度可能导致任务分配、调度对资源的利用不 合理。若能实现测试任务自动化分配将进一步提高自动化测试框架的自 动化程度。
技术实现思路
为了解决上述问题,进一步提高分布式自动化测试框架的自动化程 度,提高测试任务分配的效率,本专利技术的主要目的在于提出一种基于测4试执行机能力度的测试任务自动分配方法。在本专利技术中,测试主控机通过分析测试任务对测试执行机能力的要 求,按照测试执行能力度大小自动选择适合的测试执行机,完成测试任务的自动分配。具体步骤如下(1)通过GUI控制台定义测试任务时,分解复杂测试任务T,表示 为and-or-tree(T)结构,并描述相应的ECA规则集合,写入测试执行场 景文件。(2 )测试主控4几解析测试执4亍场景文件,对and-or-tree(T)中的每 个原子测试任务,迭代执行如下步骤获取当前各测试执行机所拥有的 资源情况,计算得到各测试执行机对该原子测试任务的测试执行能力度, 然后按照基于测试执行机能力度的测试任务分配标准将该测试任务分配 给一个测试执行机,并将任务分配情况写入测试执行场景文件中。测试任务的分配为仅对and-or-tree(T)中所有原子测试任务进行分配,将原子测试任务分配给各测试执行机,而树上其它非原子测试任务 的执行与协调,例如同步与任务,选择或任务等,均由测试主控机根据测试执行场景文件中ECA规则的描述来完成。本专利技术的技术效果是,为分布式自动化测试框架提供了 一种自动化 测试任务分配方法,进一步提高了自动化测试框架的自动化程度。相关定义定义1测试任务为实现特定测试目标所要执行的测试用例集。如完成操作系统和数 据库之间的兼容性测试所需要执行的测试用例集。测试任务分为原子测 试任务和复杂任务。定义2原子测试任务原子测试任务7^皮定义为在执行测试任务分配时的一个不可再分的测试用例的最小集合,它是参与分配的最小单位。任务7]可以是一个与其 它测试用例不相关的单独测试用例,也可以是一组相关联的测试用例。 定义3复杂测试任务是由 一 系列逻辑相关的原子测试任务所构成的有序集合。 定义4复杂任务的与-或树(and-or-tree)描述 将复杂测试任务分解为原子测试任务,复杂测试任务分解为原子测 试任务描述为ComplicatedTask=<DecomID, AtomTaskSet, Relation, 0THERS> 其中,DecomID表示复杂测试任务的标识,用以区分各个不同的,皮分 解复杂测试任务;AtomTaskSet 表示原子测试任务集; Relation={And, Or, Enable, Facilitae, ...},表示原子测试任务的各种相 互依赖关系;OTHERS描述了复杂任务的其它属性特征,包括任务的难度、 重要性等属性。原子测试任务及任务间各种相互依赖关系共同构成了被分解复杂测 试任务的结构特征。通常釆用领域无关的任务表达框架TAEMS来描述复 杂任务分解,TAEMS采用与-或树表示任务的分解过程和分解任务。 它将方法作为最小的任务执行单位,用概率的方式量化了方法对应的质 量、费用、时间等属性值;同时它利用累积函数表达上下层任务间的连 接,揭示这些任务间的与-或,,关系。本专利技术的方法是将原子测试任务 与TAEMS中的方法相对应,并定义分解的复杂测试任务T对应的与-或 树,,(and-or-tree )描述如下设任一测试任务T的结构都可以描述为一棵与-或树,记作 and-or-tree (T),树的根节点表示任务T,树的叶子节点表示可以被单个 测试执行机独立完成的原子测试任务,并且约定如果树的某个节点有 儿子任务,那么其儿子任务之间的执行逻辑要么全与,,,要么全或,记作0^/-尸( 12,...,)或0-F仏,,2,…,0,其中F是节点标识,f,.是F的儿子 节点。4夺and—or—tree(T)等^f介;l也用ECA(event—condition—action)MJ寸集 合表示,ECA规则通过条件的组合,例如条件的合取(a)、析取(v),描 述组合条件关系,同时也描述了执行活动的执行依赖关系。定义5测试执行机的执行能力和执行能力度测试执行机的执行能力度描述了测试执行机的系统资源状况,表示 测试执行机完成任务的能力大小。记测试执行机a具有执行任务t的执 行能力为屈zV ,测试执行机a对于任务t的执行能力度为《,当ct: 时, 测试执行机a具有执行任务t的能力。测试执行机a对于任务t的执行能力度《=cv7 + w2;i,其中(1)i ( 2 )仏是完成任务t所需的最长时间,;/。是测试执行机a完成任务t所需 的时间,《是任务t对第k类资源的需求,《是测试执行机a当前所拥有 的第k类资源(当前所拥有的第k类资源为测试执行机a拥有的该类 资源的总数减去被已接受任务占用的资源数,例如测试执行机a当前所 拥有的自由内存为拥有的总内存减去已用的内存),^是相应资源的权重,^^=1; w,和化按时间和资源在任务t中的重要性确定比例,q + G)2 = 1 。若屉Z7。J a JMJ且o 2《2 ,则称测试执行机a,的执行能力度大于测试 执行机。2的执行能力度。定义6测试任务分配标准伊本方法采用基于测试执行能力度的任务分配标准。给定原子测试任务AT ( AT为原子测试任务集),任意两个测试执 行机al和a2,基于测试执行能力度的任务分配标准伊定义为优先于伊v4Mfllf a XMa2, a《2 cr:2 => a〃oc(f,al)-alloc(t,a2)。附图说明图1为自动化测试执行框架的总体架构设计。 图2为任务(T)的与-或树表示。图3为基于测试机能力度测试任务自动分配方法的流程图。 具体实施例方式在 一 个分布式自动化测试执行系统中,每台参与测试任务的机器称 为测试机,测试机分为测试主控机和测试执行机。测试主控机是运行GUI 测试控制台、测试主控部件和测试结果收集与集成部件的测试^li,测试 执行4几为运行测试执行部件的测试才几。系统中有且只本文档来自技高网...

【技术保护点】
一种基于测试执行机能力度的测试任务自动分配方法,用于分布式自动化测试框架,其特征在于包含以下步骤: (1)首先,通过测试控制台定义测试任务,对复杂测试任务(T)进行分解,将该复杂测试任务(T)表示为and-or-tree(T)结构,并 描述为相应的ECA规则集合,写入测试执行场景文件中; (2)测试主控机解析该测试执行场景文件,对and-or-tree(T)结构中的每个原子测试任务,迭代执行如下步骤:获取当前各测试执行机所拥有的资源情况,计算得到各测试执行机对该原子 测试任务的测试执行能力度,然后按照基于测试执行机能力度的测试任务分配标准将该测试任务分配给一个测试执行机,并将任务分配情况写入测试执行场景文件中; 其中,and-or-tree(T)结构为: 树的根节点表示复杂测试任务(T),树 的叶子节点表示可以被单个测试执行机独立完成的原子测试任务,并且,如果树的某个节点有儿子任务,那么其儿子任务之间的执行逻辑为全“与”或全“或”关系; 其中,测试执行机(a)对于任务(t)的执行能力度为σ↓[a]↑[t]=ω↓[1]η+ω ↓[2]λ,测试执行机的执行能力度描述了测试执行机的系统资源状况,表示测试执行机完成任务的能力大小;其中 η=η↓[t]/η↓[a] λ=*μ↓[k](λ↓[a]↑[k]/λ↓[t]↑[k]) η↓[t]是完成任务t所需的 最长时间,η↓[a]是测试执行机a完成任务t所需的时间,λ↓[t]↑[k]是任务t对第k类资源的需求,λ↓[a]↑[k]是测试执行机a当前所拥有的第k类资源,即当前所拥有的第k类资源为:测试执行机a拥有的该类资源的总数减去被已接受任务占用的资源数,μ↓[k]是相应资源的权重,*μ↓[k]=1;ω↓[1]和ω↓[2]按时间和资源在任务t中的重要性确定比例,ω↓[1]+ω↓[2]=1; 其中,测试任务分配标准为:测试执行机a具有执行任务t的执行能力为Abil↓[a]t,测试 执行机a对于任务t的执行能力度为σ↓[a]↑[t],当σ↓[a]↑[t]≥1时,测试执行机a具有执行任务t的能力;给定原子测试任务t∈AT,AT为原子测试任务集,任意两个测试执行机a1和a2,基于测试执行能力度的任务分配标准φ为: φ :Abil↓[a1]t^Abil↓[a2]t^σ↓[a1]↑[t]≥σ↓[a2]↑[t]*alloc(t,a1)*alloc(...

【技术特征摘要】
1.一种基于测试执行机能力度的测试任务自动分配方法,用于分布式自动化测试框架,其特征在于包含以下步骤(1)首先,通过测试控制台定义测试任务,对复杂测试任务(T)进行分解,将该复杂测试任务(T)表示为and-or-tree(T)结构,并描述为相应的ECA规则集合,写入测试执行场景文件中;(2)测试主控机解析该测试执行场景文件,对and-or-tree(T)结构中的每个原子测试任务,迭代执行如下步骤获取当前各测试执行机所拥有的资源情况,计算得到各测试执行机对该原子测试任务的测试执行能力度,然后按照基于测试执行机能力度的测试任务分配标准将该测试任务分配给一个测试执行机,并将任务分配情况写入测试执行场景文件中;其中,and-or-tree(T)结构为树的根节点表示复杂测试任务(T),树的叶子节点表示可以被单个测试执行机独立完成的原子测试任务,并且,如果树的某个节点有儿子任务,那么其儿子任务之间的执行逻辑为全“与”或全“或”关系;其中,测试执行机(a)对于任务(t)的执行能力度为<maths id=math0001 num=0001 ><math><![CDATA[ <mrow><msubsup> <mi>&sigma;</mi> <mi>a</mi> <mi>t</mi></msubsup><mo>=</mo><msub> <mi>&omega;</mi> <mn>1</mn></msub><mi>&eta;</mi><mo>+</mo><msub> <mi>&omega;</mi> <mn>2</mn></msub><mi>&lambda;</mi><mo>,</mo> </mrow>]]></math> id=icf0001 file=A2009101699770002C1.tif wi=29 he=5 top= 175 left = 154 img-content=drawing img-format=tif orientation=portrait inline=yes/></maths>测试执行机的执行能力度描述了测试执行机的系统资源状况,表示测试执行机完成任务的能力大小;其中η=ηt/ηa<maths id=math0002 num=0002 ><math><![CDATA[ <mrow><mi>&lambda;</mi><mo>=</mo><munderover> <mi>&Sigma;</mi> <mrow><mi>k</mi><mo>=</mo><mn>1</mn> </mrow> <mrow><mi>q</mi><mo>-</mo><mn>1</mn> </mrow></munderover><msub> <mi>&mu;</mi> <mi>k</mi></msub><mrow> <mo>(</mo> <msubsup><mi>&lambda;</mi><mi>a</mi><mi>k</mi> </msubsup> <mo>/</mo> <msubsup><mi>&lambda;</mi...

【专利技术属性】
技术研发人员:兰雨晴高静
申请(专利权)人:兰雨晴
类型:发明
国别省市:11[]

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

1