一种测试用例的生成方法和装置制造方法及图纸

技术编号:18763713 阅读:41 留言:0更新日期:2018-08-25 10:27
本发明专利技术公开了一种测试用例的生成方法和装置,所述方法包括:输入被测系统的状态转换关系;其中,所述状态转换关系中包括所述系统的各种状态,以及状态间的转换动作;根据所述系统的状态转换关系,利用遍历算法找到多条状态间转换路径;对于每条状态间转换路径,确定该条状态间转换路径所涉及的状态间的转换动作中的参数是否包含预设的参数组合情况;若是,筛选出该条状态间转换路径;将筛选出的状态间转换路径生成对应的测试用例。应用本发明专利技术可以保证测试效率的同时缩减测试用例数量,减小软件测试执行的代价。

【技术实现步骤摘要】
一种测试用例的生成方法和装置
本专利技术涉及软件测试
,特别是指一种测试用例的生成方法和装置。
技术介绍
在软件工程中的测试用例(testcase)是由测试者用于确定应用或软件系统是否正确工作的一组条件或变量。设计测试用例对于测试编写者来说可以是非常耗时的工作。用于设计测试用例的常见方法是手动编码来准备输入和预期输出,以及做出关于测试框架所提供的功能是否适合所选对象的决定。为提高测试者的工作效率,目前有一种基于模型的测试(MBT)方法,MBT的一般操作流程为,首先在系统需求或者规约文档的基础上建立某种形式的模型,模型说明了系统所有的潜在行为意图。接下来需要定义测试用例的选择要求,形成测试用例规约;编写算法将其应用于模型之上来生成测试用例。然后在被测系统(SUT,SystemUnderTest)环境中真正执行所有测试用例,可以利用测试脚本来自动化执行测试,最终得到测试结果。虽然,相比于编写测试用例脚本,按照此方法,可以更为便捷的生成测试用例;但此方法遇到的问题是,生成的用例中存在过多冗余用例,导致软件测试执行的代价增加。
技术实现思路
有鉴于此,本专利技术的目的在于提出一种测试用例的生成方法和装置,保证测试效率的同时缩减测试用例数量,减小软件测试执行的代价。基于上述目的本专利技术提供一种测试用例的生成方法,包括:输入被测系统的状态转换关系;其中,所述状态转换关系中包括所述系统的各种状态,以及状态间的转换动作;根据所述系统的状态转换关系,利用遍历算法找到多条状态间转换路径;对于每条状态间转换路径,在确定该条状态间转换路径所涉及的状态间的转换动作中的参数是否包含预设的参数组合情况时,筛选出该条状态间转换路径;将筛选出的状态间转换路径生成对应的测试用例。其中,所述输入被测系统的状态转换关系,具体包括:基于转换的模型以图形化的方式输入被测系统的状态转换关系:所述系统的各种状态以圆形节点表示,状态间的转换动作以圆形节点间的弧线表示。其中,所述遍历算法具体为:广度优先遍历算法或者深度优先遍历算法。其中,所述预设的参数组合情况具体为:预设的参数配对组合情况。其中,所述状态间的转换动作包括:逻辑单元token,或由多个逻辑单元token的序列组成的函数;以及所述将筛选出的状态间转换路径生成对应的测试用例,具体包括:将所述状态间转换路径所涉及的状态间的转换动作中所包括的token所对应的方法,序列化为可扩展标记语言文件;利用XML解析器将所述文件生成测试用例。本专利技术还提供一种测试用例的生成装置,包括:状态转换关系输入模块,用于输入被测系统的状态转换关系;其中,所述状态转换关系中包括所述系统的各种状态,以及状态间的转换动作;路径遍历模块,用于根据所述系统的状态转换关系,利用遍历算法找到多条状态间转换路径;参数组合筛选模块,用于对于每条状态间转换路径,在确定该条状态间转换路径所涉及的状态间的转换动作中的参数是否包含预设的参数组合情况时,筛选出该条状态间转换路径;测试用例生成模块,用于将筛选出的状态间转换路径生成对应的测试用例。本专利技术实施例的技术方案中,在根据所述系统的状态转换关系,利用遍历算法找到多条状态间转换路径后,从中筛选出包含预设的参数组合情况的状态间转换路径;进而,再将筛选出的状态间转换路径生成对应的测试用例。相比于由所有的参数的各种组合来生成测试用例的方法,大大减少了测试用例数量,减小软件测试执行的代价;同时,由于软件中的错误大部分都是由单个参数所导致的,一般最多是由两个参数相互作用而触发,因此,两个参数的组合就筛选出的状态间转换路径所生成的测试用例,足够保证错误发现率,即保证测试效率。附图说明图1为本专利技术实施例提供的一种测试用例的生成方法流程图;图2为本专利技术实施例提供的一种系统的状态转换关系的示意图;图3为本专利技术实施例提供的一种测试用例的生成装置的内部结构框图。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本专利技术进一步详细说明。下面详细描述本专利技术的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本专利技术,而不能解释为对本专利技术的限制。本
技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。需要说明的是,本专利技术实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本专利技术实施例的限定,后续实施例对此不再一一说明。本专利技术的专利技术人对现有方法进行分析,发现MBT在生成测试用例时,通常的理想情况下是把所有可能出现的硬件配置和参数取值都测试一遍;但是,这样就造成的测试用例数量呈指数性爆炸增长,导致软件测试执行的代价增加。然而,本专利技术的专利技术人发现,软件中的错误大部分都是由单个参数所导致的,一般最多是由两个参数相互作用而触发,三个或三个以上的情况几乎没有。因此,本专利技术的技术方案中,采用参数组合方式来生成测试用例,更优地,采用配对组合(pair-wise)参数方式来生成测试用例,组合或配对的参数相互作用生成不同的测试用例。如此,相比于由所有的参数的各种组合来生成测试用例的方法,大大减少了测试用例数量,减小软件测试执行的代价;同时,也可保证错误发现率,即保证测试效率。下面结合附图详细说明本专利技术实施例的技术方案。实施例1本专利技术实施例提供的一种测试用例的生成方法,流程如图1所示,包括如下步骤:S101:输入被测系统的状态转换关系。基于转换的模型是人们通常最为熟悉的模型类型,它们集中于描述系统在不同状态之间的转换过程。通常是以节点和弧线的形式出现,节点代表系统的状态,弧线代表系统的动作或操作。有限状态机(FSM,FiniteStateMachine)是极其重要的一种模型表现形式。例如,图2示出了一种系统的状态转换关系的状态机,包括4个状态,以及6个状态间的转换动作。FSM的数据模型描述了FSM中各个状态和转换动作的详细属性。比如状态名称,转换动作名称等。本步骤中,可以基于转换的模型以图形化的方式输入被测系统的状态转换关系:以圆形节点表示被测系统的各种状态,以圆形节点间的弧线表示状态间的转换动作。并且,还可定义状态的相关参数,状态间的转换动作所涉及的参数,状态间的转换动作所包括的逻辑单元(token),或由多个token的序列组成的函数。每个token所对应的方法(或称算法)可封装、存于一个适配器中。S102:根据所述系统的状态转换关系,利用遍历算法找到多条状态间转换路径。本步骤中,根据所述系统的状态转换关系,利用遍历算法找到多条状态间转换路径;也就是,利用遍历算法寻找状态间的所有可执行路径。具体,可以利用广度优先遍历算法或者深度优先遍历算法查找状态间转换路径。状态间转换路径包括本文档来自技高网
...

【技术保护点】
1.一种测试用例的生成方法,其特征在于,包括:输入被测系统的状态转换关系;其中,所述状态转换关系中包括所述系统的各种状态,以及状态间的转换动作;根据所述系统的状态转换关系,利用遍历算法找到多条状态间转换路径;对于每条状态间转换路径,在确定该条状态间转换路径所涉及的状态间的转换动作中的参数包含预设的参数组合情况时,筛选出该条状态间转换路径;将筛选出的状态间转换路径生成对应的测试用例。

【技术特征摘要】
1.一种测试用例的生成方法,其特征在于,包括:输入被测系统的状态转换关系;其中,所述状态转换关系中包括所述系统的各种状态,以及状态间的转换动作;根据所述系统的状态转换关系,利用遍历算法找到多条状态间转换路径;对于每条状态间转换路径,在确定该条状态间转换路径所涉及的状态间的转换动作中的参数包含预设的参数组合情况时,筛选出该条状态间转换路径;将筛选出的状态间转换路径生成对应的测试用例。2.根据权利要求1所述的方法,其特征在于,所述输入被测系统的状态转换关系,具体包括:基于转换的模型以图形化的方式输入被测系统的状态转换关系:所述系统的各种状态以圆形节点表示,状态间的转换动作以圆形节点间的弧线表示。3.根据权利要求1所述的方法,其特征在于,所述遍历算法具体为:广度优先遍历算法或者深度优先遍历算法。4.根据权利要求1所述的方法,其特征在于,所述预设的参数组合情况具体为:预设的参数配对组合情况。5.根据权利要求1-4任一所述的方法,其特征在于,所述状态间的转换动作包括:逻辑单元token,或由多个逻辑单元token的序列组成的函数;以及所述将筛选出的状态间转换路径生成对应的测试用例,具体包括:将所述状态间转换路径所涉及的状态间的转换动作中所包括的token所对应的方法,序列化为可扩展标记语言文件;利用XML解析器将所述文件生成测试用例。6.一种测试用例的生成装置,其特征在于,包括:状态转换关系输入模块,用于输入被测系统的状态转换关系;其中,所述状态转换关系中包括所...

【专利技术属性】
技术研发人员:马立新李春李群英孔祥靖王之一刘立明许劭庆郝成亮陈明颜佳潘建宏田健杨爽孙伟刘洪波刘超曹源郑磊李黎滨王佳
申请(专利权)人:国网吉林省电力有限公司信息通信公司国家电网公司
类型:发明
国别省市:吉林,22

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

1