一种基于用例依赖关系自动生成测试调度的方法和装置制造方法及图纸

技术编号:13456589 阅读:86 留言:0更新日期:2016-08-03 10:00
本发明专利技术公开了一种基于用例依赖关系自动生成测试调度的方法和装置,其中所述方法包括:获取预设测试任务所需的测试用例;获取测试用例之间的依赖关系及前置依赖类型,并根据所述前置依赖类型,为同顶级的多个测试用例设置优先级,所述同顶级表示依赖于同一个前置用例;根据测试用例间的依赖关系以及测试用例的优先级,生成测试调度。本发明专利技术实施例提供的自动生成测试调度的方法通过管理简单的用例关系和前置依赖类型,即可自动生成测试调度,同时可消除测试过程中的缺陷误报,提升调度执行的可靠性,提升测试结果分析的效率,进而提高自动化测试工作的准确性与效率。

【技术实现步骤摘要】

本专利技术涉及软件测试技术及自动化测试
,尤其涉及一种基于用例依赖关系自动生成测试调度的方法和装置
技术介绍
随着计算机软件自动化测试的深入开展,自动化测试的需求、用例、测试任务调度均日趋增多且复杂多样,而由于自动化测试对测试环境与测试数据的严格要求,导致关于测试执行效率的一些问题变得日趋严重,亟待解决;1、用例的选择与执行顺序排序靠人工,操作复杂且易导致调度执行成功率不高,且对测试人员的要求也比较高。而在执行人员非用例编写或设计人员的情况下,困难就更大。2、自动化测试产生大量缺陷误报,自动化测试准确性受质疑。自动化测试中每个用例失败都会报一个异常,但实际上这些用例失败可能只是部分测试用例执行失败导致的连环失败,大量的缺陷误报必将引起对自动化测试的正确性及有效性怀疑,阻碍自动化测试的继续推广与应用。3、重新调度执行失败用例困难,由于用例需要特定的前置条件,仅仅执行失败的用例调度成功率不高,而执行整个调度花费时间又长,所以如果能自动查找将调度中失败的用例及其依赖用例组成一个新的测试调度,将节省大量的时间与精力。对于测试用例调度生成与缺陷误报的消除,目前的解决方案主要存在以下问题:(1)对调度中用例的选择与排序不能达到完全的自动化(2)测试执行人员需要了解用例设计的整体结构与数据关系。(3)不能实现基于业务级别的缺陷误报消除。
技术实现思路
为了解决上述技术问题,本专利技术提供了一种基于用例依赖关系自动生成测试调度的方法和装置,解决了目前测试调度中用例的选择和排序不能完全达到自动化的问题。依据本专利技术的一个方面,提供了一种基于用例依赖关系自动生成测试调度的方法,包括:获取预设测试任务所需的测试用例;获取测试用例之间的依赖关系及前置依赖类型,并根据所述前置依赖类型,为同顶级节点的多个测试用例设置优先级,所述同顶级表示依赖于同一个前置用例;根据测试用例间的依赖关系以及测试用例的优先级,生成测试调度。可选地,所述测试用例之间的依赖关系包括前置、后置和并行,所述测试用例之间的前置依赖类型包括前置无关、前置更新和前置互斥,前置无关表示后置用例的执行不影响前置用例的执行结果,前置更新表示后置用例的执行会导致前置用例的执行结果的变更,前置互斥表示后置用例的执行会导致前置用例的执行结果消失。可选地,所述测试用例的优先级从高到低顺序依次为前置无关、前置更新和前置互斥。可选地,所述根据测试用例间的依赖关系以及测试用例的优先级,生成测试调度包括:根据测试用例间的依赖关系,形成一个有向无环图;根据测试用例的优先级,对所述有向无环图中的节点进行排序,生成测试调度,其中排序规则为:将所述有向无环图中的前置节点排序在后置节点之前,具有同一个前置节点的多个后置节点按照优先级从高到底依次排列。可选地,根据测试用例的优先级,对所述有向无环图中的节点进行排序,生成测试调度包括:在所述有向无环图中查找依赖度为0的节点,加入栈,其中依赖度为0的节点表示该节点的执行不依赖其他用例。多次执行生成测试调度流程,直到所述栈为空,队列中的测试用例顺序即为自动生成的测试调度;所述生成测试调度流程包括:取所述栈的最后一个节点,加入队列;在所述有向无环图中按照优先级从低到高顺序依次查找所述最后一个节点的后置节点,加入所述栈中。本专利技术的实施例还提供了一种基于用例依赖关系自动生成测试调度的装置,包括:获取模块,用于获取预设测试任务所需的测试用例;优先级设置模块,用于获取测试用例之间的依赖关系及前置依赖类型,并根据所述前置依赖类型,为同顶级节点的多个测试用例设置优先级;生成模块,用于根据测试用例间的依赖关系以及测试用例的优先级,生成测试调度。可选地,所述测试用例之间的依赖关系包括前置、后置和并行,所述测试用例之间的前置依赖类型包括前置无关、前置更新和前置互斥,前置无关表示后置用例的执行不影响前置用例的执行结果,前置更新表示后置用例的执行会导致前置用例的执行结果的变更,前置互斥表示后置用例的执行会导致前置用例的执行结果消失。可选地,所述测试用例的优先级从高到低顺序依次为前置无关、前置更新和前置互斥。可选地,所述生成模块包括:形成单元,用于根据测试用例间的依赖关系,形成一个有向无环图;排序单元,用于根据测试用例的优先级,对所述有向无环图中的节点进行排序,生成测试调度,其中排序规则为:将所述有向无环图中的前置节点排序在后置节点之前,具有同一个前置节点的多个后置节点按照优先级从高到底依次排列。可选地,所述排序单元包括:查找子单元,用于在所述有向无环图中查找依赖度为0的节点,加入栈,其中依赖度为0的节点表示该节点的执行不依赖其他用例。执行子单元,用于多次执行生成测试调度流程,直到所述栈为空,队列中的测试用例顺序即为自动生成的测试调度;所述生成测试调度流程包括:取所述栈的最后一个节点,加入队列;在所述有向无环图中按照优先级从低到高顺序依次查找所述最后一个节点的后置节点,加入所述栈中。本专利技术的实施例的有益效果是:本专利技术实施例提供的一种基于用例依赖关系自动生成测试调度的方法通过管理简单的用例依赖关系,利用测试用例间的依赖关系及前置依赖类型,根据测试任务所需的测试用例查找出与其有依赖关系的测试用例,根据测试用例间的前置依赖类型为同顶级节点的多个测试用例设置优先级,根据测试用例间的依赖关系及测试用例的优先级自动生成高可靠性的调度,同理也可以根据调度中的失败用例,达到重新调度执行失败用例的目的,同时可以消除缺陷误报,提升调度执行的可靠性,提升测试结果分析的效率,进而提高自动化测试工作的准确性与效率。附图说明图1表示本专利技术所述的自动生成测试调度的方法流程图;图2表示本专利技术所述的以系统用户管理功能的测试用例为例形成的有向无环图;图3表示图1中步骤1的具体实现流程图;图4表示本专利技术所述的自动生成测试调度的装置结构图。具体实施方式为使本专利技术要解决的技术问题、技术方案和优点更加清楚,下面将结合具体实施例及附图进行详细描述。本专利技术实施例通过指定待测试任务中的关键用例,自动查找用例间的依赖关系和前置依赖类型,得到测试任务所需测试用例,并对此进行排序,生成测试调度。如图1所示,本专利技术的实施例提供了一种基于用例依赖关系自动生成测试调度的方法,本文档来自技高网...

【技术保护点】
一种基于用例依赖关系自动生成测试调度的方法,其特征在于,包括:获取预设测试任务所需的测试用例;获取测试用例之间的依赖关系及前置依赖类型,并根据所述前置依赖类型,为同顶级的多个测试用例设置优先级,所述同顶级表示依赖于同一个前置用例;根据测试用例间的依赖关系以及测试用例的优先级,生成测试调度。

【技术特征摘要】
1.一种基于用例依赖关系自动生成测试调度的方法,其特征在于,包括:
获取预设测试任务所需的测试用例;
获取测试用例之间的依赖关系及前置依赖类型,并根据所述前置依赖类型,
为同顶级的多个测试用例设置优先级,所述同顶级表示依赖于同一个前置用例;
根据测试用例间的依赖关系以及测试用例的优先级,生成测试调度。
2.如权利要求1所述自动生成测试调度的方法,其特征在于,所述测试用
例之间的依赖关系包括前置、后置和并行,所述前置依赖类型包括前置无关、
前置更新和前置互斥,前置无关表示后置用例的执行不影响前置用例的执行结
果,前置更新表示后置用例的执行会导致前置用例的执行结果的变更,前置互
斥表示后置用例的执行会导致前置用例的执行结果消失。
3.如权利要求2所述自动生成测试调度的方法,其特征在于,所述测试用
例的优先级从高到低顺序依次为前置无关、前置更新和前置互斥。
4.如权利要求2所述自动生成测试调度的方法,其特征在于,所述根据测
试用例间的依赖关系以及测试用例的优先级,生成测试调度包括:
根据测试用例间的依赖关系,形成一个有向无环图;
根据测试用例的优先级和依赖关系,对所述有向无环图中的节点进行排序,
生成测试调度,其中排序规则为:将所述有向无环图中的前置节点排序在后置
节点之前,具有同一个前置节点的多个后置节点按照优先级从高到底依次排列。
5.如权利要求4所述自动生成测试调度的方法,其特征在于,根据测试用
例的优先级,对所述有向无环图中的节点进行排序,生成测试调度包括:
在所述有向无环图中查找依赖度为0的节点,加入栈,其中依赖度为0
的节点表示该节点的执行不依赖其他测试用例;
多次执行生成测试调度流程,直到所述栈为空,队列中的测试用例顺序即
为自动生成的测试调度;
所述生成测试调度流程包括:
取所述栈的最后一个节点,加入队列;
在所述有向无环图中按照优先级从低到高顺序依次查找所述最后一个节

\t点的后置节点,加入所述栈...

【专利技术属性】
技术研发人员:韩欣张毅梁恩磊熊文剑舒敏根李莉郭利江
申请(专利权)人:中国移动深圳有限公司
类型:发明
国别省市:广东;44

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

1