当前位置: 首页 > 专利查询>四川大学专利>正文

一种移动应用功能测试用例生成方法技术

技术编号:30643835 阅读:13 留言:0更新日期:2021-11-04 00:46
本发明专利技术提供一种移动应用功能测试用例生成方法。首先基于被测移动应用的图形用户界面生成其功能测试序列;再根据部分独立于应用的功能和满足IEEE标准格式的需求规格文档,直接或间接提取与功能相关的测试Oracle信息,并进行形式化描述;最后使用结构匹配、语义匹配和完善匹配三种匹配方法,将功能测试序列和获取的测试Oracle信息进行关联,从而获得完整的移动应用功能测试用例。本发明专利技术中的测试序列的生成与测试Oracle信息的提取在很大程度上反映了移动应用测试中关心的问题,不同的测试Oracle信息获取方法、测试序列与测试Oracle匹配的方法流程能够很好地适应不同移动应用的测试环境,提高移动应用自动化测试的效率。提高移动应用自动化测试的效率。

【技术实现步骤摘要】
一种移动应用功能测试用例生成方法


[0001]本专利技术属于软件工程中的软件测试领域,尤其涉及一种移动应用功能测试用例生成方法。

技术介绍

[0002]随着移动应用的需求快速增长,移动应用的质量保证是决定其成功的主要因素。测试自动化是提高移动应用质量并降低测试成本的有效解决方案。测试用例自动生成是自动化移动应用测试中的一个重要研究问题。传统的手工方式进行测试用例设计,需要花费大量的时间和人力。移动应用的功能测试对被测移动应用程序的各功能进行验证,根据功能测试用例,逐项测试,检查被测移动应用程序(Application Under Test,AUT)是否达到需求要求的功能。移动应用功能测试可以根据软件说明或用户需求,验证移动应用程序的各个功能实现并评估和保证整个被测移动应用程序的质量。

技术实现思路

[0003]本专利技术公开了一种针对移动应用自动生成功能测试用例的方法,由以下步骤组成。
[0004]1):功能测试序列生成:基于图形用户界面模型技术和模型遍历算法,生成被测移动应用的功能测试序列;在该步骤中,根据移动应用功能测试的特性以及事件流图(Event flow graph, EFG)中的非功能性事件特性,通过消除AUT中的非功能事件来生成最小的功能序列,从而生成最小的功能测试序列,达到优化EFG的目的。
[0005]2):测试Oracle获取及形式化描述:基于被测移动应用的功能和需求,获取Oracle信息,并进行形式化描述;本专利技术专利希望可以从AUT中所需行为之间的已知关系构建Oracle或者从AUT相关文档中得出信息来构造部分测试Oracle。为此分别提出两种方法获取AUT的Oracle信息:针对移动应用中独立于应用的功能测试Oracle信息,采用人工的方式将这类测试Oracle信息,进行形式化描述;针对符合一定规范的AUT需求规格文档,采用信息提取方法,从文档中提取其中的Oracle信息,进行形式化描述。
[0006]3):功能测试用例生成:采用不同的匹配方法,将功能测试序列与功能Oracle进行匹配,组成功能测试用例;本专利技术专利根据移动应用功能测试序列和两种方式获得的测试 Oracle 的组成特性,提出一种匹配机制,将测试序列与测试 Oracle 进行关联,从而获得完整的功能测试用例。具体的匹配机制包括三种方式:结构匹配,语义匹配和完善匹配。
[0007]本专利技术提供一种移动应用功能测试用例生成方法。首先基于被测移动应用的图形用户界面生成其功能测试序列;再根据部分独立于应用的功能和满足IEEE标准格式的需求规格文档,直接或间接提取与功能相关的测试 Oracle信息,并进行形式化描述;最后使用结构匹配、语义匹配和完善匹配三种匹配方法,将功能测试序列和获取的测试Oracle信息进行关联,从而获得完整的移动应用功能测试用例。本专利技术中的测试序列的生成与测试Oracle信息的提取在很大程度上反映了移动应用测试中关心的问题,不同的测试Oracle信
Oracle 信息来源于常识,这些通用信息与应用程序无关,本专利技术专利对交互功能及通用功能进行了形式化描述,其中包含功能的操作序列和测试 Oracle 的语义,通过常见的交互功能和通用功能的具体定义,给出此类功能的测试 Oracle 信息。
[0018]方法二:基于需求规格的测试 Oracle 获取方法,首先基于符合 IEEE 标准格式的应用需求文档,使用正则表达式提取与功能测试相关的测试 Oracle 信息,该测试 Oracle 信息以半形式化的三元组格式输出,其中包含了应用的前置状态,功能的操作序列和预期的 GUI 状态序列;最后,通过人工操作,将半形式化的测试 Oracle 信息形式化。
[0019]两种方法在形式化描述上保持一致, 将两种方法获得的测试 Oracle 信息存储到一个测试 Oracle 信息表。
[0020]步骤三:测试用例生成。该步骤主要实现测试序列与测试 Oracle 进行关联,形成完整的功能测试用例;测试序列与测试 Oracle 的关联过程,通过一种匹配机制,将基于 GUI 模型生成的功能测试序列与基于移动应用功能与需求获取的测试 Oracle 进行关联,达到生成完整的功能测试用例的目的。 该机制采用三种匹配方式,结构匹配,语义匹配和完善匹配。
[0021]匹配方式1):结构匹配,结构匹配采用字符串匹配算法KMP算法,将测试序列与测试 Oracle 包含的操作序列进行匹配,通过对匹配成功的情况进行分析,匹配成功的情况主要分为两种:第一种是完全匹配,对于完全匹配的测试序列和测试 Oracle,可以直接进行结合,即将匹配上的测试序列,替换测试 Oracle 三元组中的操作序列,形成完整的功能测试用例。第二种是部分匹配,由于移动应用的最后预期行为主要取决于操作序列的最后一个操作,而前段匹配及子序列匹配都未能包含操作序列的最后一个操作,这种情况是无效的,故本专利技术专利摒弃了符合这两种匹配的测试序列和测试 Oracle。采用后段匹配即包含了操作序列的最后一个操作,选择保留符合此种匹配的测试序列和测试 Oracle,然后将匹配上的测试序列,替换测试 Oracle 三元组中的操作序列,形成完整的功能测试用例。
[0022]匹配方式2):语义匹配,语义匹配主要针对结构匹配中由于测试序列和测试 Oracle 包含的操作序列中存在命名差异,但语义一样所导致的匹配不成功的情况。通过构建深层语义模型,将测试序列里包含的操作序列文本和测试 Oracle 包含的操作序列文本作为输入,将其表示为低纬语义向量,并通过余弦距离来计算两个语义向量的距离,最终训练出语义相似度模型。通过该模型可以获得某段操作序列的低纬语义向量表达,又可以用来预测测试序列与测试Oracle中的操作序列的语义相似度。结合人工操作审查,进行匹配,筛选出满足完全匹配和后段匹配的测试序列和测试 Oracle, 并将其结合成完整的功能测试用例。
[0023]匹配方式3):完善匹配,完善匹配主要用于解决交互功能测试需要的事件序列不能通过 GUI 模型获得的问题,该过程通过人工操作,将交互功能的事件序列直接增加到能够兼容此功能的应用的事件序列中,并连带其测试 Oracle 信息一起加入, 形成完整的功能测试用例。最后,将通过上述三个匹配过程获得的功能测试用例加入到功能测试用例表,完成移动应用功能测试用例的生成。
本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种移动应用功能测试用例生成方法,其特征在于,包括以下步骤:1):功能测试序列生成:基于图形用户界面模型技术和模型遍历算法,生成被测移动应用的功能测试序列;2):测试Oracle获取及形式化描述:基于被测移动应用的功能和需求,获取其Oracle信息,并进行形式化描述;3):功能测试用例生成:采用不同的匹配方法,将功能测试序列与功能Oracle进行匹配,组成功能测试用例。2.根据权利要求1所述方法,其特征在于,上述步骤1),功能测试序列生成,包括以下步骤:a1):使用图形用户界面测试工具,动态分析被测移动应用程序的图形用户界面,生成图形用户界面模型;b1):根据图形用户界面模型和事件流图的组成关系,从图形用户界面模型推导出事件流图,完成模型转换;c1):根据移动应用功能测试特性及事件流图中功能性事件特性,对事件流图进行优化,其主要特征包括:(1)事件的识别;(2)事件分类;(3)消除非功能性事件;d1)...

【专利技术属性】
技术研发人员:杨秋辉刘瑞航邓惠心
申请(专利权)人:四川大学
类型:发明
国别省市:

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

1