CN106371994A - 基于自然语言处理的动态移动app测试方法 - Google Patents

基于自然语言处理的动态移动app测试方法 Download PDF

Info

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
Application number
CN201610800809.1A
Other languages
English (en)
Other versions
CN106371994B (zh
Inventor
谭婷婷
陶传奇
秦斐
刘段
马晓燕
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing University of Science and Technology
Original Assignee
Nanjing University of Science and Technology
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nanjing University of Science and Technology filed Critical Nanjing University of Science and Technology
Priority to CN201610800809.1A priority Critical patent/CN106371994B/zh
Publication of CN106371994A publication Critical patent/CN106371994A/zh
Application granted granted Critical
Publication of CN106371994B publication Critical patent/CN106371994B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3696Methods 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测试脚本技术领域,特别是一种基于自然语言处理的动态移动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,否则测试终止。
CN201610800809.1A 2016-09-04 2016-09-04 基于自然语言处理的动态移动app测试方法 Expired - Fee Related CN106371994B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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自动化测试工具及测试方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
YS PANNU: "Test Automation Using Cucumber and Selenium WebDriver", 《INTERNATIONAL JOURNAL ON ADVANCED COMPUTER THEORY AND ENGINEERING》 *
杨晔: "基于BDD的自动化测试框架研究", 《电脑与电信》 *

Cited By (6)

* Cited by examiner, † Cited by third party
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