基于自然语言处理的动态移动APP测试方法与流程

文档序号:15907917发布日期:2018-11-13 19:59阅读:498来源:国知局
基于自然语言处理的动态移动APP测试方法与流程

本发明属于移动APP测试脚本技术领域,特别是一种基于自然语言处理的动态移动APP测试方法。



背景技术:

移动经济正在蓬勃发展,出现具有成千上万的表面和多个操作系统的不同移动设备,这是几乎不可能存在让所有用户在任何时候都赏心悦目的应用程序。移动应用程序的质量在这个竞争激烈的经济市场中至关重要。移动应用测试活动,确保产品在各个方面包括产品特点,功能和行为,以及服务质量的整体质量。

基于Web的测试工具已经走过了很长的路,但移动测试工具仍然处于原始阶段,而就在七年前,随着Android和iOS推出,热潮随之而来。大量测试工具像Appium,Xcode和Robotium诞生了,每一种带着他们独特和鲜明的特点。

大随着移动产品的数量在不断增加,这些产品的测试是非常重要的。我们需要选择最适合产品的测试工具。因此,对于移动设备的需求不断增加已导致需要开发较高水平的工具来测试它们。根据研究发现,大部分的测试工具或者执行GUI测试或负载和性能测试。但是,所有这些工具有一定的局限性。



技术实现要素:

本发明的目的在于提供一种基于自然语言处理的动态移动APP测试方法。

实现本发明目的的技术解决方案为:一种基于自然语言处理的动态移动APP测试方法,包括以下步骤:

步骤1、选择确定APP的运行环境,所述APP的运行环境是APP测试所需要的虚拟机环境,包括android版本,内存大小;

步骤2、导入确定待测试的特征文件,所述特征文件包括行为驱动开发中的测试自动化脚本和测试应用所需要的场景文件;

步骤3、利用配置文件读取步骤1中的运行环境参数,同时读取步骤2中的特征文件并将这些数据隔离放进Gherkin扩展部分;

步骤4、对步骤3读取的信息和系统预置的Gherkin脚本进行匹配,所述预置脚本以纯文本文件或者XML文件存储在数据库;

步骤5、将步骤4匹配成功的Gherkin脚本发送到要执行的移动测试发生器,cucumber基于脚本自然语言解析该脚本,输出解析日志;

步骤6、通过WebDriver客户端接口创建相应的对象来读取步骤5得到的日志,与此同时,获取待测试的apk文件;

步骤7、利用步骤6读取的日志和apk文件使用Ruby平台对APP进行测试,并输出测试报告。

本发明与现有技术相比,其显著优点为:1)本发明可以用来解决移动市场中使用自然语言来测试移动手机这样的日益增长的需求。用户可以自定义Gherkin脚本放入Gherkin扩展器内成为预置脚本实现扩展。2)本发明的方法简单易行便于实施。

下面结合附图对本发明进行进一步的说明。

附图说明

图1是系统组件之间的关系示意图。

图2是基于脚本修改方法流程图。

图3是接口逻辑设计示意图。

图4是用户界面和功能图。

图5是系统的工作流程图。

图6是系统的整体范围图。

具体实施方式

结合图1,本发明的一种基于自然语言处理的动态移动APP测试方法,包括以下步骤:

步骤1、选择确定APP的运行环境,所述APP的运行环境是APP测试所需要的虚拟机环境,包括android版本,内存大小;

步骤2、导入确定待测试的特征文件,所述特征文件包括行为驱动开发中的测试自动化脚本和测试应用所需要的场景文件;

步骤3、利用配置文件读取步骤1中的运行环境参数,同时读取步骤2中的特征文件并将这些数据隔离放进Gherkin扩展部分;对数据隔离放进Gherkin扩展部分具体为:

步骤3-1、用RubyGems对每个输入的合法文档用Ruby库进行创建,并分发独立软件包;

步骤3-2、将输入文档复制到软件包内,与此同时,RubyGems自动安装存储该文件所需的程序和库。

步骤4、对步骤3读取的信息和系统预置的Gherkin脚本进行匹配,所述预置脚本以纯文本文件或者XML文件存储在数据库;对读取的信息和系统预置的Gherkin脚本匹配具体为:

步骤4-1、根据读取的信息所提供的关键字和句子在cucumber中运行并生成报告;

步骤4-2、对生成的报告判断该输入信息是否可以和系统预置的Gherkin脚本匹配;

步骤4-3、如果步骤4-2满足,判断它是否会按照匹配的Gherkin脚本中定义的方式表现,满足条件进行步骤5,否则测试终止。

步骤5、将步骤4匹配成功的Gherkin脚本发送到要执行的移动测试发生器,cucumber基于脚本自然语言解析该脚本,输出解析日志;

步骤6、通过WebDriver客户端接口创建相应的对象来读取步骤5得到的日志,与此同时,获取待测试的apk文件;

步骤7、利用步骤6读取的日志和apk文件使用Ruby平台对APP进行测试,并输出测试报告。

下面进行更详细的描述。

本发明是构建一种统一的移动测试平台,使我们能够在一个简单的框架中使用自然语言测试一个移动应用程序的所有功能,主要基于cucumber实现脚本转化匹配。

本发明的一种基于自然语言处理的动态移动APP测试方法,用calabash-android框架实现以下步骤:

步骤1、选择确定APP的运行环境,所述APP的运行环境主要是APP测试所需要的虚拟机环境,包括android版本,内存大小等;

步骤2、导入确定待测试的特征文件,所述特征文件包括行为驱动开发中的测试自动化脚本和测试应用所需要的场景文件。

示例代码如下:

步骤3、利用配置文件读取步骤1中的运行环境参数,同时读取步骤2中的特征文件并将这些数据隔离放进Gherkin扩展部分,对数据隔离放进Gherkin扩展部分即用RubyGems对每个输入的合法文档用Ruby库进行创建,并分发独立软件包,再将输入文档复制到软件包内,与此同时,RubyGems自动安装存储该文件所需的程序和库。

步骤4、对步骤3读取的信息和系统预置的Gherkin脚本匹配,匹配过程即根据读取的信息所提供的关键字和句子在cucumber中运行并生成报告,对生成的报告判断该输入信息是否可以和系统预置的Gherkin脚本匹配,再判断它是否会按照匹配的Gherkin脚本中定义的方式表现,满足条件进行步骤5,否则测试终止。所述预置脚本为系统的测试用例,系统内已包括定义新场景,执行场景,定义新环境,捕获测试结果,浏览测试结果等,可由用户自定义增加,以纯文本文件或者XML文件存储在数据库,这些文件将被用做测试脚本发生器生成的日志;

自定义新场景模板如下:

示例代码如下:

步骤5、将步骤4匹配成功的Gherkin脚本发送到要执行的移动测试发生器,cucumber基于脚本自然语言解析该脚本,输出解析日志;

步骤6、通过WebDriver客户端接口创建相应的对象来读取步骤5得到的日志,与此同时,获取待测试的apk文件;

步骤7、利用步骤6读取的脚本语言和apk文件使用Ruby平台对APP进行测试,并输出测试报告。

下面结合实施例对本发明做进一步详细的描述。

实施例

本发明公布了一种移动app测试方法,方法通过用户利用自然语言所定义的场景来扩展Cucumber的行为,应用程序的核心是Gherkin的扩展。方法实现的核心是设计原型脚本发生器,它可以将产生基于用户输入需求的移动应用测试脚本。具体包括如下几部分:

1)开发移动应用的移动测试模型和覆盖准则自动化。开发两种模式的移动应用测试:第一个是基于移动测试模型的GUI,第二个模式将允许我们在不同的环境中进行应用测试。在进行移动应用程序测试时解决各方面测试的一些问题,比如基于网络或本地硬件,对应用的测试分为功能,性能两方面来完成。行为测试通过不同的参数来测试模拟器。还有互操作性,连接,质量服务,安全性,易用性等等问题。

2)创建一个基于开发自然语言测试脚本技术的原型工具。支持移动应用测试自动化跨越不同的移动测试环境和平台。这个原型显然使我们能够提供一个统一的控制和测试发生器。它也将帮助我们了解运行在处理的后台的脚本。

3)基于设计和开发自然语言的处理器,类似Cucumber的可执行的测试脚本生成工具,它在之前已经建立的原型上执行,并提供一个基于自然语言处理的自然语言脚本内容。具体如下:

在android中安装启用WordPress应用程序

场景一:输入凭据后,点击登录页面标签可以进入到wordpress的主页面,

Scenario:As a valid user I can log into my app

When I see"Sign in"

Then I enter text"lpshikhar"into field with id"nux_username"

And I enter text"shikharrawat"into field with id"nux_password"

Then I press"Sign in"

And I should see"Posts"

And I press view with content description"More options"

And I touch the"Sign out"text

And I press the"Sign out"button

Then I wait for 2seconds

And take picture

场景二:单击屏幕上右上角的三个点进入菜单项

And I press view with content description"More options"

场景三:该菜单已被按下后我们会看到一个下拉菜单,选择注销。

And I touch the"Sign out"text

And I press the"Sign out"button

Then I wait for 2seconds

本发明的方法简单易行便于实施。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1