一种基于模型的软件回归测试方法技术

技术编号:39155245 阅读:12 留言:0更新日期:2023-10-23 15:00
本发明专利技术提供了一种基于模型的软件回归测试方法,包括:根据变动前的旧模型生成第一测试用例集,根据变动后的新模型生成第二测试用例集;建立旧模型中各模型元素与第一测试用例集中各测试用例之间的映射关系、新模型中各模型元素与第二测试用例集中各测试用例之间的映射关系;对旧模型和新模型进行模型变化分析,识别受到模型变化影响的模型元素,并对受影响的模型元素进行分类;根据覆盖准则从受影响的模型元素中确定回归测试需要覆盖的目标;选择覆盖特定目标的回归测试用例作为最终回归测试用例集;基于最终回归测试用例集完成软件回归测试。本发明专利技术能够解决现有技术中人工进行测试用例集的选取存在用例冗余、覆盖性和有效性不足的技术问题。效性不足的技术问题。效性不足的技术问题。

【技术实现步骤摘要】
一种基于模型的软件回归测试方法


[0001]本专利技术涉及软件测试
,尤其涉及一种基于模型的软件回归测试方法。

技术介绍

[0002]软件开发往往呈现出周期性、增量式的迭代演化特征。在演化过程的每个阶段,新的功能模块会被加入到已有系统中。同时,己存在的功能模块也会由于需求设计变更或修正错误等原因而被修改。在此情况下,回归测试作为一种重要手段来确保一个演化阶段对软件所作的修改没有引入新的错误。目前,测试人员在进行回归测试的过程中,对回归测试用例的选取通常关注前一个演化阶段对软件所作的修改,从测试用例集合中选取出与修改部分影响相关的测试用例或者重新设计新增功能测试用例进行重新测试。人工进行的用例选取通常繁琐而复杂,效率低下,并且无法保证选取的用例的覆盖性与充分性。

技术实现思路

[0003]本专利技术旨在至少解决现有技术中存在的技术问题之一。
[0004]本专利技术提供了一种基于模型的软件回归测试方法,该基于模型的软件回归测试方法包括:根据变动前的旧模型生成第一测试用例集,根据变动后的新模型生成第二测试用例集;根据旧模型建立旧模型中各模型元素与第一测试用例集中各测试用例之间的映射关系,根据新模型建立新模型中各模型元素与第二测试用例集中各测试用例之间的映射关系;对旧模型和新模型进行模型变化分析,识别受到模型变化影响的模型元素,并对受影响的模型元素进行分类;根据覆盖准则从受影响的模型元素中确定回归测试需要覆盖的目标;基于模型元素与测试用例之间的映射关系,结合回归测试需要覆盖的目标选择覆盖特定目标的回归测试用例作为最终回归测试用例集;基于最终回归测试用例集完成基于模型的软件回归测试。
[0005]进一步地,模型元素包括边、节点和边上的条件。
[0006]进一步地,受影响的模型元素分为删除模型元素、新增模型元素和更新模型元素。
[0007]进一步地,模型变化分析以模型元素的ID标识为基础进行比对分析。
[0008]进一步地,对于新增节点元素和更新节点元素的识别具体包括:从新模型的每个节点出发,判断新模型各节点元素的ID是否在旧模型的节点元素列表中,如果不在,说明新模型中的该节点元素是新增的;如果在,则继续判断该节点的信息是否发生变化,如果发生了变化,则说明该节点元素是受模型变化影响的节点,属于修改了的节点,如果没有发生变化,则说明该节点元素是未受模型变化影响的节点。
[0009]进一步地,对于新增边元素和更新边元素的识别具体包括:从新模型的每个边出发,判断新模型各边元素的ID是否在旧模型的边元素列表中,如果不在,说明该边是新增的;如果在,则继续判断该边的首尾节点元素是否发生变化,如果发生了变化,则说明该边元素发生了变化,如果首尾节点没有发生变化,则说明该边元素没有发生变化,然后继续通过字符串比对判断边上的条件。
[0010]进一步地,通过字符串比对判断边上的条件具体包括:首先对条件按照关系符限定的符号进行切分,比较变化前后条件所切分出来的命题集合,判断是否存在命题变化;如果存在命题变化,则需要覆盖新条件下的所有子条件;如果没有发生命题变化,则比对关系符号是否发生变化;如果有关系符号的变化,则生成新旧条件下的所有子条件,然后比对两个子条件集合,从新条件下子条件集合中去除新条件下子条件集合与旧条件下子条件集合相同的元素,而新条件下子条件集合中剩余的子条件是回归测试需要覆盖到的子条件。
[0011]进一步地,选择覆盖特定目标的回归测试用例作为最终回归测试用例集具体包括:基于旧模型中各模型元素与第一测试用例集中各测试用例之间的映射关系,结合根据删除模型元素确定的回归测试需要覆盖的目标,获取第一回归测试用例集;基于新模型中各模型元素与第二测试用例集中各测试用例之间的映射关系,结合根据新增模型元素和更新模型元素确定的回归测试需要覆盖的目标,获取第二回归测试用例集;第一回归测试用例集与第二回归测试用例集的并集作为最终回归测试用例集。
[0012]进一步地,第一回归测试用例集的获取步骤包括:从旧模型生成的所有测试用例中筛选出删除模型元素对应的各个测试用例,作为候选的回归测试用例集;然后统计各个测试用例覆盖回归测试目标中元素的个数,选择覆盖元素最多的一条测试用例;选择之后,将该测试用例放入第一回归测试用例集中,并将其从候选的测试用例集中删除,同时从回归测试覆盖目标中删除已经覆盖到的目标元素,然后重新循环统计候选的测试用例,直至所有的回归测试覆盖目标完全覆盖到为止;
[0013]进一步地,第二回归测试用例集的获取步骤包括:从新模型生成的所有测试用例中筛选出新增模型元素和更新模型元素对应的各个测试用例,作为候选的回归测试用例集;然后统计各个测试用例覆盖回归测试目标中元素的个数,选择覆盖元素最多的一条测试用例;选择之后,将该测试用例放入第二回归测试用例集中,并将其从候选的测试用例集中删除,同时从回归测试覆盖目标中删除已经覆盖到的目标元素,然后重新循环统计候选的测试用例,直至所有的回归测试覆盖目标完全覆盖到为止。
[0014]应用本专利技术的技术方案,提供了一种基于模型的软件回归测试方法,该基于模型的软件回归测试方法通过建立模型元素与测试用例之间的映射关系,比较不同软件模型来发现模型中受变化影响的元素,然后基于模型元素与测试用例之间的关联关系,结合回归测试需要覆盖的目标甄别获取了模型变化部分的测试用例集。本专利技术能够有效的提高测试用例集的覆盖性和充分性,提高了回归测试的效率。与现有技术相比,本专利技术的技术方案能够解决现有技术中人工进行测试用例集的选取存在用例冗余、覆盖性和有效性不足的技术问题。
附图说明
[0015]所包括的附图用来提供对本专利技术实施例的进一步的理解,其构成了说明书的一部分,用于例示本专利技术的实施例,并与文字描述一起来阐释本专利技术的原理。显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0016]图1示出了根据本专利技术的具体实施例提供的基于模型的软件回归测试方法的流程示意图;
[0017]图2示出了根据本专利技术的具体实施例提供的模型变动前的状态图;
[0018]图3示出了根据本专利技术的具体实施例提供的模型变动后的状态图。
具体实施方式
[0019]需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本专利技术及其应用或使用的任何限制。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0020]需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于模型的软件回归测试方法,其特征在于,所述基于模型的软件回归测试方法包括:根据变动前的旧模型生成第一测试用例集,根据变动后的新模型生成第二测试用例集;根据所述旧模型建立旧模型中各模型元素与所述第一测试用例集中各测试用例之间的映射关系,根据所述新模型建立新模型中各模型元素与所述第二测试用例集中各测试用例之间的映射关系;对所述旧模型和所述新模型进行模型变化分析,识别受到模型变化影响的模型元素,并对受影响的模型元素进行分类;根据覆盖准则从受影响的模型元素中确定回归测试需要覆盖的目标;基于模型元素与测试用例之间的映射关系,结合回归测试需要覆盖的目标选择覆盖特定目标的回归测试用例作为最终回归测试用例集;基于最终回归测试用例集完成基于模型的软件回归测试。2.根据权利要求1所述的基于模型的软件回归测试方法,其特征在于,所述模型元素包括边、节点和边上的条件。3.根据权利要求1所述的基于模型的软件回归测试方法,其特征在于,所述受影响的模型元素分为删除模型元素、新增模型元素和更新模型元素。4.根据权利要求3所述的基于模型的软件回归测试方法,其特征在于,所述模型变化分析以模型元素的ID标识为基础进行比对分析。5.根据权利要求1至4中任一项所述的基于模型的软件回归测试方法,其特征在于,对于新增节点元素和更新节点元素的识别具体包括:从新模型的每个节点出发,判断新模型各节点元素的ID是否在旧模型的节点元素列表中,如果不在,说明新模型中的该节点元素是新增的;如果在,则继续判断该节点的信息是否发生变化,如果发生了变化,则说明该节点元素是受模型变化影响的节点,属于修改了的节点,如果没有发生变化,则说明该节点元素是未受模型变化影响的节点。6.根据权利要求3所述的基于模型的软件回归测试方法,其特征在于,对于新增边元素和更新边元素的识别具体包括:从新模型的每个边出发,判断新模型各边元素的ID是否在旧模型的边元素列表中,如果不在,说明该边是新增的;如果在,则继续判断该边的首尾节点元素是否发生变化,如果发生了变化,则说明该边元素发生了变化,如果首尾节点没有发生变化,则说明该边元素没有发生变化,然后继续通过字符串比对判断边上的条件。7.根据权利要求6所述的基于模型的软件回归测试方法,其特征在于,通过字符串比对判断边上的条件具体包...

【专利技术属性】
技术研发人员:董冬梅李凌侯月康凯
申请(专利权)人:北京机电工程研究所
类型:发明
国别省市:

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

1