一种基于UML活动图的GUI测试方法技术

技术编号:9926221 阅读:110 留言:0更新日期:2014-04-16 17:42
本发明专利技术提出了一种基于UML活动图的自动化GUI测试方法,包括以下步骤:用户行为建模步骤,为用户可能对GUI进行的操作行为建模以生成相应的UML活动图;脚本库构建步骤,该脚本库包含测试执行过程中需要调用的所有函数和参数,该函数与参数和用户行为建模步骤中生成的UML活动图中的每个活动一一对应;测试脚本生成步骤,遍历用户行为建模步骤中生成的UML活动图,获得可行的执行序列,根据该执行序列以及UML活动图与脚本库中函数的映射关系,生成测试脚本;执行测试步骤,调用该测试脚本自动执行测试,并记录执行过程和执行结果;以及结果分析步骤,根据对应脚本的执行结果,得到测试的覆盖率,并且通过回放分析程序错误发生原因。

【技术实现步骤摘要】
【专利摘要】本专利技术提出了一种基于UML活动图的自动化GUI测试方法,包括以下步骤:用户行为建模步骤,为用户可能对GUI进行的操作行为建模以生成相应的UML活动图;脚本库构建步骤,该脚本库包含测试执行过程中需要调用的所有函数和参数,该函数与参数和用户行为建模步骤中生成的UML活动图中的每个活动一一对应;测试脚本生成步骤,遍历用户行为建模步骤中生成的UML活动图,获得可行的执行序列,根据该执行序列以及UML活动图与脚本库中函数的映射关系,生成测试脚本;执行测试步骤,调用该测试脚本自动执行测试,并记录执行过程和执行结果;以及结果分析步骤,根据对应脚本的执行结果,得到测试的覆盖率,并且通过回放分析程序错误发生原因。【专利说明】—种基于UML活动图的GUI测试方法
本专利技术涉及一种针对用户图形界面(GUI)的测试方法,尤其涉及一种基于UML(Unified Modeling Language,统一建模语言)活动图的⑶I测试方法。
技术介绍
目前,常用的GUI测试方法有两种,即录制/回放和随机测试。录制/回放,是由有经验的测试人员人工执行测试过程,并利用相关工具记录待测程序的执行过程,一旦碰到程序执行错误,可以通过回放测试过程,找出问题发生的原因。但是,录制/回放测试的有效性取决于测试人员的经验,很难保证测试覆盖率,此外还需要消耗大量的人工。随着程序越来越复杂、行业内要求将产品尽快投入市场的压力越来越大,传统的利用录制/回放对GUI进行测试的方法已经不能满足需求。随机测试,是利用电脑随机对GUI进行操作,并记录操作过程和执行结果,以发现程序中可能存在的错误。这种方法可以尽可能减少人工,但很难实现全覆盖。为了达到可以接受的覆盖率,需要极其庞大的测试数量,仍然需要在测试阶段消耗大量的时间。
技术实现思路
为了克服现有技术中测试覆盖率低,测试消耗时间长的缺陷,本专利技术提供了一种基于UML活动图的GUI自动化测试方法。该方法不仅可以提高测试的覆盖率,而且可以尽可能减少测试脚本的数量,有效地缩短测试所需时间。本专利技术的基于UML活动图的⑶I测试方法,包括以下步骤:用户行为建模步骤,在软件开发的需求分析阶段,根据需求,为用户可能对GUI进行的操作行为建模以生成相应的UML活动图;脚本库构建步骤,构建包含测试执行过程中需要调用的所有函数和参数的脚本库,所述函数与用户行为建模步骤中构建的活动图中的每一个动作一一对应;测试脚本生成步骤,根据UML活动图的定义,遍历用户行为建模步骤中定义的活动图,获得可行的执行序列,根据所述执行序列和UML活动图与脚本库中函数的映射关系,可以生成测试脚本;执行测试步骤,调用测试脚本自动执行测试,并记录执行过程和执行结果;以及结果分析步骤,根据对应脚本的执行结果,可以得到测试的覆盖率,优选地,所述UML活动图通过下述方式获得:根据用户图形界面(⑶I)的规约将用户对GUI的操作行为划分为多个小的独立的活动;所述多个活动之间存在偏序关系。优选地,测试脚本生成步骤中,根据所述执行序列和所述映射关系生成测试用例,并根据测试用例生成测试脚本。优选地,在模拟器上调用测试脚本自动执行测试。优选地,结果分析步骤中,如果程序执行过程中出现错误,可以回放重现所述脚本测试过程以分析程序错误发生原因。本专利技术的有益效果是,可以提高测试的覆盖率,并且在保证测试覆盖率的前提下,可以尽可能减少测试脚本的数量,尽可能地缩短测试所需时间,减少耗费的人工,从而可以尽快将软件产品投放市场。【专利附图】【附图说明】图1是根据本专利技术一实施方式的基于UML活动图的GUI测试方法的流程图。图2是本专利技术一实施方式的UML活动图的例子的示意图。【具体实施方式】结合以下具体实施例和附图,对本专利技术作进一步的详细说明。实施本专利技术的过程、条件、实验方法等,除以下专门提及的内容之外,均为本领域的普遍知识和公知常识,本专利技术没有特别限制内容。图1是根据本专利技术一实施方式的基于UML活动图的GUI测试方法的流程图。如图1所示,本专利技术的基于UML活动图的GUI测试方法包括:用户行为建模步骤SI I,脚本库构建步骤S12,测试脚本生成步骤S13,执行测试步骤S14以及结果分析步骤S15。下面对于每个步骤进行详细说明。用户行为建模步骤S11,该步骤中,根据软件开发需求,为用户可能对GUI进行的操作行为建模以生成相应的UML活动图。众所周知,在软件开发的需求分析阶段,可以得到用户图形界面(GUI)的规约。在此基础上,可以将用户对⑶I的操作行为划分为多个小的独立的活动,该多个活动之间存在偏序关系。利用UML活动图可以描述这些活动之间的关系,为用户对GUI的操作行为建模,从而生成相应的UML活动图,即与用户对GUI的操作行为对应的活动图。图2是本专利技术一实施方式的UML活动图的例子的示意图。该UML活动图描述的场景是用户进入一个下载页面进行文件下载,此页面要求用户在线登陆之后才能完成下载。在该场景下,用户对GUI的操作行为被划分为如下多个小的独立活动:用户进入此下载页面后,可以看到可下载文件列表,用户可以选择需要下载的文件(活动I),然后点击下载按钮(活动2)。如果此时用户已经登录,那么开始下载。下载完之后,用户可以查看已下载的文件(活动3)。如果此时用户未登录,那么弹出一个错误提示框,用户关闭错误提示框(活动4)之后可以重新下载。上述活动1-4之间存在偏序关系。活动之间存在偏序关系,也就是说某些活动必须在另外一些活动完成后才能执行。在这个过程中,用户可以选择在任意一个时刻登录。登录的过程包含三步:输入用户名(活动dl)、输入密码(活动d2)和提交密码(活动d3),这三个活动dl,d2,d3之间存在偏序关系,也就是说,这三步必须连续的执行才能完成登录。在用户建模步骤Sll完成后,即生成相应的UML活动图后,进行脚本库构建步骤S12。该步骤中,构建包含测试执行过程中需要调用的所有函数和参数的脚本库。所述函数与参数和用户行为建模步骤Sll中生成的UML活动图中的每个活动是一一对应的,也就是说,函数/参数与UML活动图中的每个活动之间存在映射关系。从而,脚本库中的函数/参数可以模拟对应的用户对GUI的操作行为。下面是脚本库中的函数的一个示例。function pressButton (){UIALogger.1ogStart (" Press downloadButton");if (downloadButton==null){UIALogger.1ogFail(" Error");UIATarget.1ocalTargetO.captureScreenffithName (;/ downloadButton Not Exist");}else{UIALogger.1ogPass(" Pass");downloadButton.tap ();}UIALogger.1ogMessage (" Finish");}该函数是测试“点击下载按钮”这个活动(图2中的活动2)对应的函数。上述函数完成的功能如下:首先在日志中记录当前活动是“Press downloadButton”,然后检查这个按钮是否存在。如果不存在,那么在日志中记录错误信息,并截屏供后续的错误分析使用。如果按钮存在,本文档来自技高网
...

【技术保护点】
一种基于UML活动图的GUI测试方法,其特征在于,包括以下步骤:用户行为建模步骤,根据软件开发需求,为用户可能对GUI进行的操作行为建模以生成相应的UML活动图;脚本库构建步骤,所述脚本库包含测试执行过程中需要调用的所有函数和参数,所述函数与参数和用户行为建模步骤中生成的UML活动图中的每个活动一一对应;测试脚本生成步骤,遍历用户行为建模步骤中生成的UML活动图,获得可行的执行序列,根据所述执行序列以及UML活动图与脚本库中函数的映射关系,生成测试脚本;执行测试步骤,调用所述测试脚本自动执行测试,并记录执行过程和执行结果;以及结果分析步骤,根据对应脚本的执行结果,得到测试的覆盖率。

【技术特征摘要】

【专利技术属性】
技术研发人员:陈铭松李昂
申请(专利权)人:华东师范大学
类型:发明
国别省市:上海;31

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

1