CN105930262B - 应用程序用户界面自动化测试方法及电子设备 - Google Patents
应用程序用户界面自动化测试方法及电子设备 Download PDFInfo
- Publication number
- CN105930262B CN105930262B CN201610119604.7A CN201610119604A CN105930262B CN 105930262 B CN105930262 B CN 105930262B CN 201610119604 A CN201610119604 A CN 201610119604A CN 105930262 B CN105930262 B CN 105930262B
- Authority
- CN
- China
- Prior art keywords
- layer
- amended
- business demand
- scene
- definition
- 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.)
- Active
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/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/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- 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
-
- 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
- G06F11/3684—Test management for test design, e.g. generating new test cases
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)
- Debugging And Monitoring (AREA)
Abstract
一种应用程序用户界面自动化测试方法,包括:将应用程序用户界面的测试软件框架分为业务需求层、方法定义层和方法实现层;在收到用户针对测试软件的控件名称的修改请求时,根据所述业务需求层及方法定义层,确定出修改后的控件名称对应的流程定义;根据所述方法实现层,找到与确定出的流程定义对应的程序块;及在找到的程序块中找出与修改后的控件名称属于同一同义名称集合的其他名称,并在找到的程序块中将找出的其他名称替换为修改后的控件名称。本发明还提供一种执行上述方法的电子设备。本发明可以在用户界面有新的需求或者需要改版,不需要重写自动化测试的代码。
Description
技术领域
本发明涉及测试技术领域,特别是一种应用程序用户界面自动化测试方法及电子设备。
背景技术
用户界面(User Interface,简称UI,亦称使用者界面)是指对软件的人机交互、操作逻辑、界面美观的整体设计,是系统和用户之间进行交互和信息交换的媒介,它实现信息的内部形式与人类可以接受的形式之间的转换。用户界面是介于用户与硬件而设计的彼此之间交互沟通的软件,目的在于使得用户能够方便有效率地去操作硬件以达成双向的交互,完成所希望借助硬件完成的工作。
好的UI设计不仅是让软件变得有个性有品味,还要让软件的操作变得舒适、简单、自由、充分体现软件的定位和特点。
随着计算机硬件的飞速发展,过去的应用程序(软件产品)已经不能适应用户的要求。软件产品在激烈的市场竞争中,仅仅有强大的功能是远远不够的,不足以战胜强劲的对手。一些高瞻远瞩的企业已经开始意识到UI给软件产品带来的巨大卖点。实践证明,各商家只要在产品美观和易用设计方面很小的投入,将会有很大的产出。其投入产出比,要比在功能领先性开发上的投入大得多。
目前,行业内软件产品UI自动化测试时,一旦如图1所示,有新的需求或者改版时,所有的自动化测试的代码都需要重写,维护和实施自动化测试,耗时耗力,无法继续投入实施。
发明内容
鉴于以上内容,有必要提供一种应用程序用户界面自动化测试方法,其可以在用户界面有新的需求或者需要改版,不需要重写自动化测试的代码。
一种应用程序用户界面自动化测试方法,运行于电子设备中,该方法包括:
将应用程序用户界面的测试软件框架分为业务需求层、方法定义层和方法实现层,其中,所述业务需求层定义有各个功能控件的同义名称集合及各个功能控件对应不同场景的业务流程,所述方法定义层映射业务需求层,用于对所述业务需求层的各个业务流程定义有对应的流程定义,以及所述方法实现层映射方法定义层,用于定义各个业务流程的流程定义对应的程序块;
在收到用户针对测试软件的控件名称的修改请求时,根据所述业务需求层及方法定义层,确定出修改后的控件名称对应的流程定义;
根据所述方法实现层,找到与确定出的流程定义对应的程序块;及
在找到的程序块中找出与修改后的控件名称属于同一同义名称集合的其他名称,并在找到的程序块中将找出的其他名称替换为修改后的控件名称。
优选地,其中,根据所述业务需求层及方法定义层,确定出修改后的控件名称对应的流程定义包括:
分析修改后的名称是否属于所述业务需求层定义的同义名称集合;若修改后的名称属于所述业务需求层定义的同义名称集合,则找到修改后的控件名称对应的业务流程;根据所述方法定义层,确定出找到的业务流程对应的流程定义;若修改后的控件名称不属于所述业务需求层定义的同义名称集合,则生成第一提醒信息,以提醒用户将修改后的控件名称加入对应的同义名称集合中,并在修改后的控件名称加入至一个同义名称集合中后,根据所述业务需求层及方法定义层,确定出修改后的控件名称对应的流程定义。
优选地,该方法还包括:
收到用户针对测试软件的一个功能控件的场景的修改请求时,根据所述业务需求层,确定出修改后的场景对应的业务流程;
根据所述方法定义层,找到与确定出的业务流程对应的流程定义;
根据所述方法实现层,找出与找到的流程定义对应的程序;及
在所述测试软件中,将原场景对应的程序块替换为找到的程序块。
优选地,其中,所述根据所述业务需求层,确定出修改后的场景对应的业务流程包括:
分析修改后的场景是否属于所述业务需求层定义的场景;若修改后的场景属于所述业务需求层定义的场景,则确定出修改后的场景对应的业务流程;若修改后的场景不属于所述业务需求层定义的场景,则生成第二提醒信息,以提醒用户将修改后的场景及其对应的业务流程加入所述业务需求层,并提醒用户在所述方法定义层增加与修改后的场景对应的业务流程的流程定义,及在所述方法实现层增加与修改后的场景对应的流程定义的程序块。
鉴于以上内容,还有必要提供一种执行上述应用程序用户界面自动化测试方法的电子设备,其可以在用户界面有新的需求或者需要改版,不需要重写自动化测试的代码。
一种电子设备,该电子设备包括存储设备以及处理器。其中:
所述存储设备,用于存储一个应用程序用户界面自动化测试系统;
所述处理器,用于调用并执行所述应用程序用户界面自动化测试系统,以执行如下步骤:
将应用程序用户界面的测试软件框架分为业务需求层、方法定义层和方法实现层,其中,所述业务需求层定义有各个功能控件的同义名称集合及各个功能控件对应不同场景的业务流程,所述方法定义层映射业务需求层,用于对所述业务需求层的各个业务流程定义有对应的流程定义,以及所述方法实现层映射方法定义层,用于定义各个业务流程的流程定义对应的程序块;
在收到用户针对测试软件的控件名称的修改请求时,根据所述业务需求层及方法定义层,确定出修改后的控件名称对应的流程定义;
根据所述方法实现层,找到与确定出的流程定义对应的程序块;及
在找到的程序块中找出与修改后的控件名称属于同一同义名称集合的其他名称,并在找到的程序块中将找出的其他名称替换为修改后的控件名称。
优选地,其中,根据所述业务需求层及方法定义层,确定出修改后的控件名称对应的流程定义的步骤包括:
分析修改后的名称是否属于所述业务需求层定义的同义名称集合;若修改后的名称属于所述业务需求层定义的同义名称集合,则找到修改后的控件名称对应的业务流程;根据所述方法定义层,确定出找到的业务流程对应的流程定义;若修改后的控件名称不属于所述业务需求层定义的同义名称集合,则生成第一提醒信息,以提醒用户将修改后的控件名称加入对应的同义名称集合中,并在修改后的控件名称加入至一个同义名称集合中后,根据所述业务需求层及方法定义层,确定出修改后的控件名称对应的流程定义。
优选地,所述应用程序用户界面自动化测试系统还执行如下步骤:
收到用户针对测试软件的一个功能控件的场景的修改请求时,根据所述业务需求层,确定出修改后的场景对应的业务流程;
根据所述方法定义层,找到与确定出的业务流程对应的流程定义;
根据所述方法实现层,找出与找到的流程定义对应的程序;及
在所述测试软件中,将原场景对应的程序块替换为找到的程序块。
优选地,其中,所述根据所述业务需求层,确定出修改后的场景对应的业务流程的步骤包括:
分析修改后的场景是否属于所述业务需求层定义的场景;若修改后的场景属于所述业务需求层定义的场景,则确定出修改后的场景对应的业务流程;若修改后的场景不属于所述业务需求层定义的场景,则生成第二提醒信息,以提醒用户将修改后的场景及其对应的业务流程加入所述业务需求层,并提醒用户在所述方法定义层增加与修改后的场景对应的业务流程的流程定义,及在所述方法实现层增加与修改后的场景对应的流程定义的程序块。
本发明所述应用程序用户界面自动化测试方法及适用于上述方法的电子设备,可以在用户界面有新的需求或者需要改版时,不需要重写自动化测试的代码,节省测试时间与效率。
附图说明
图1举例说明软件产品用户界面的改版。
图2是本发明应用程序用户界面自动化测试系统的硬件环境示意图。
图3是本发明应用程序用户界面自动化测试系统较佳实施例的功能模块图。
图4是本发明应用程序用户界面自动化测试方法较佳实施例的方法流程图。
具体实施方式
参阅图2所示,是本发明应用程序用户界面自动化测试系统的硬件环境示意图。
本发明较佳实施例,所述应用程序用户界面自动化测试系统10可以安装并运行于一个电子设备1中。所述电子设备1可以是服务器,个人电脑,包括平板电脑、桌上型电脑、笔记本电脑等。本发明其他实施例中,所述电子设备1可以是任意适合的电子设备。
所述电子设备1中安装有一个或者多个应用程序用户界面的测试软件11。本实施例中,所述应用程序用户界面提供了软件产品的人机交互、操作逻辑、界面美观的整体设计,并可以将该设计显示在显示装置12中。
所述电子设备1中还可以包括有处理器13以及存储设备14。所述处理器13是电子设备1的运算核心(Core Unit)和控制核心(Control Unit),用于解释计算机指令以及处理计算机软件中的数据。所述存储设备14可以是一个或者多个非易失性存储单元,如ROM、EPROM或Flash Memory(快闪存储单元)等。
本实施例中,所述应用程序用户界面自动化测试系统10可以是一种计算机软件,其包括计算机可执行的程序指令代码,该程序指令代码可以存储于所述电子设备1的存储设备14中,在所述电子设备1的处理器13的执行下,可以实现下述功能:将应用程序用户界面的测试软件11框架分为业务需求层、方法定义层和方法实现层。
所述业务需求层定义有各个功能控件的同义名称集合,例如,“退出登陆”、“注销登陆”、“重新登陆”等是同义名称,被归为同一同义名称集合;“忘记密码”和“登录遇到问题”等被归为同一同义名称集合,并定义各个功能控件对应不同场景的业务流程,例如,注销登陆控件对应的背景若为“注销登陆”,该背景对应的业务流程可以为“收到注销登陆指令时,若已经登陆系统,则可以成功注销”;注销登陆控件对应的背景若为“注销登陆时要提示用户不会删除任何历史数据”,该背景对应的业务流程可以为“收到注销登陆指令时,若已经登陆系统,则发出确认是否注销登陆的提醒信息;当收到用户发出的确认注销登陆指令后,则可以成功注销”。所述业务需求层是通过描述性的语言来描述需求,同时这些需求也是测试场景案例,可以把同一功能控件的不同业务流程的功能集合在同一业务层,例如:“使用正确的用户名和密码登陆”、“使用正确的用户名,错误的密码登陆”、“使用错误的用户名,正确的密码登陆”、“使用错误的用户名和密码登陆”这些都属于登陆控件的不同场景,可以将登陆控件的不同场景对应的业务流程集合到同一业务层编写来体现整个登陆控件的业务流程。
所述方法定义层映射业务需求层,其对所述业务需求层的各个业务流程定义有对应的流程定义,业务需求层的描述性语言如何解析和运行,需要在方法定义层做相关定义。
所述方法实现层映射方法定义层,是方法实现的具体操作,所述方法实现层定义各个业务流程的流程定义对应的程序块。
所述应用程序用户界面自动化测试系统10在收到用户针对测试软件11的控件名称的修改请求时,根据所述业务需求层及方法定义层,确定出修改后的控件名称对应的流程定义;根据所述方法实现层,找到与确定出的流程定义对应的程序块;在找到的程序块中找出与修改后的控件名称属于同一同义名称集合的其他名称,并在找到的程序块中将找出的其他名称替换为修改后的控件名称。
进一步地,所述应用程序用户界面自动化测试系统10在收到用户针对一个功能控件的场景的修改请求时,根据所述业务需求层,确定出修改后的场景对应的业务流程;根据所述方法定义层,找到与确定出的业务流程对应的流程定义;根据所述方法实现层,找出与找到的流程定义对应的程序块;在测试软件11中,将原场景对应的程序块替换为找到的程序块。
参阅图3所示,是本发明应用程序用户界面自动化测试系统较佳实施例的功能模块图。
所述应用程序用户界面自动化测试系统10的程序代码根据其不同的功能,可以划分为多个功能模块。本发明较佳实施例中,所述应用程序用户界面自动化测试系统10可以包括分割模块100、判断模块101、控件名称修改模块102及场景修改模块103。
所述分割模块100用于将应用程序用户界面的测试软件11框架分为业务需求层、方法定义层和方法实现层。
所述业务需求层定义有各个功能控件的同义名称集合,例如,“退出登陆”、“注销登陆”、“重新登陆”等是同义名称,被归为同一同义名称集合;“忘记密码”和“登录遇到问题”等被归为同一同义名称集合,并定义各个功能控件对应不同场景的业务流程,例如,注销登陆控件对应的背景若为“注销登陆”,该背景对应的业务流程可以为“收到注销登陆指令时,若已经登陆系统,则可以成功注销”;注销登陆控件对应的背景若为“注销登陆时要提示用户不会删除任何历史数据”,该背景对应的业务流程可以为“收到注销登陆指令时,若已经登陆系统,则发出确认是否注销登陆的提醒信息;当收到用户发出的确认注销登陆指令后,则可以成功注销”。所述业务需求层是通过描述性的语言来描述需求,同时这些需求也是测试场景案例,可以把同一功能控件的不同业务流程的功能集合在同一业务层,例如:“使用正确的用户名和密码登陆”、“使用正确的用户名,错误的密码登陆”、“使用错误的用户名,正确的密码登陆”、“使用错误的用户名和密码登陆”这些都属于登陆控件的不同场景,可以将登陆控件的不同场景对应的业务流程集合到同一业务层编写来体现整个登陆控件的业务流程。
所述方法定义层映射业务需求层,其对所述业务需求层的各个业务流程定义有对应的流程定义,业务需求层的描述性语言如何解析和运行,需要在方法定义层做相关定义。
所述方法实现层映射方法定义层,是方法实现的具体操作,所述方法实现层定义各个业务流程的流程定义对应的程序块。
所述判断模块101用于接收用户对测试软件11的修改请求,并判断所述修改请求的类型。所述对测试软件11的修改请求可以包括控件名称的修改请求及功能控件的场景的修改请求。
所述控件名称修改模块102用于在收到用户针对测试软件11的控件名称的修改请求时,根据所述业务需求层及方法定义层,确定出修改后的控件名称对应的流程定义;根据所述方法实现层,找到与确定出的流程定义对应的程序块;在找到的程序块中找出与修改后的控件名称属于同一同义名称集合的其他名称,并在找到的程序块中将找出的其他名称替换为修改后的控件名称。
所述场景修改模块103用于在收到用户针对一个功能控件的场景的修改请求时,根据所述业务需求层,确定出修改后的场景对应的业务流程;根据所述方法定义层,找到与确定出的业务流程对应的流程定义;根据所述方法实现层,找出与找到的流程定义对应的程序块;在测试软件11中,将原场景对应的程序块替换为找到的程序块。
参阅图4所示,是本发明应用程序用户界面自动化测试方法较佳实施例的方法流程图。本实施例所述应用程序用户界面自动化测试方法并不限于流程图中所示步骤,此外流程图中所示步骤中,某些步骤可以省略、步骤之间的顺序可以改变。
步骤S10,分割模块100将应用程序用户界面的测试软件11框架分为业务需求层、方法定义层和方法实现层。
其中,所述业务需求层定义有各个功能控件的同义名称集合,例如,“退出登陆”、“注销登陆”、“重新登陆”等是同义名称,被归为同一同义名称集合;“忘记密码”和“登录遇到问题”等被归为同一同义名称集合,并定义各个功能控件对应不同场景的业务流程,例如,注销登陆控件对应的背景若为“注销登陆”,该背景对应的业务流程可以为“收到注销登陆指令时,若已经登陆系统,则可以成功注销”;注销登陆控件对应的背景若为“注销登陆时要提示用户不会删除任何历史数据”,该背景对应的业务流程可以为“收到注销登陆指令时,若已经登陆系统,则发出确认是否注销登陆的提醒信息;当收到用户发出的确认注销登陆指令后,则可以成功注销”。所述业务需求层是通过描述性的语言来描述需求,同时这些需求也是测试场景案例,可以把同一功能控件的不同业务流程的功能集合在同一业务层,例如:“使用正确的用户名和密码登陆”、“使用正确的用户名,错误的密码登陆”、“使用错误的用户名,正确的密码登陆”、“使用错误的用户名和密码登陆”这些都属于登陆控件的不同场景,可以将登陆控件的不同场景对应的业务流程集合到同一业务层编写来体现整个登陆控件的业务流程。
所述方法定义层映射业务需求层,其对所述业务需求层的各个业务流程定义有对应的流程定义,业务需求层的描述性语言如何解析和运行,需要在方法定义层做相关定义。
所述方法实现层映射方法定义层,是方法实现的具体操作,所述方法实现层定义各个业务流程的流程定义对应的程序块。
步骤S11,判断模块101判断是否收到用户针对测试软件11的控件名称的修改请求。当收到用户针对测试软件11的控件名称的修改请求时,执行下述的步骤12至步骤14。当收到的不是用户针对测试软件11的控件名称的修改请求时,执行下述的步骤S15。
步骤S12,控件名称修改模块102根据所述业务需求层及方法定义层,确定出修改后的控件名称对应的流程定义。该步骤包括:分析修改后的名称是否属于所述业务需求层定义的同义名称集合;若修改后的名称属于所述业务需求层定义的同义名称集合,则找到修改后的控件名称对应的业务流程;根据所述方法定义层,确定出找到的业务流程对应的流程定义;若修改后的控件名称不属于所述业务需求层定义的同义名称集合,则生成第一提醒信息,以提醒用户将修改后的控件名称加入对应的同义名称集合中,并在修改后的控件名称加入至一个同义名称集合中后,根据所述业务需求层及方法定义层,确定出修改后的控件名称对应的流程定义。
步骤S13,控件名称修改模块102根据所述方法实现层,找到与确定出的流程定义对应的程序块。
步骤S14,控件名称修改模块102在找到的程序块中找出与修改后的控件名称属于同一同义名称集合的其他名称,并在找到的程序块中将找出的其他名称替换为修改后的控件名称。
步骤S15,判断模块101判断是否收到用户针对测试软件11的一个功能控件的场景的修改请求。若收到用户针对测试软件11的一个功能控件的场景的修改请求时,执行下述的步骤S16至步骤S19。否则,当收到的不是用户针对测试软件11的一个功能控件的场景的修改请求时,流程结束。
步骤S16,场景修改模块103根据所述业务需求层,确定出修改后的场景对应的业务流程。该步骤包括:分析修改后的场景是否属于所述业务需求层定义的场景;若修改后的场景属于所述业务需求层定义的场景,则确定出修改后的场景对应的业务流程;若修改后的场景不属于所述业务需求层定义的场景,则生成第二提醒信息,以提醒用户将修改后的场景及其对应的业务流程加入所述业务需求层,并提醒用户在所述方法定义层增加与修改后的场景对应的业务流程的流程定义,及在所述方法实现层增加与修改后的场景对应的流程定义的程序块。
步骤S17,场景修改模块103根据所述方法定义层,找到与确定出的业务流程对应的流程定义。
步骤S18,场景修改模块103根据所述方法实现层,找出与找到的流程定义对应的程序块。
步骤S19,在测试软件11中,场景修改模块103将原场景对应的程序块替换为找到的程序块。
最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。
Claims (8)
1.一种应用程序用户界面自动化测试方法,运行于电子设备中,其特征在于,该方法包括:
将应用程序用户界面的测试软件框架分为业务需求层、方法定义层和方法实现层,其中,所述业务需求层定义有各个功能控件的同义名称集合及各个功能控件对应不同场景的业务流程,所述方法定义层映射业务需求层,用于对所述业务需求层的各个业务流程定义有对应的流程定义,以及所述方法实现层映射方法定义层,用于定义各个业务流程的流程定义对应的程序块;
在收到用户针对测试软件的控件名称的修改请求时,根据所述业务需求层及方法定义层,确定出修改后的控件名称对应的流程定义;
根据所述方法实现层,找到与确定出的流程定义对应的程序块;及
在找到的程序块中找出与修改后的控件名称属于同一同义名称集合的其他名称,并在找到的程序块中将找出的其他名称替换为修改后的控件名称。
2.如权利要求1所述的方法,其特征在于,其中,根据所述业务需求层及方法定义层,确定出修改后的控件名称对应的流程定义包括:
分析修改后的名称是否属于所述业务需求层定义的同义名称集合;若修改后的名称属于所述业务需求层定义的同义名称集合,则找到修改后的控件名称对应的业务流程;根据所述方法定义层,确定出找到的业务流程对应的流程定义;若修改后的控件名称不属于所述业务需求层定义的同义名称集合,则生成第一提醒信息,以提醒用户将修改后的控件名称加入对应的同义名称集合中,并在修改后的控件名称加入至一个同义名称集合中后,根据所述业务需求层及方法定义层,确定出修改后的控件名称对应的流程定义。
3.如权利要求1所述的方法,其特征在于,该方法还包括:
收到用户针对测试软件的一个功能控件的场景的修改请求时,根据所述业务需求层,确定出修改后的场景对应的业务流程;
根据所述方法定义层,找到与确定出的业务流程对应的流程定义;
根据所述方法实现层,找出与找到的流程定义对应的程序块;及
在所述测试软件中,将原场景对应的程序块替换为找到的程序块。
4.如权利要求3所述的方法,其特征在于,其中,所述根据所述业务需求层,确定出修改后的场景对应的业务流程包括:
分析修改后的场景是否属于所述业务需求层定义的场景;若修改后的场景属于所述业务需求层定义的场景,则确定出修改后的场景对应的业务流程;若修改后的场景不属于所述业务需求层定义的场景,则生成第二提醒信息,以提醒用户将修改后的场景及其对应的业务流程加入所述业务需求层,并提醒用户在所述方法定义层增加与修改后的场景对应的业务流程的流程定义,及在所述方法实现层增加与修改后的场景对应的流程定义的程序块。
5.一种适用于权利要求1至4任一项所述方法的电子设备,其特征在于,该电子设备包括存储设备以及处理器,其中:
所述存储设备,用于存储一个应用程序用户界面自动化测试系统;
所述处理器,用于调用并执行所述应用程序用户界面自动化测试系统,以执行如下步骤:
将应用程序用户界面的测试软件框架分为业务需求层、方法定义层和方法实现层,其中,所述业务需求层定义有各个功能控件的同义名称集合及各个功能控件对应不同场景的业务流程,所述方法定义层映射业务需求层,用于对所述业务需求层的各个业务流程定义有对应的流程定义,以及所述方法实现层映射方法定义层,用于定义各个业务流程的流程定义对应的程序块;
在收到用户针对测试软件的控件名称的修改请求时,根据所述业务需求层及方法定义层,确定出修改后的控件名称对应的流程定义;
根据所述方法实现层,找到与确定出的流程定义对应的程序块;及
在找到的程序块中找出与修改后的控件名称属于同一同义名称集合的其他名称,并在找到的程序块中将找出的其他名称替换为修改后的控件名称。
6.如权利要求5所述的电子设备,其特征在于,其中,根据所述业务需求层及方法定义层,确定出修改后的控件名称对应的流程定义的步骤包括:
分析修改后的名称是否属于所述业务需求层定义的同义名称集合;若修改后的名称属于所述业务需求层定义的同义名称集合,则找到修改后的控件名称对应的业务流程;根据所述方法定义层,确定出找到的业务流程对应的流程定义;若修改后的控件名称不属于所述业务需求层定义的同义名称集合,则生成第一提醒信息,以提醒用户将修改后的控件名称加入对应的同义名称集合中,并在修改后的控件名称加入至一个同义名称集合中后,根据所述业务需求层及方法定义层,确定出修改后的控件名称对应的流程定义。
7.如权利要求5所述的电子设备,其特征在于,所述应用程序用户界面自动化测试系统还执行如下步骤:
收到用户针对测试软件的一个功能控件的场景的修改请求时,根据所述业务需求层,确定出修改后的场景对应的业务流程;
根据所述方法定义层,找到与确定出的业务流程对应的流程定义;
根据所述方法实现层,找出与找到的流程定义对应的程序块;及
在所述测试软件中,将原场景对应的程序块替换为找到的程序块。
8.如权利要求7所述的电子设备,其特征在于,其中,所述根据所述业务需求层,确定出修改后的场景对应的业务流程的步骤包括:
分析修改后的场景是否属于所述业务需求层定义的场景;若修改后的场景属于所述业务需求层定义的场景,则确定出修改后的场景对应的业务流程;若修改后的场景不属于所述业务需求层定义的场景,则生成第二提醒信息,以提醒用户将修改后的场景及其对应的业务流程加入所述业务需求层,并提醒用户在所述方法定义层增加与修改后的场景对应的业务流程的流程定义,及在所述方法实现层增加与修改后的场景对应的流程定义的程序块。
Priority Applications (8)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610119604.7A CN105930262B (zh) | 2016-03-02 | 2016-03-02 | 应用程序用户界面自动化测试方法及电子设备 |
AU2017227739A AU2017227739B2 (en) | 2016-03-02 | 2017-02-28 | Automated testing method for application program user interface, electronic device, system, and storage medium |
EP17759227.6A EP3425510B1 (en) | 2016-03-02 | 2017-02-28 | Automated testing method for application program user interface, electronic device, system, and storage medium |
US15/737,364 US10061686B2 (en) | 2016-03-02 | 2017-02-28 | Method, electronic apparatus, system, and storage medium for automated testing of application user interface |
JP2018524833A JP6516343B2 (ja) | 2016-03-02 | 2017-02-28 | アプリケーションユーザーインターフェース自動テスト方法、電子装置、システム及び記憶媒体 |
KR1020187019515A KR102141084B1 (ko) | 2016-03-02 | 2017-02-28 | 애플리케이션 프로그램 사용자 인터페이스 자동화 테스트 방법, 전자 기기, 시스템 및 저장 매체 |
SG11201800347WA SG11201800347WA (en) | 2016-03-02 | 2017-02-28 | Method, electronic apparatus, system, and storage medium for automated testing of application user interface |
PCT/CN2017/075281 WO2017148376A1 (zh) | 2016-03-02 | 2017-02-28 | 应用程序用户界面自动化测试方法、电子设备、系统及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610119604.7A CN105930262B (zh) | 2016-03-02 | 2016-03-02 | 应用程序用户界面自动化测试方法及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105930262A CN105930262A (zh) | 2016-09-07 |
CN105930262B true CN105930262B (zh) | 2018-04-20 |
Family
ID=56840053
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610119604.7A Active CN105930262B (zh) | 2016-03-02 | 2016-03-02 | 应用程序用户界面自动化测试方法及电子设备 |
Country Status (8)
Country | Link |
---|---|
US (1) | US10061686B2 (zh) |
EP (1) | EP3425510B1 (zh) |
JP (1) | JP6516343B2 (zh) |
KR (1) | KR102141084B1 (zh) |
CN (1) | CN105930262B (zh) |
AU (1) | AU2017227739B2 (zh) |
SG (1) | SG11201800347WA (zh) |
WO (1) | WO2017148376A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105930262B (zh) * | 2016-03-02 | 2018-04-20 | 平安科技(深圳)有限公司 | 应用程序用户界面自动化测试方法及电子设备 |
CN109828903B (zh) * | 2018-12-14 | 2022-03-08 | 中国平安人寿保险股份有限公司 | 自动化测试方法、装置、计算机装置及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103838672A (zh) * | 2014-03-04 | 2014-06-04 | 中国工商银行股份有限公司 | 一种通用报表的自动化测试方法及装置 |
CN103870260A (zh) * | 2012-12-14 | 2014-06-18 | 腾讯科技(深圳)有限公司 | 业务接口开发的方法及系统 |
US9256406B1 (en) * | 2015-01-20 | 2016-02-09 | The Mathworks, Inc. | Graphically scoped C-functions inside stateflow |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6467085B2 (en) * | 1995-10-17 | 2002-10-15 | Telefonaktiebolaget L M Ericsson (Publ) | System and method for reducing coupling in an object-oriented programming environment |
US7461096B1 (en) * | 2003-06-11 | 2008-12-02 | Symantec Corporation | Weighted prioritizing layered computing system |
US7237225B2 (en) * | 2002-08-29 | 2007-06-26 | Sap Aktiengesellschaft | Rapid application integration using reusable patterns |
US7702649B1 (en) * | 2004-06-08 | 2010-04-20 | Sap Ag | Object-relational mapping system and method for generic relationships |
US7398514B2 (en) * | 2004-09-29 | 2008-07-08 | Microsoft Corporation | Test automation stack layering |
US8146059B2 (en) * | 2007-12-12 | 2012-03-27 | International Business Machines Corporation | Feeding test metrics into an integrated development environment to aid software developers to improve code quality |
CN101960448A (zh) * | 2008-02-29 | 2011-01-26 | 惠普开发有限公司 | 当前执行组件脚本的元素的识别 |
EP2286338B1 (en) * | 2008-06-05 | 2019-01-30 | International Business Machines Corporation | Method system and computer program for identifying software problems |
WO2010018637A1 (ja) * | 2008-08-15 | 2010-02-18 | 富士通株式会社 | 業務フロー分散処理システム及び方法 |
EP2175373B1 (en) * | 2008-10-09 | 2016-06-08 | Accenture Global Services Limited | Test data creation and execution system for service oriented architecture |
US20110137872A1 (en) * | 2009-12-04 | 2011-06-09 | International Business Machines Corporation | Model-driven data archival system having automated components |
US8949773B2 (en) * | 2010-03-25 | 2015-02-03 | International Business Machines Corporation | Deriving process models from natural language use case models |
US8904358B1 (en) * | 2010-06-08 | 2014-12-02 | Cadence Design Systems, Inc. | Methods, systems, and articles of manufacture for synchronizing software verification flows |
US8954933B2 (en) * | 2011-05-31 | 2015-02-10 | International Business Machines Corporation | Interactive semi-automatic test case maintenance |
CN103186459B (zh) * | 2011-12-30 | 2016-05-11 | 迈普通信技术股份有限公司 | 基于脚本的java图形用户界面自动测试方法 |
US20130249580A1 (en) * | 2012-03-26 | 2013-09-26 | Primestar Solar, Inc. | Apparatus and method for evaluating characteristics of a photovoltaic device |
US8930919B2 (en) * | 2012-09-25 | 2015-01-06 | The Boeing Company | Modernization of legacy software systems based on modeled dependencies |
US8949794B2 (en) * | 2012-10-12 | 2015-02-03 | Vmware, Inc. | Binding a software item to a plain english control name |
US9465726B2 (en) * | 2013-06-05 | 2016-10-11 | Vmware, Inc. | Abstract layer for automatic user interface testing |
US9424167B2 (en) * | 2014-05-21 | 2016-08-23 | Cgi Technologies And Solutions Inc. | Automated testing of an application system |
CN104699608B (zh) * | 2015-03-10 | 2017-10-27 | 于秀山 | 图形用户界面软件自动测试方法及装置 |
CN105930262B (zh) * | 2016-03-02 | 2018-04-20 | 平安科技(深圳)有限公司 | 应用程序用户界面自动化测试方法及电子设备 |
-
2016
- 2016-03-02 CN CN201610119604.7A patent/CN105930262B/zh active Active
-
2017
- 2017-02-28 WO PCT/CN2017/075281 patent/WO2017148376A1/zh active Application Filing
- 2017-02-28 SG SG11201800347WA patent/SG11201800347WA/en unknown
- 2017-02-28 EP EP17759227.6A patent/EP3425510B1/en active Active
- 2017-02-28 JP JP2018524833A patent/JP6516343B2/ja active Active
- 2017-02-28 KR KR1020187019515A patent/KR102141084B1/ko active IP Right Grant
- 2017-02-28 US US15/737,364 patent/US10061686B2/en active Active
- 2017-02-28 AU AU2017227739A patent/AU2017227739B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103870260A (zh) * | 2012-12-14 | 2014-06-18 | 腾讯科技(深圳)有限公司 | 业务接口开发的方法及系统 |
CN103838672A (zh) * | 2014-03-04 | 2014-06-04 | 中国工商银行股份有限公司 | 一种通用报表的自动化测试方法及装置 |
US9256406B1 (en) * | 2015-01-20 | 2016-02-09 | The Mathworks, Inc. | Graphically scoped C-functions inside stateflow |
Also Published As
Publication number | Publication date |
---|---|
US10061686B2 (en) | 2018-08-28 |
KR102141084B1 (ko) | 2020-08-05 |
WO2017148376A1 (zh) | 2017-09-08 |
EP3425510A4 (en) | 2019-10-23 |
EP3425510A1 (en) | 2019-01-09 |
US20180189169A1 (en) | 2018-07-05 |
JP2018535495A (ja) | 2018-11-29 |
AU2017227739A1 (en) | 2017-11-23 |
EP3425510B1 (en) | 2020-10-14 |
JP6516343B2 (ja) | 2019-05-22 |
KR20180118606A (ko) | 2018-10-31 |
CN105930262A (zh) | 2016-09-07 |
AU2017227739B2 (en) | 2019-06-13 |
SG11201800347WA (en) | 2018-02-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108352003B (zh) | 用于通过协同数据库服务的单选或多选数据呈现的方法和设备 | |
US10198422B2 (en) | Information-processing equipment based on a spreadsheet | |
CN110310088A (zh) | 工作流配置方法及相关产品 | |
US20240020162A1 (en) | Workflow selection | |
CN109597761A (zh) | 一种基于Jmeter的接口自动化测试方法 | |
CN105912473B (zh) | 基于bdd的移动app自动测试平台和测试方法 | |
Perrone et al. | SAFE: Simulation automation framework for experiments | |
JP2020505670A (ja) | コンポーネントリリース方法、グラフィック機械学習アルゴリズムプラットフォームベースのコンポーネント構築方法及びグラフィック機械学習アルゴリズムプラットフォーム | |
KR102366139B1 (ko) | 기계학습을 적용한 가상 네트워크 기능 자원의 수요 예측 방법 | |
CN108132879A (zh) | 自动化软件测试方法、平台、终端及介质 | |
Nugroho et al. | Comparative analysis of software development methods between Parallel, V-Shaped and Iterative | |
CN108388515A (zh) | 测试数据生成方法、装置、设备以及计算机可读存储介质 | |
CN109634607A (zh) | 一种代码自动生成的方法及装置 | |
CN110244899A (zh) | 电子合同在线处理方法、在线处理系统及终端 | |
CN105677306A (zh) | 自动化脚本的编写方法和装置 | |
CN106484699B (zh) | 数据库查询字段的生成方法及装置 | |
CN106446019A (zh) | 一种软件功能处理方法和装置 | |
Kshetri et al. | Big data and cloud computing for development: Lessons from key industries and economies in the global south | |
CN109992518A (zh) | Ui界面的检测方法、装置、电子设备及存储介质 | |
US20240080354A1 (en) | Providing bulk server-side custom actions for multiple rows of a client-side spread sheet | |
CN109634570A (zh) | 前后端集成开发方法、装置、设备及计算机可读存储介质 | |
CN105930262B (zh) | 应用程序用户界面自动化测试方法及电子设备 | |
CN104537012B (zh) | 数据处理方法和装置 | |
CN103309676B (zh) | 用于海洋数值模拟ROMS的Web服务封装方法以及系统 | |
CN113919158A (zh) | 一种用于飞行控制面板的仿真方法、装置及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |