CN106371994A - 基于自然语言处理的动态移动app测试方法 - Google Patents
基于自然语言处理的动态移动app测试方法 Download PDFInfo
- Publication number
- CN106371994A CN106371994A CN201610800809.1A CN201610800809A CN106371994A CN 106371994 A CN106371994 A CN 106371994A CN 201610800809 A CN201610800809 A CN 201610800809A CN 106371994 A CN106371994 A CN 106371994A
- Authority
- CN
- China
- Prior art keywords
- script
- gherkin
- test
- app
- natural language
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3664—Environments for testing or debugging software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3696—Methods or tools to render software testable
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于自然语言处理的动态移动APP测试方法,包括以下步骤:步骤1、选择确定APP的运行环境;步骤2、导入确定待测试的特征文件;步骤3、利用配置文件读取步骤1中的运行环境参数;步骤4、对步骤 3读取的信息和***预置的Gherkin脚本进行匹配;步骤5、将步骤4匹配成功的Gherkin脚本发送到要执行的移动测试发生器;步骤6、通过WebDriver客户端接口创建相应的对象来读取步骤5得到的日志;骤7、利用步骤6读取的日志和apk文件使用Ruby平台对APP进行测试。本发明的方法简单易行便于实施。
Description
技术领域
本发明属于移动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)本发明可以用来解决移动市场中使用自然语言来测试移动手机这样的日益增长的需求。用户可以自定义gesture脚本放入Gesture扩展器内成为预置脚本实现扩展。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
本发明的方法简单易行便于实施。
Claims (3)
1.一种基于自然语言处理的动态移动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进行测试,并输出测试报告。
2.根据权利要求1所述的基于自然语言处理的动态移动APP测试方法,其特征在于,步骤3对数据隔离放进Gherkin扩展部分具体为:
步骤3-1、用RubyGems对每个输入的合法文档用Ruby库进行创建,并分发独立软件包;
步骤3-2、将输入文档复制到软件包内,与此同时,RubyGems自动安装存储该文件所需的程序和库。
3.根据权利要求1所述的基于自然语言处理的动态移动APP测试方法,其特征在于,步骤4对读取的信息和***预置的Gherkin脚本匹配具体为:
步骤4-1、根据读取的信息所提供的关键字和句子在cucumber中运行并生成报告;
步骤4-2、对生成的报告判断该输入信息是否可以和***预置的Gherkin脚本匹配;
步骤4-3、如果步骤4-2满足,判断它是否会按照匹配的Gherkin脚本中定义的方式表现,满足条件进行步骤5,否则测试终止。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610800809.1A CN106371994B (zh) | 2016-09-04 | 2016-09-04 | 基于自然语言处理的动态移动app测试方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610800809.1A CN106371994B (zh) | 2016-09-04 | 2016-09-04 | 基于自然语言处理的动态移动app测试方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106371994A true CN106371994A (zh) | 2017-02-01 |
CN106371994B CN106371994B (zh) | 2018-11-13 |
Family
ID=57898929
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610800809.1A Expired - Fee Related CN106371994B (zh) | 2016-09-04 | 2016-09-04 | 基于自然语言处理的动态移动app测试方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106371994B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108446230A (zh) * | 2018-03-19 | 2018-08-24 | 南京邮电大学 | 一种面向WebDriver的Java测试代码质量评判方法 |
CN108763066A (zh) * | 2018-05-15 | 2018-11-06 | 南京璇玑信息技术有限公司 | 一种词槽设计的自然语言测试脚本编辑方法及测试机器人 |
CN110018955A (zh) * | 2018-01-10 | 2019-07-16 | 埃森哲环球解决方案有限公司 | 通过转换手动测试用例来生成自动化测试脚本 |
CN117349188A (zh) * | 2023-12-05 | 2024-01-05 | 摩斯智联科技有限公司 | 一种基于大模型的测试用例生成方法和装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102141960A (zh) * | 2011-03-18 | 2011-08-03 | 广东欧珀移动通信有限公司 | 一种基于Android的自动化测试方法 |
CN104102574A (zh) * | 2013-04-07 | 2014-10-15 | 腾讯科技(深圳)有限公司 | 应用程序测试方法及装置 |
US9135151B2 (en) * | 2013-09-18 | 2015-09-15 | Yahoo! Inc. | Automatic verification by comparing user interface images |
CN105677569A (zh) * | 2016-01-11 | 2016-06-15 | 南京理工大学 | 基于事件处理器的Android自动化测试工具及测试方法 |
-
2016
- 2016-09-04 CN CN201610800809.1A patent/CN106371994B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102141960A (zh) * | 2011-03-18 | 2011-08-03 | 广东欧珀移动通信有限公司 | 一种基于Android的自动化测试方法 |
CN104102574A (zh) * | 2013-04-07 | 2014-10-15 | 腾讯科技(深圳)有限公司 | 应用程序测试方法及装置 |
US9135151B2 (en) * | 2013-09-18 | 2015-09-15 | Yahoo! Inc. | Automatic verification by comparing user interface images |
CN105677569A (zh) * | 2016-01-11 | 2016-06-15 | 南京理工大学 | 基于事件处理器的Android自动化测试工具及测试方法 |
Non-Patent Citations (2)
Title |
---|
YS PANNU: "Test Automation Using Cucumber and Selenium WebDriver", 《INTERNATIONAL JOURNAL ON ADVANCED COMPUTER THEORY AND ENGINEERING》 * |
杨晔: "基于BDD的自动化测试框架研究", 《电脑与电信》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110018955A (zh) * | 2018-01-10 | 2019-07-16 | 埃森哲环球解决方案有限公司 | 通过转换手动测试用例来生成自动化测试脚本 |
CN110018955B (zh) * | 2018-01-10 | 2022-06-03 | 埃森哲环球解决方案有限公司 | 通过转换手动测试用例来生成自动化测试脚本 |
CN108446230A (zh) * | 2018-03-19 | 2018-08-24 | 南京邮电大学 | 一种面向WebDriver的Java测试代码质量评判方法 |
CN108763066A (zh) * | 2018-05-15 | 2018-11-06 | 南京璇玑信息技术有限公司 | 一种词槽设计的自然语言测试脚本编辑方法及测试机器人 |
CN117349188A (zh) * | 2023-12-05 | 2024-01-05 | 摩斯智联科技有限公司 | 一种基于大模型的测试用例生成方法和装置 |
CN117349188B (zh) * | 2023-12-05 | 2024-03-15 | 摩斯智联科技有限公司 | 一种基于大模型的测试用例生成方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN106371994B (zh) | 2018-11-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11979452B1 (en) | Demo recording utility | |
US10592319B2 (en) | API notebook tool | |
US8413061B2 (en) | Synchronous to asynchronous web page conversion | |
US11635974B2 (en) | Providing a different configuration of added functionality for each of the stages of predeployment, deployment, and post deployment using a layer of abstraction | |
CN101122921B (zh) | 基于ajax与html标记形成树形显示结构的方法 | |
CN104636139A (zh) | 一种可视化跨平台移动应用开发与生成*** | |
CN105138448A (zh) | 一种在前端测试页面的方法和装置 | |
CN106371994A (zh) | 基于自然语言处理的动态移动app测试方法 | |
US9563415B2 (en) | Generating visually encoded dynamic codes for remote launching of applications | |
CN108984202B (zh) | 一种电子资源分享方法、装置和存储介质 | |
CN102436416A (zh) | 移动设备测试***和方法 | |
WO2012005928A1 (en) | Facilitating propagation of user interface patterns or themes | |
CN102004695A (zh) | 浏览器测试方法及*** | |
CN102567172A (zh) | 用于应用性能测试的并行工作负荷仿真方法和*** | |
CN106599085A (zh) | web***配置文件的自动刷新方法及装置 | |
CN109799985A (zh) | 前端代码生成方法及装置、存储介质及电子设备 | |
US11422783B2 (en) | Auto-deployment of applications | |
US11625243B2 (en) | Micro-application creation and execution | |
CN109002390A (zh) | 一种测试例参数动态配置方法及装置 | |
CN111353758B (zh) | 流程变更方法及装置 | |
CN103685498B (zh) | 一种壁纸的加载方法和浏览器装置 | |
Walczak et al. | Adaptable mobile user interfaces for e-learning repositories | |
Chakraborty et al. | Alexa Enabled IoT Device Simulation Using C# And AWS Lambda | |
US9477492B2 (en) | Deploying multi-channel or device agnostic applications | |
US20110179087A1 (en) | Method for combining and processing web data using tables and programming-by-demonstration |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20181113 Termination date: 20200904 |