首页 / 专利库 / 专利权 / 第I章 / 国际申请 / 请求书 / 声明 / 优先权要求 / 为软件测试过程自动生成测试执行序列的方法和装置

软件测试过程自动生成测试执行序列的方法和装置

阅读:1032发布:2020-09-18

专利汇可以提供软件测试过程自动生成测试执行序列的方法和装置专利检索,专利查询,专利分析的服务。并且本 发明 提供一种为 软件 测试过程自动生成测试执行序列的方法,包括:输入测试实例的脚本;根据上述脚本生成测试执行序列;以及根据预定的条件选择有效的测试执行序列,以生成最后的测试执行序列;其中根据上述脚本生成测试执行序列可基于顺序生成方法、随机生成方法和模型中的任一种方法,选择有效的测试执行序列可采用排除不应包含的测试执行序列、按照测试实例的优先权选择和按照测试实例的逻辑顺序选择之中的任一种或其组合。采用本发明,可以自动生成具有多个测试实例的测试执行序列,以提高在软件自动化测试中发现被测试软件中的 缺陷 的能 力 ,并且可通过JAVA API或GUI向测试者提供,便于测试者使用。,下面是软件测试过程自动生成测试执行序列的方法和装置专利的具体信息内容。

1.一种为软件测试过程自动生成测试执行序列的方法,包括以下步 骤:
输入测试实例的脚本;
根据上述脚本生成测试执行序列;以及
根据预定的条件选择有效的测试执行序列,以生成最后的测试执行序 列。
2.根据权利要求1所述的为软件测试过程自动生成测试执行序列的方 法,其中,所述根据上述脚本生成测试执行序列的步骤是基于顺序生成方 法生成测试执行序列的。
3.根据权利要求1所述的为软件测试过程自动生成测试执行序列的方 法,其中,所述根据上述脚本生成测试执行序列的步骤是基于随机生成方 法生成测试执行序列的。
4.根据权利要求1所述的为软件测试过程自动生成测试执行序列的方 法,其中,所述根据上述脚本生成测试执行序列的步骤是基于被测试软件 的行为模型生成测试执行序列的。
5.根据权利要求1至4任意一项权利要求所述的为软件测试过程自动 生成测试执行序列的方法,其中,
所述预定的条件是根据被测试软件的功能定义的不应包含的测试执行 序列;
所述根据预定的条件选择有效的测试执行序列的步骤进一步包括:在 生成的测试执行序列中排除上述不应包含的测试执行序列。
6.根据权利要求1至4任意一项权利要求所述的为软件测试过程自动 生成测试执行序列的方法,其中,
所述预定的条件是测试实例的优先权,测试实例按照优先权从高到低 的顺序执行;
所述根据预定的条件选择有效的测试执行序列的步骤进一步包括:根 据测试实例的优先权从高到低的顺序选择有效的测试执行序列。
7.根据权利要求1至4任意一项权利要求所述的为软件测试过程自动 生成测试执行序列的方法,其中,
所述预定的条件是测试实例的逻辑顺序;
所述根据预定的条件选择有效的测试执行序列的步骤进一步包括:选 择符合上述逻辑顺序的测试执行序列。
8.根据权利要求1所述的为软件测试过程自动生成测试执行序列的方 法,还包括:
输入测试实例的脚本的运行周期;以及
根据预定的条件和运行周期选择有效的测试执行序列,以生成最后的 测试执行序列。
9.根据权利要求1所述的为软件测试过程自动生成测试执行序列的方 法,还包括:保存最后的测试执行序列以重复使用。
10.一种测试执行序列的生成装置,包括:
输入装置,用于输入测试实例的脚本;
测试执行序列发生器,用于根据输入的脚本生成测试执行序列;以及
测试执行序列过滤器,用于根据预定的条件选择有效的测试执行序列, 以生成最后的测试执行序列。
11.根据权利要求10所述的测试执行序列的生成装置,其中,所述测 试执行序列发生器基于顺序生成方法生成测试执行序列。
12.根据权利要求10所述的测试执行序列的生成装置,其中,所述测 试执行序列发生器基于随机生成方法生成测试执行序列。
13.根据权利要求10所述的测试执行序列的生成装置,其中,所述测 试执行序列发生器基于被测试软件的行为模型生成测试执行序列。
14.根据权利要求10至13任意一项权利要求所述的测试执行序列的 生成装置,其中,所述测试执行序列过滤器在生成的测试执行序列中排除 根据被测试软件的功能所定义的不应包含的测试执行序列。
15.根据权利要求10至13任意一项权利要求所述的测试执行序列的 生成装置,其中,所述测试执行序列过滤器根据测试实例的优先权从高到 低的顺序选择有效的测试执行序列。
16.根据权利要求10至13任意一项权利要求所述的测试执行序列的 生成装置,其中,所述测试执行序列过滤器选择符合测试实例的逻辑顺序 的测试执行序列。
17.根据权利要求10所述的测试执行序列的生成装置,还包括:存储 器,用于存储最后的测试执行序列。

说明书全文

技术领域

发明涉及软件测试领域,具体地说,涉及为软件测试过程自动生成 测试执行序列的方法和装置。

背景技术

软件测试是指通过测试软件的各项功能以发现软件存在的缺陷的过 程,因此软件测试工具需要具有大量的测试实例并自动完成各项测试。在 现有的大多数自动测试工具中,例如IBM公司的RFT(Rational Functional Tester)、RTM(Rational Test Manager)等,通常测试实例是单独自动 执行的,这样,随着软件日益成熟,如果仍然单独自动执行测试实例,将 很难找到软件中的缺陷。实际上,如果能够根据需要自动生成一些测试实 例的执行序列并根据该执行序列自动执行测试实例,就可以方便地找到软 件中存在的关键缺陷。然而,在大多数自动测试工具中并没有为软件测试 过程自动生成测试执行序列的工具。因此,测试者需要这样的工具以便为 软件测试过程提供尽可能多的测试执行序列从而找到软件中的缺陷。

发明内容

本发明正是基于上述技术问题而提出的,其目的在于提供一种为软件 测试过程自动生成测试执行序列的方法和装置。
根据本发明的一个方面,提供一种为软件测试过程自动生成测试执行 序列的方法,包括以下步骤:
输入测试实例的脚本;
根据上述脚本生成测试执行序列;以及
根据预定的条件选择有效的测试执行序列,以生成最后的测试执行序 列。
优选地,所述根据上述脚本生成测试执行序列的步骤是基于顺序生成 方法生成测试执行序列的。
优选地,所述根据上述脚本生成测试执行序列的步骤是基于随机生成 方法生成测试执行序列的。
优选地,所述根据上述脚本生成测试执行序列的步骤是基于被测试软 件的行为模型生成测试执行序列的。
优选地,所述预定的条件是根据被测试软件的功能定义的不应包含的 测试执行序列;所述根据预定的条件选择有效的测试执行序列的步骤进一 步包括:在生成的测试执行序列中排除上述不应包含的测试执行序列。
优选地,所述预定的条件是测试实例的优先权,测试实例按照优先权 从高到低的顺序执行;所述根据预定的条件选择有效的测试执行序列的步 骤进一步包括:根据测试实例的优先权从高到低的顺序选择有效的测试执 行序列。
优选地,所述预定的条件是测试实例的逻辑顺序;所述根据预定的条 件选择有效的测试执行序列的步骤进一步包括:选择符合上述逻辑顺序的 测试执行序列。
优选地,所述方法还包括:根据预定的条件和运行周期选择有效的测 试执行序列,以生成最后的测试执行序列。
优选地,所述方法还包括:保存最后的测试执行序列以重复使用。
根据本发明的另一个方面,提供一种测试执行序列的生成装置,包括:
输入装置,用于输入测试实例的脚本;
测试执行序列发生器,用于将输入的脚本生成测试执行序列;以及
测试执行序列过滤器,用于根据预定的条件选择有效的测试执行序列, 以生成最后的测试执行序列。
优选地,所述测试执行序列发生器基于顺序生成方法生成测试执行序 列。
优选地,所述测试执行序列发生器基于随机生成方法生成测试执行序 列。
优选地,所述测试执行序列发生器基于被测试软件的行为模型生成测 试执行序列。
优选地,所述测试执行序列过滤器在生成的测试执行序列中排除根据 被测试软件的功能所定义的不应包含的测试执行序列。
优选地,所述测试执行序列过滤器根据测试实例的优先权从高到低的 顺序选择有效的测试执行序列。
优选地,所述测试执行序列过滤器选择符合测试实例的逻辑顺序的测 试执行序列。
优选地,所述软件测试执行序列的生成装置还包括:存储器,用于存 储最后的测试执行序列。
附图说明
图1是根据本发明的第一实施例的为软件测试过程自动生成测试执行 序列的方法的流程图
图2是本发明中的基于模型生成测试执行序列的示例图;
图3是根据本发明的第二实施例的为软件测试过程自动生成测试执行 序列的方法的流程图;
图4是根据本发明的实施例的测试执行序列生成装置的示意性框图

具体实施方式

相信通过以下结合附图对本发明的具体实施例的详细说明,本发明的 上述和其它目的、特征和优点会更加明显。
在本发明中,“测试实例”是指对被测试软件的待测试功能的描述, “脚本”是指实现测试实例的程序,而“测试执行序列”是用于调用脚本 的序列。
图1是根据本发明的第一实施例的为软件测试过程自动生成测试执行 序列的方法的流程图。
如图1所示,在步骤101,输入测试实例的脚本,即测试脚本。在测 试工具中一般都可以自动生成测试脚本,测试者只需选择所需的测试脚本 即可。此外,在该步骤中,还可输入测试脚本的运行周期,即测试脚本运 行的次数,用于在后面的步骤中选择有效的测试执行序列。
接着,在步骤105,根据输入的测试脚本生成测试执行序列。生成测 试执行序列的方法可以有以下三种:
1)顺序生成方法,其步骤是:按照在步骤101输入的测试脚本的初 始输入顺序排列这些测试脚本,将其作为第1测试执行序列;然后,依次 改变第1测试执行序列中的第一个测试脚本,以生成其它的测试执行序列。 这样,生成的测试执行序列的个数与输入的测试脚本的个数相同。例如, 在步骤101中输入测试脚本{“testcase1”,“testcase2”,“testcase3”, “testcase4”},则采用顺序生成方法生成的测试执行序列为:
第1测试执行序列:testcase1,testcase2,testcase3,testcase4;
第2测试执行序列:testcase2,testcase3,testcase4,testcase1;
第3测试执行序列:testcase3,testcase4,testcase1,testcase2;
第4测试执行序列:testcase4,testcase1,testcase2,testcase3。
2)随机生成方法:其随机地生成测试执行序列,生成的测试执行序 列的个数是输入的测试脚本的个数的阶乘。在上面的例子中,如果采用随 机生成方法,则生成的测试执行序列为:
第1测试执行序列:testcase1,testcase4,testcase3,testcase2;
第2测试执行序列:testcase2,testcase1,testcase4,testcase3;
             ………………
第24测试执行序列:testcase4,testcase2,testcase1,testcase3。
3)基于模型的生成方法:其根据被测试软件的行为模型,按照符合 该行为模型的系统逻辑的顺序生成测试执行序列,因此,在步骤101中还 需要输入被测试软件的行为模型。例如,被测试软件的行为模型如图2所 示,其具有以下的行为:新建文件、保存文件、修改文件、关闭文件和另 存文件。那么,采用基于模型的生成方法生成的测试执行序列为:
第1测试执行序列:新建文件,修改文件,保存文件,关闭文件;
第2测试执行序列:新建文件,修改文件,另存文件,关闭文件;
第3测试执行序列:新建文件,关闭文件;
第4测试执行序列:新建文件,保存文件,关闭文件;
第5测试执行序列:新建文件,修改文件,保存文件,另存文件,关 闭文件。
在生成了测试执行序列后,为了使生成的测试执行序列更加合理,进 一步执行步骤110:根据预定的条件选择有效的测试执行序列,以生成最 后的测试执行序列。在本实施例中,提供了以下三种选择有效的测试执行 序列的方法:
第一种方法:预定的条件是根据被测试软件的功能定义的不应包含的 测试执行序列,则在通过步骤105生成的测试执行序列中排除上述不应包 含的测试执行序列。
第二种方法:预定的条件是测试实例的优先权,优先权高的测试实例 先执行,优先权低的测试实例后执行,则根据测试实例的优先权从高到低 的顺序在通过步骤105生成的测试执行序列中选择有效的测试执行序列。 在这种方法中,测试实例的优先权可根据被测试软件的功能和测试实例自 身的性质确定。
第三种方法:预定的条件是测试实例的逻辑顺序,则选择符合该逻辑 顺序的测试执行序列作为最后的测试执行序列。例如,“保存文件”测试 实例必须在“另存文件”测试实例之前执行,那么应选择符合该逻辑顺序 的测试执行序列。
上述三种选择有效的测试执行序列的方法既可以单独使用,也可以组 合进行使用。
如果在步骤101输入了测试脚本的运行周期,那么在采用上述任一种 方法或其组合选择了有效的测试执行序列后,还应将运行周期作为最后的 测试执行序列的个数进一步选择测试执行序列。例如,如果输入测试脚本 为{“testcase1”,“testcase2”,“testcase3”,“testcase4”},运行周期为4,并采 用随机生成方法生成测试执行序列,则经过步骤110的选择后,如果测试 执行序列超过4个,则需要进一步地顺序选择前4个或随机选择4个测试 执行序列作为最后的测试执行序列。
进一步地,在步骤115,将所选的有效的测试执行序列作为最后的测 试执行序列保存。而在步骤116,将未选择的测试执行序列丢弃。
虽然在以上的描述中,测试脚本是单个的实现某种测试功能的程序, 但对于实现一个测试功能的由多个测试脚本构成的测试脚本组,也可以将 其作为一个整体适用于上述方法。
通过以上描述,可以看出,采用本实施例,可以生成具有多个测试实 例的测试执行序列,以提高发现被测试软件中的缺陷的能。此外,在本 实施例中,如果测试工具是基于API(应用编程接口)的测试工具,例如 IBM公司的RFT,则本发明中的测试执行序列的生成、选择步骤都可封装 成JAVA API,使测试者可以在测试实例的脚本中直接使用上述API,使 测试者可以方便地基于实现不同测试目的的测试脚本或测试脚本组获得最 后的测试执行序列,进行自动化测试。
图3是根据本发明的第二实施例的为软件测试过程自动生成测试执行 序列的方法的流程图。在本实施例中,描述了测试工具是基于GUI(图形 用户接口)的测试工具的情况。例如,测试工具可以选用IBM公司的RTM, RTM由计划模、执行模块、结果模块和分析模块构成,其中计划模块用 于组织测试实例和测试数据;执行模块用于组织执行测试实例或测试脚本, 将测试实例和测试脚本组织成测试组用于测试;结果模块用于存储和管理 每次执行的运行结果;分析模块用于输出测试报告。采用该测试工具,本 发明中的测试执行序列的生成、选择步骤可集成在执行模块中,并通过图 形用户界面(GUI)向测试者提供。
如图3所示,在步骤301中,输入测试脚本到计划模块中,以组织测 试脚本,该步骤与第一实施例中的步骤101基本相同。然后,在步骤305 中,根据输入的测试脚本生成测试执行序列,其中生成测试执行序列的方 法可以采用前面所描述的顺序生成方法、随机生成方法和基于模型的生成 方法中的任一种。在步骤310中,在生成的测试执行序列中根据预定的条 件选择有效的测试执行序列,以生成最后的测试执行序列,其中该步骤中 的选择方法与第一实施例中的步骤110中的选择方法相同。上述的步骤305 和310在RTM的执行模块中进行。
此外,如果在步骤301中还输入测试脚本的运行周期,则在步骤310 后,将运行周期作为最后的测试执行序列的个数进一步选择测试执行序列。
进一步地,在步骤315中,将最后的测试执行序列保存,以便测试者 以后再利用。
通过以上描述可以看出,采用本实施例,可以将单独的测试实例生成 具有多个测试实例的测试执行序列,并通过GUI向测试者提供,使测试者 可以使用菜单和对话来实现软件的自动化测试。
图4是根据本发明的优选实施例的测试执行序列生成装置的示意性框 图。如图4所示,测试执行序列生成装置包括:输入装置401,其输入测 试实例的脚本和/或脚本的运行周期和/或被测试软件的行为模型;测试执行 序列发生器402,其根据输入的脚本生成测试执行序列;测试执行序列过 滤器403,其根据预定的条件选择有效的测试执行序列,以生成最后的测 试执行序列。
当通过输入装置401输入测试脚本和/或脚本的运行周期后,测试执行 序列发生器402可按照测试脚本的初始输入顺序排列测试脚本,以作为第 1测试执行序列,并依次改变第1测试执行序列的第一个脚本,生成其它 测试执行序列;或者基于输入的测试脚本随机地生成测试执行序列;或者 根据被测试软件的行为模型,按照符合该行为模型的系统逻辑的顺序生成 测试执行序列。生成的测试执行序列被输出到测试执行序列过滤器403中。
然后,测试执行序列过滤器403在由测试执行序列发生器402生成的 测试执行序列中排除根据被测试软件的功能所定义的不应包含的测试执行 序列,保留的测试执行序列作为有效的测试执行序列。
或者,测试执行序列过滤器403根据测试实例的优先权从高到低的顺 序选择有效的测试执行序列,其中测试实例的优先权根据被测试软件的功 能和测试实例自身的性质确定,并且优先权高的测试实例先执行,优先权 低的测试实例后执行。
或者,测试执行序列过滤器403选择符合测试实例的逻辑顺序的测试 执行序列作为有效的测试执行序列。
此外,测试执行序列过滤器403还可根据输入的测试脚本的运行周期, 对所选择的测试执行序列做进一步的选择,生成最后的测试执行序列。
进一步地,软件测试执行序列生成装置还可以包括存储器404,用于 存储最后的测试执行序列。
通过以上描述可以看出,采用本实施例的软件测试执行序列生成装置 可以生成具有多个测试脚本的测试执行序列,从而提高软件测试的效率。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈