CN106713011B - 一种获取测试数据的方法与系统 - Google Patents
一种获取测试数据的方法与系统 Download PDFInfo
- Publication number
- CN106713011B CN106713011B CN201611044892.0A CN201611044892A CN106713011B CN 106713011 B CN106713011 B CN 106713011B CN 201611044892 A CN201611044892 A CN 201611044892A CN 106713011 B CN106713011 B CN 106713011B
- Authority
- CN
- China
- Prior art keywords
- test data
- test
- data
- result
- trigger instruction
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/02—Capturing of monitoring data
- H04L43/022—Capturing of monitoring data by sampling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0876—Aspects of the degree of configuration automation
- H04L41/0886—Fully automatic configuration
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/06—Generation of reports
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Automation & Control Theory (AREA)
- Mobile Radio Communication Systems (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提出了一种获取测试数据的方法与系统,本发明通过触发前端,由前端自动生成并记录测试数据,并将测试上报至数据仓库进行记录;筛选出有效测试数据,能够实现有效测试数据获取的全程自动化,显著地节省了人力物力,提升了测试数据获取效率。此外,本发明还通过设置比对策略,能够通过将前端的测试数据与数据仓库中记录的测试数据进行自动化比对,判断数据仓库中的测试数据是否有误,保证测试数据的正确性。并且本发明对于前端的个数以及使用的操作系统没有限制,具有广阔的适用范围。
Description
技术领域
本发明涉及自动化测试领域,尤其涉及一种获取测试数据的方法与系统。
背景技术
测试数据对于考量应用的性能、优化代码以及查找漏洞,都起着很关键的作用,因此测试数据获取的正确性也是非常重要的。为获取确保正确的有效测试数据,通常既需要由前端生成测试数据,并将测试上报至数据仓库进行记录;又需要在数据仓库中筛选出无误的测试数据。
现有技术中通常进行有效测试数据的手动获取或者半自动化获取,效率低下,以手机端一次灰度发布为例(灰度发布指在旧版本和新版本之间平滑过渡地一种发布方式),可能需要进行4-5次的冒烟测试(冒烟测试即对产品的功能进行自由测试),每一次的冒烟测试均需要获取大量的有效测试数据,造成整个过程耗时耗力,且容易出错。
发明内容
本发明提出了一种获取测试数据的方法与系统。
本发明具体是以如下技术方案实现的:
一种自动化获取测试数据的方法,所述方法包括:
向移动客户端发布触发指令,并接收所述移动客户端响应于所述触发指令后生成的第一测试数据;所述移动客户端用于执行与所述触发指令对应的操作,将执行所述操作得到的测试结果上报至数据仓库,并根据所述测试结果生成第一测试数据;
获取与所述触发指令对应的预期的测试结果;
获取第二测试数据,所述第二测试数据为存储于数据仓库的与所述触发指令对应的测试结果;
将所述第一测试数据、预期的测试结果以及所述第二测试数据进行比对;
若所述第一测试数据、预期的测试结果以及所述第二测试数据均表示相同的测试结果,则判定所述第二测试数据为有效测试数据;否则,判定所述第二测试数据为无效测试数据。
相应的,一种自动化获取测试数据的系统,所述系统包括:
触发指令发布模块,用于向移动客户端发布用于测试的触发指令;
第一测试数据接收模块,用于接收所述移动客户端响应于所述触发指令后生成的第一测试数据;所述移动客户端用于执行与所述触发指令对应的操作,将执行所述操作得到的测试结果上报至数据仓库,并根据所述测试结果生成第一测试数据;
预期的测试结果获取模块,用于获取与所述触发指令对应的预期的测试结果;
第二测试数据获取模块,用于获取第二测试数据,所述第二测试数据为存储于数据仓库的与所述触发指令对应的测试结果;
比对模块,用于将所述第一测试数据、预期的测试结果与所述第二测试数据进行比对;
判定模块,用于根据比对模块的比对结果判断所述第二测试数据是否为有效测试数据。
本发明提供的一种获取测试数据的方法与系统,具有如下有益效果:
(1)本发明通过触发前端,由前端自动生成并记录测试数据,并将测试上报至数据仓库进行记录,最后筛选出有效测试数据的方式,能够实现有效测试数据获取的全程自动化,显著地节省了人力物力,提升了测试数据获取效率。
(2)通过设置比对策略,能够通过将前端的测试数据与数据仓库中记录的测试数据比对,判断数据仓库中的测试数据是否有误,保证有效测试数据的正确性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
图1是本发明实施例1提供的获取测试数据的方法的流程图;
图2是本发明实施例1提供的现有技术获取测试数据的方法的流程图;
图3是本发明实施例1提供的通过向控件发出触发指令的方式实现自动化执行的方法的流程图;
图4是本发明实施例2提供的获取第二测试数据方法流程图;
图5是本发明实施例2提供的比对方法流程图;
图6是本发明实施例4提供的自动化获取测试数据的系统的框图;
图7是本发明实施例4提供的第二测试数据获取模块框图;
图8是本发明实施例4提供的比对模块框图;
图9是本发明实施例6提供的服务器示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1:
一种获取测试数据的方法,如图1所示,所述方法包括:
S101.向移动客户端发布触发指令,并接收所述移动客户端响应于所述触发指令后生成的第一测试数据。
本实施例中用于生成测试数据的测试用例记录于测试脚本,在执行测试脚本的过程中,通过执行测试用例向移动客户端发布用于测试的消息,所述消息包括触发指令。所述移动客户端自动执行与所述触发指令对应的操作,将执行所述操作得到的测试结果上报至数据仓库,并根据所述测试结果生成第一测试数据。
具体地,所述移动客户端为基于苹果公司的移动操作系统(iOS)的手机终端。本实施例中,所述移动客户端基于Instruments工具自动执行与所述触发指令对应的操作。Instruments工具是应用程序用来动态跟踪和分析苹果公司的移动操作系统的代码的实用工具,Instruments应用包括但不限于以下功能:分析一个或多个进程的行为;记录一系列用户的动作并响应它们,可靠地再现这些事件并收集多次运行的数据;通过保存用户界面记录和Instruments的配置,自动化测试待运行的代码。
S102.获取与所述触发指令对应的预期的测试结果。
测试用例不仅包括用于向移动客户端发布的用于测试的消息,还包括对移动客户端响应于触发指令后生成的测试结果的预期,即预期测试结果。
S103.获取第二测试数据,所述第二测试数据为存储于数据仓库的与所述触发指令对应的测试结果。
所述数据仓库用于接收并以数据表的形式存储所述移动客户端上报的测试结果,所述数据表包括移动客户端标识、所述测试结果的上报时间和所述测试结果。为区别于来自移动客户端的第一测试数据,从数据仓库获取的测试数据为第二测试数据。
S104.将所述第一测试数据、预期的测试结果以及所述第二测试数据进行比对:若所述第一测试数据、预期的测试结果以及所述第二测试数据均表示相同的测试结果,则判定所述第二测试数据为有效测试数据;否则,判定所述第二测试数据为无效测试数据。
现有技术中,通常需使用手动方式得到有效测试数据,如图2所示:
(1)在移动客户端通过人工触发的方式生成测试结果;
(2)移动客户端以日志形式记录测试结果以及与测试结果相关的附加信息;
(3)将测试结果以及与测试结果相关的附加信息上报到数据仓库;
(4)通过ifunbox将移动客户端的日志导出并查找测试结果以及与测试结果相关的附加信息;ifunbox是iPhone以及苹果其他产品的通用文件管理软件;
(5)从数据仓库中捞取测试数据以及与测试结果相关的附加信息;
(6)核对日志中的测试结果相关的附加信息与数据仓库中的测试结果相关的附加信息是否一致,如果一致,则判定数据仓库中的测试结果为有效测试数据。
可见,步骤(1)(4)均只能通过手工方式实现,而本实施例中S101-S104均能够自动化实现,可见,本实施例能够显著提升测试数据获取的自动化程度,并且节省人力资源。
具体地,本实施例中通过JsonRPC和XMLRPC与移动客户端进行通信。
RPC是Remote Procedure Call的缩写,即远程过程调用,是一种在本地的机器上调用远端机器上的一个过程(方法)的技术,这个过程也被称为“分布式计算”,是为了提高各个分立机器的“互操作性”而发明出来的技术。一个RPC系统,必然包括2个部分:(1)RPC客户端,用于向RPC服务器调用方法,并接收方法的返回数据;(2)RPC服务器,用于响应RPC客户端的请求,执行方法,并回送方法执行结果。本实施例中移动客户端即为RPC服务器,运行测试脚本的一端为RPC客户端。
XMLRPC使用可扩展标记语言的方式传输命令和数据。JsonRPC使用Json传输命令和数据。JSON(JavaScript ObjectNotation)是一种轻量级的数据交换格式,相比可扩展标记语言体积小巧,并且解析相对容易很多。
当移动客户端获取用于测试的消息后,解析出所述消息中包含的触发指令,并根据所述触发指令自动化执行所述触发指令对应的操作,所述操作包括但不限于单击、滑动和/或输入文本。具体地,本实施例提供两种自动化执行的方法:
(1)如图3所示,通过向控件发出触发指令的方式实现:
A1.定位与所述触发指令相关的控件。
本实施例中通过基于Instruments工具实现定位操作。以所述触发指令为单击按钮为例,首先,定位所述按钮所在的控件,得到所述按钮控件的标识,即按钮的ID号。在其他实施例中,还可以通过定位控件所在路径的方式定位所述控件。
A2.通过向所述控件发布与触发指令对应的消息,使得所述移动客户端自动执行与触发指令对应的操作。
通常情况下,单击按钮这一触发指令需要通过人机交互才能生成,即需要人通过点按按钮的方式才能生成,不能够自动生成。本步骤在获取按钮的ID号的基础上直接生成单击按钮所对应的消息,并将所述消息发送至所述按钮,模拟了人工触发的过程,得到了同样的效果,即按钮被按下,按下按钮这一触发指令在本实施例中脱离了人机操作而自动实现。
(2)根据所述触发指令定位与所述触发指令相关的控件,并直接控制所述控件执行与所述触发指令对应的操作。
以所述触发指令为在输入框中输入一串文字为例,通常情况下,输入文字这一触发指令需要通过人机交互才能生成,即需要人点按输入框的方式设置输入焦点,并向所述输入框中输入文字。本实施例在定位所述输入框并获取所述输入框的控制权的情况下,可以直接获取输入框的焦点并向所述输入框输入文字,模拟了人工输入文字这一过程,得到了同样的技术效果,即文字被输入到输入框中,输入文字这一触发指令在本实施例中脱离了人机操作而自动实现。
进一步地,客户端响应于所述触发指令后得到测试结果,并根据所述测试结果生成第一测试数据,所述第一测试数据为以日志文件形式记录。因此,在接收所述移动客户端响应于所述触发指令后生成的第一测试数据后,还包括:按照预设的规则对所述日志文件进行解析,得到所述第一测试数据。
本实施例中日志文件即为log日志,log日志中记录有测试结果、所述测试结果生成的时间,以及引发所述测试结果的事件的相关信息。本实施例中所述预设的规则即为根据log日志的结构,自动获取log日志中记录的第一测试数据,所述第一测试数据包括测试结果、所述测试结果生成的时间,以及引发所述测试结果的事件的相关信息。
本实施例提供了一种获取测试数据的方法,通过提供自动触发移动客户端执行触发指令的方法,使得移动客户端能够在不需要人工干预的情况下生成原本需要人机交互才能够获取的测试数据,提升了测试效率,节省了人力资源。
实施例2:
一种自动化获取测试数据的方法,所述方法包括:
S201.向移动客户端发布触发指令,并接收所述移动客户端响应于所述触发指令后生成的第一测试数据。
所述移动客户端用于自动执行与所述触发指令对应的操作,将执行所述操作得到的测试结果上报至数据仓库,并根据所述测试结果生成第一测试数据。具体地,所述移动客户端为基于安卓操作系统(Android)的手机终端;Android是一种基于Linux的自由及开放源代码的操作系统。本实施例中,所述移动客户端基于uiautomator自动执行与所述触发指令对应的操作。所述uiautomator为基于安卓操作系统的测试辅助工具。基于uiautomator实现自动执行的方法与实施例中相同,不再赘述。
S202.获取与所述触发指令对应的预期的测试结果。
本实施例中预期测试结果包括事件标识、事件的核心参数和触发指令执行结果;在所述事件中,向移动客户端发布触发指令。
以所述触发指令为滑动屏幕为例,
事件标识:001;
事件核心参数:动作:单侧滑动;共执行动作次数:3次;动作执行时间为:T1,T2和T3;
触发指令执行结果:向数据仓库上报三次。单侧滑动每执行一次,则向数据仓库上报一次。
在S101中,移动客户端每自动执行一次单侧滑动,便会自动向数据仓库上报一次,因此,分别在T1,T2和T3向数据仓库进行上报,同时在T1,T2和T3移动客户端也相应地生成了第一测试数据。
S203.获取第二测试数据,所述第二测试数据为存储于数据仓库的与所述触发指令对应的测试结果。
所述数据仓库用于接收并以数据表的形式存储所述移动客户端上报的测试结果,所述数据表包括移动客户端标识、所述测试结果的上报时间和所述测试结果。为区别于来自移动客户端的第一测试数据,从数据仓库获取的测试数据为第二测试数据。
S204.将所述第一测试数据、预期的测试结果以及所述第二测试数据进行比对。
若所述第一测试数据、预期的测试结果以及所述第二测试数据均表示相同的测试结果,则判定所述第二测试数据为有效测试数据;否则,判定所述第二测试数据为无效测试数据。
具体地,如图4所示,所述获取第二测试数据包括:
S2031.根据所述预期的测试结果得到测试结果的上报时间。
本实施例中,根据预期的测试结果可知,移动客户端在T1,T2和T3上报测试结果。
S2032.根据所述测试结果的上报时间和移动客户端标识向所述数据仓库发起查询请求。
S2033.接收所述数据仓库返回的第二测试数据,所述第二测试数据为所述数据表中记录的与所述测试结果的上报时间和所述移动客户端标识相对应的测试结果。
本实施例中可以由多个移动客户端生成测试数据,数据仓库通过移动客户端标识即可定位所述移动客户端上报的测试数据,再通过已知的测试结果的上报时间得到第二测试数据。
本实施例中,若移动客户端与数据仓库的交互正常,在数据仓库应该返回三条记录,即所述第二测试数据包括三条记录,记录中的测试结果的上报时间为T1,T2和T3。
在S204中将所述第一测试数据、预期的测试结果以及所述第二测试数据进行比对,第一测试数据、预期的测试结果以及所述第二测试数据中表示的测试结果均包括事件标识、事件的核心参数和触发指令执行结果。具体地,如图5所示,包括:
S2041.对所述第一测试数据中的事件标识、预期的测试结果中的事件标识以及所述第二测试数据中的事件标识进行比对。
若标识均为001,则比对通过,执行S2042。
S2042.若均相同,则对所述第一测试数据中的事件的核心参数、预期的测试结果中的事件的核心参数以及所述第二测试数据中的事件的核心参数进行比对。
若事件核心参数均为:动作:单侧滑动,共执行动作次数:3次,动作执行时间分别为:T1,T2和T3,则比对通过,执行S2043。
S2043.若均相同,则对所述第一测试数据中的触发指令执行结果、预期的测试结果中的触发指令执行结果以及所述第二测试数据中的触发指令执行结果进行比对。
若所述第一测试数据、预期的测试结果以及所述第二测试数据表示的测试结果中的触发指令执行结果均为在T1,T2和T3向数据仓库上报,共向数据仓库上报三次,则比对通过,执行S2044。
S2044.若均相同,则判定所述第二测试数据为有效测试数据。
进一步地,本实施例中还可以在将所述第一测试数据、预期的测试结果以及所述第二测试数据进行比对后,根据比对的结果生成报表,以便于开发测试人员基于测试数据的获取结果进行后续的数据分析。
本实施例提供了一种自动化获取测试数据的方法,通过自动化比对判定有效测试数据,提升了有效测试数据获取的效率。比对第一测试数据与预期的测试结果目的在于确保移动客户端在响应触发指令时没有出现错误,比对第一测试数据与第二测试数据目的在于确保移动客户端向数据仓库传输测试结果的过程中没有出现错误,只有移动端响应正确并且向数据仓库传输的过程也正确,第二测试数据才是有效测试数据。本实施例通过严格的比对机制确保有效测试数据是正确的,提升了测试数据获取的准确度。
实施例3:
本实施例提供了一种自动化获取测试数据的方法,所述方法应用于获取测试数据并将测试数据上报至数据仓库的相关场景。互联网应用在用户行为统计方面的需要以测试数据为依据,通常通过前端用户触发某些特定事件来产生上报数据,再将这些数据上报至后台特定的服务(数据仓库)进行存储,应用开发者基于所述数据仓库中的数据进行分析,因此数据上报的准确性是非常重要的。
现有技术中,对于这种场景下的自动化测试通常只能做到局部步骤自动化,即自动化触发前端进行数据上报;或者从服务器捞取已经上报的数据后进行对于特定数据的自动化分析并结合人工筛选得到有效测试数据。本实施例提供的测试数据获取方法可以用于实现全流程的自动化获取测试数据。
本实施例所述方法包括:
S301.向移动客户端发布触发指令,并接收所述移动客户端响应于所述触发指令后生成的第一测试数据。
所述移动客户端用于自动执行与所述触发指令对应的操作,将执行所述操作得到的测试结果上报至数据仓库,并根据所述测试结果生成第一测试数据。
具体地,所述移动客户端可以为一个或多个,也可以为基于安卓操作系统(Android)的手机终端和/或苹果操作系统的手机终端。
S302.获取与所述触发指令对应的预期的测试结果。
S303.获取第二测试数据,所述第二测试数据为存储于数据仓库的与所述触发指令对应的测试结果。
所述数据仓库用于接收并以数据表的形式存储所述移动客户端上报的测试结果,所述数据表包括移动客户端标识、所述测试结果的上报时间和所述测试结果。为区别于来自移动客户端的第一测试数据,从数据仓库获取的测试数据为第二测试数据。
S304.将所述第一测试数据、预期的测试结果以及所述第二测试数据进行比对。
若所述第一测试数据、预期的测试结果以及所述第二测试数据均表示相同的测试结果,则判定所述第二测试数据为有效测试数据;否则,判定所述第二测试数据为无效测试数据。
进一步地,若所述第一测试数据、预期的测试结果以及所述第二测试数据均表示相同的测试结果,则判定所述第一测试数据为有效测试数据;否则,判定所述第一测试数据为无效测试数据。
本实施例提供了自动化获取测试数据的方法,并详述了其应用场景和相关现有技术,本实施例中提供的方法能够兼容多个移动终端同时上报测试数据并且能够应用于各种操作系统的移动终端,因此能够广泛地应用于各种测试场景。进一步地,本实施例中还提供了包括对于第一测试数据判定方法的全路径测试数据判定方法,能够对于全路径数据进行自动判定。
实施例4:
一种获取测试数据的系统,如图6所示,所述系统包括:
触发指令发布模块401,用于向移动客户端发布触发指令。
第一测试数据接收模块402,用于接收所述移动客户端响应于所述触发指令后生成的第一测试数据。
所述移动客户端用于自动执行与所述触发指令对应的操作,将执行所述操作得到的测试结果上报至数据仓库,并根据所述测试结果生成第一测试数据。本实施例中所述数据仓库用于接收并以数据表的形式存储所述移动客户端上报的测试结果,所述数据表包括移动客户端标识、所述测试结果的上报时间和所述测试结果。
本实施例中触发指令发布模块401和第一测试数据接收模块402可以设置于桌面客户端,所述桌面客户端可以用于运行测试脚本,在执行所述测试脚本的测试用例过程中,向移动客户端发布触发指令。
预期的测试结果获取模块403,用于获取与所述触发指令对应的预期的测试结果。所述测试触发指令的预期的测试结果可以被记录于桌面客户端的测试脚本之中。
第二测试数据获取模块404,用于获取第二测试数据,所述第二测试数据为存储于数据仓库的与所述触发指令对应的测试结果。
比对模块405,用于将所述第一测试数据、预期的测试结果与所述第二测试数据进行比对。
判定模块406,用于根据比对模块的比对结果判断所述第二测试数据是否为有效测试数据。进一步地,本实施例中判定模块406还能够用于根据比对模块的比对结果判断所述第一测试数据是否为有效测试数据。
解析模块407,用于按照预设的规则对所述日志文件进行解析,根据所述解析的结果得到所述第一测试数据表示的测试结果。移动客户端可以以日志文件的形式记录测试结果并将日志文件传输至桌面客户端。
报表生成模块408,用于根据比对的结果生成报表。
预期的测试结果获取模块403、第二测试数据获取模块404、比对模块405、判定模块406、解析模块407和报表生成模块408可以均位于后台服务器,所述后台服务器从桌面客户端获取日志文件和预期的测试结果,并由日志文件解析出第一测试数据,在从数据仓库获取第二测试数据后,通过数据比对判定有效测试数据。在其它实施例中,可以不使用桌面客户端,即触发指令发布模块401和第一测试数据接收模块402也设置于后台服务器上。
本实施例中第一测试数据接收模块402将获取的以日志形式记录的第一测试数据传输至解析模块407,解析模块407解析出第一测试数据后将其传输至比对模块405,预期的测试结果获取模块403和第二测试数据获取模块404也将获取的数据传输至比对模块405,比对模块405将比对结果输出至判定模块406和报表生成模块408。
具体地,所述第二测试数据获取模块404如图7所示,包括:
上报时间得到单元4041,用于根据所述预期的测试结果得到测试结果的上报时间;
查询请求发起单元4042,用于根据所述测试结果的上报时间和移动客户端标识向所述数据仓库发起查询请求;
第二测试数据接收单元4043,用于接收所述数据仓库返回的第二测试数据,所述第二测试数据为所述数据表中记录的与所述测试结果的上报时间和移动客户端标识相对应的测试结果。
具体地,所述比对模块405如图8所示,包括:
事件标识比对单元4051,用于对所述第一测试数据中的事件标识、预期的测试结果中的事件标识以及所述第二测试数据中的事件标识进行比对;
事件的核心参数比对单元4052,用于对所述第一测试数据中的事件的核心参数、预期的测试结果中的事件的核心参数以及所述第二测试数据中的事件的核心参数进行比对;
上报时间比对单元4053,用于对所述第一测试数据中的触发指令执行结果、预期的测试结果中的触发指令执行结果以及所述第二测试数据中的触发指令执行结果进行比对。
本实施例基于同样地发明构思,提供了一种获取测试数据的系统,本实施例能够用于实现上述实施例中提供的获取测试数据的方法。
实施例5:
本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于保存上述实施例实现获取测试数据的方法所执行的程序代码。
可选地,在本实施例中,上述存储介质可以位于计算机网络的多个网络设备中的至少一个网络设备。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:
第一步,向移动客户端发布触发指令,并接收所述移动客户端响应于所述触发指令后生成的第一测试数据;所述移动客户端用于自动执行与所述触发指令对应的操作,将执行所述操作得到的测试结果上报至数据仓库,并根据所述测试结果生成第一测试数据;
第二步,获取与所述触发指令对应的预期的测试结果;
第三步,获取第二测试数据,所述第二测试数据为存储于数据仓库的与所述触发指令对应的测试结果;
第四步,将所述第一测试数据、预期的测试结果以及所述第二测试数据进行比对;
若所述第一测试数据、预期的测试结果以及所述第二测试数据均表示相同的测试结果,则判定所述第二测试数据为有效测试数据;否则,判定所述第二测试数据为无效测试数据。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:
所述第一测试数据为以日志文件形式记录的测试结果,在接收所述移动客户端响应于所述触发指令后生成的第一测试数据后,还包括:按照预设的规则对所述日志文件进行解析,得到所述第一测试数据。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:
所述数据仓库用于接收并以数据表的形式存储所述移动客户端上报的测试结果,所述数据表包括移动客户端标识、所述测试结果的上报时间和所述测试结果。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:
所述获取第二测试数据包括:
第一步,根据所述预期的测试结果得到所述测试结果的上报时间;
第二步,根据所述测试结果的上报时间和移动客户端标识向所述数据仓库发起查询请求;
第三步,接收所述数据仓库返回的第二测试数据,所述第二测试数据为所述数据表中记录的与所述测试结果的上报时间和所述移动客户端标识相对应的测试结果。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:
在将所述第一测试数据、预期的测试结果以及所述第二测试数据进行比对后,还包括:根据比对的结果生成报表。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:
所述移动客户端用于自动执行与所述触发指令对应的操作包括:
所述移动客户端用于根据所述触发指令定位与所述触发指令相关的控件,并通过向所述控件发布与触发指令对应的消息,使得所述移动客户端自动执行与触发指令对应的操作。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:
所述移动客户端用于自动执行与所述触发指令对应的操作包括:
所述移动客户端用于根据所述触发指令定位与所述触发指令相关的控件,并直接控制所述控件执行与所述触发指令对应的操作。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:
所述触发指令对应的操作包括单击、滑动和/或输入文本。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:
所述测试结果包括事件标识、事件的核心参数和触发指令执行结果;在所述事件中,向移动客户端发布触发指令。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:
所述将所述第一测试数据、预期的测试结果以及所述第二测试数据进行比对包括:
第一步,对所述第一测试数据中的事件标识、预期的测试结果中的事件标识以及所述第二测试数据中的事件标识进行比对;
第二步,若均相同,则对所述第一测试数据中的事件的核心参数、预期的测试结果中的事件的核心参数以及所述第二测试数据中的事件的核心参数进行比对;
第三步,若均相同,则对所述第一测试数据中的触发指令执行结果、预期的测试结果中的触发指令执行结果以及所述第二测试数据中的触发指令执行结果进行比对;
第四步,若均相同,则判定所述第二测试数据为有效测试数据。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
实施例6:
参见图9,图9是本发明实施例提供的一种服务器结构示意图。该服务器600可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(centralprocessing units,CPU)622(例如,一个或一个以上处理器)和存储器632,一个或一个以上存储应用程序642或数据644的存储介质630(例如一个或一个以上海量存储设备)。其中,存储器632和存储介质630可以是短暂存储或持久存储。存储在存储介质630的程序可以包括一个或一个以上模块(图示未示出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器622可以设置为与存储介质630通信,在服务器600上执行存储介质630中的一系列指令操作。服务器600还可以包括一个或一个以上电源626,一个或一个以上有线或无线网络接口650,一个或一个以上输入输出接口658,和/或,一个或一个以上操作系统641,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。上述实施例1-实施例3中所述的获取测试数据的方法可以基于该图9所示的服务器结构。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (20)
1.一种获取测试数据的方法,其特征在于,所述方法包括:
向移动客户端发布触发指令;并接收所述移动客户端响应于所述触发指令后生成的第一测试数据;所述移动客户端用于执行与所述触发指令对应的操作,将执行所述操作得到的测试结果上报至数据仓库,并根据所述测试结果生成第一测试数据;
获取与所述触发指令对应的预期的测试结果;
获取第二测试数据,所述第二测试数据为存储于数据仓库的与所述触发指令对应的测试结果;
将所述第一测试数据、预期的测试结果以及所述第二测试数据进行比对,以确保移动客户端在响应触发指令时没有出现错误和移动客户端向数据仓库传输测试结果的过程中没有出现错误;
若所述第一测试数据、预期的测试结果以及所述第二测试数据均表示相同的测试结果,则判定所述第二测试数据为有效测试数据;否则,判定所述第二测试数据为无效测试数据。
2.根据权利要求1所述的方法,其特征在于,所述第一测试数据为以日志文件形式记录的测试结果,在接收所述移动客户端响应于所述触发指令后生成的第一测试数据后,还包括:按照预设的规则对所述日志文件进行解析,得到所述第一测试数据。
3.根据权利要求1所述的方法,其特征在于,所述数据仓库用于接收并以数据表的形式存储所述移动客户端上报的测试结果,所述数据表包括移动客户端标识、所述测试结果的上报时间和所述测试结果。
4.根据权利要求3所述的方法,其特征在于,所述获取第二测试数据包括:
根据所述预期的测试结果得到所述测试结果的上报时间;
根据所述测试结果的上报时间和移动客户端标识向所述数据仓库发起查询请求;
接收所述数据仓库返回的第二测试数据,所述第二测试数据为所述数据表中记录的与所述测试结果的上报时间和所述移动客户端标识相对应的测试结果。
5.根据权利要求1所述的方法,其特征在于,在将所述第一测试数据、预期的测试结果以及所述第二测试数据进行比对后,还包括:
根据比对的结果生成报表。
6.根据权利要求1所述的方法,其特征在于,所述移动客户端用于自动执行与所述触发指令对应的操作包括:
所述移动客户端用于根据所述触发指令定位与所述触发指令相关的控件,并通过向所述控件发布与触发指令对应的消息,使得所述移动客户端自动执行与触发指令对应的操作。
7.根据权利要求1所述的方法,其特征在于,所述移动客户端用于自动执行与所述触发指令对应的操作包括:
所述移动客户端用于根据所述触发指令定位与所述触发指令相关的控件,并直接控制所述控件执行与所述触发指令对应的操作。
8.根据权利要求1所述的方法,其特征在于,所述触发指令对应的操作包括单击、滑动和/或输入文本。
9.根据权利要求1所述的方法,其特征在于,所述测试结果包括事件标识、事件的核心参数和触发指令执行结果;在所述事件中向移动客户端发布触发指令。
10.根据权利要求9所述的方法,其特征在于,所述将所述第一测试数据、预期的测试结果以及所述第二测试数据进行比对包括:对所述第一测试数据中的事件标识、预期的测试结果中的事件标识以及所述第二测试数据中的事件标识进行比对;
若均相同,则对所述第一测试数据中的事件的核心参数、预期的测试结果中的事件的核心参数以及所述第二测试数据中的事件的核心参数进行比对;
若均相同,则对所述第一测试数据中的触发指令执行结果、预期的测试结果中的触发指令执行结果以及所述第二测试数据中的触发指令执行结果进行比对;
若均相同,则判定所述第二测试数据为有效测试数据。
11.根据权利要求1所述的方法,其特征在于,还包括:将所述第一测试数据、预期的测试结果以及所述第二测试数据进行比对;
若所述第一测试数据、预期的测试结果以及所述第二测试数据均表示相同的测试结果,则判定所述第一测试数据为有效测试数据;否则,判定所述第一测试数据为无效测试数据。
12.一种获取测试数据的系统,其特征在于,所述系统包括:
触发指令发布模块,用于向移动客户端发布触发指令;
第一测试数据接收模块,用于接收所述移动客户端响应于所述触发指令后生成的第一测试数据;所述移动客户端用于执行与所述触发指令对应的操作,将执行所述操作得到的测试结果上报至数据仓库,并根据所述测试结果生成第一测试数据;
预期的测试结果获取模块,用于获取与所述触发指令对应的预期的测试结果;
第二测试数据获取模块,用于获取第二测试数据,所述第二测试数据为存储于数据仓库的与所述触发指令对应的测试结果;
比对模块,用于将所述第一测试数据、预期的测试结果与所述第二测试数据进行比对,以确保移动客户端在响应触发指令时没有出现错误和移动客户端向数据仓库传输测试结果的过程中没有出现错误;
判定模块,用于根据比对模块的比对结果判断所述第二测试数据是否为有效测试数据。
13.根据权利要求12所述的系统,其特征在于,第一测试数据接收模块接收以日志文件形式记录的第一测试数据,还包括:
解析模块,用于按照预设的规则对日志文件进行解析,根据所述解析的结果得到所述第一测试数据。
14.根据权利要求12所述的系统,其特征在于:所述数据仓库用于接收并以数据表的形式存储所述移动客户端上报的测试结果,所述数据表包括移动客户端标识、所述测试结果的上报时间和所述测试结果。
15.根据权利要求14所述的系统,其特征在于,所述第二测试数据获取模块包括:
上报时间得到单元,用于根据所述预期的测试结果得到测试结果的上报时间;
查询请求发起单元,用于根据所述测试结果的上报时间和移动客户端标识向所述数据仓库发起查询请求;
第二测试数据接收单元,用于接收所述数据仓库返回的第二测试数据,所述第二测试数据为所述数据表中记录的与所述测试结果的上报时间和移动客户端标识相对应的测试结果。
16.根据权利要求12所述的系统,其特征在于,还包括:
报表生成模块,用于根据比对的结果生成报表。
17.根据权利要求12所述的系统,其特征在于,所述比对模块包括:
事件标识比对单元,用于对所述第一测试数据中的事件标识、预期的测试结果中的事件标识以及所述第二测试数据中的事件标识进行比对;
事件的核心参数比对单元,用于对所述第一测试数据中的事件的核心参数、预期的测试结果中的事件的核心参数以及所述第二测试数据中的事件的核心参数进行比对;
上报时间比对单元,用于对所述第一测试数据中的触发指令执行结果、预期的测试结果中的触发指令执行结果以及所述第二测试数据中的触发指令执行结果进行比对。
18.根据权利要求12所述的系统,其特征在于,所述判定模块还包括,用于根据比对模块的比对结果判断所述第一测试数据是否为有效测试数据。
19.一种存储介质,其特征在于,所述存储介质中存储有至少一段程序代码,所述至少一段程序代码用于执行如权利要求1-11所述的获取测试数据的方法。
20.一种服务器,其特征在于,包括至少一个中央处理器和至少一个存储介质,中央处理器设置为与存储介质通信,在所述服务器上执行存储介质中的指令操作来实现如权利要求1-11所述的获取测试数据的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611044892.0A CN106713011B (zh) | 2016-11-22 | 2016-11-22 | 一种获取测试数据的方法与系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611044892.0A CN106713011B (zh) | 2016-11-22 | 2016-11-22 | 一种获取测试数据的方法与系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106713011A CN106713011A (zh) | 2017-05-24 |
CN106713011B true CN106713011B (zh) | 2020-04-28 |
Family
ID=58933840
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611044892.0A Active CN106713011B (zh) | 2016-11-22 | 2016-11-22 | 一种获取测试数据的方法与系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106713011B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107329894B (zh) * | 2017-06-21 | 2020-05-12 | 广州华多网络科技有限公司 | 应用程序系统测试方法、装置及电子设备 |
CN109298982A (zh) * | 2018-08-29 | 2019-02-01 | 广州虎牙信息科技有限公司 | Ios系统性能数据的采集方法及装置 |
CN111106975B (zh) * | 2018-10-26 | 2022-08-12 | 中移物联网有限公司 | 一种测试方法、设备及计算机可读存储介质 |
CN110471833A (zh) * | 2019-06-27 | 2019-11-19 | 网宿科技股份有限公司 | 一种测试数据的获取方法、电子设备及存储介质 |
CN112800009A (zh) * | 2021-01-28 | 2021-05-14 | 重庆富民银行股份有限公司 | 基于兼容配置的用于自动化测试数据的集中管理系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR930011497B1 (ko) * | 1991-02-18 | 1993-12-08 | 삼성전자 주식회사 | 반도체 검사결과 자동출력 시스템 |
CN101162426A (zh) * | 2007-11-15 | 2008-04-16 | 中兴通讯股份有限公司 | 基于数据驱动的测试用例设计测试方法及自动测试平台 |
CN103077110A (zh) * | 2011-10-25 | 2013-05-01 | 阿里巴巴集团控股有限公司 | 一种测试方法及装置 |
CN103678072A (zh) * | 2012-09-05 | 2014-03-26 | 百度在线网络技术(北京)有限公司 | 一种系统测试的方法和装置 |
CN105373469A (zh) * | 2014-08-25 | 2016-03-02 | 广东金赋信息科技有限公司 | 一种基于接口的软件自动化测试方法 |
-
2016
- 2016-11-22 CN CN201611044892.0A patent/CN106713011B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR930011497B1 (ko) * | 1991-02-18 | 1993-12-08 | 삼성전자 주식회사 | 반도체 검사결과 자동출력 시스템 |
CN101162426A (zh) * | 2007-11-15 | 2008-04-16 | 中兴通讯股份有限公司 | 基于数据驱动的测试用例设计测试方法及自动测试平台 |
CN103077110A (zh) * | 2011-10-25 | 2013-05-01 | 阿里巴巴集团控股有限公司 | 一种测试方法及装置 |
CN103678072A (zh) * | 2012-09-05 | 2014-03-26 | 百度在线网络技术(北京)有限公司 | 一种系统测试的方法和装置 |
CN105373469A (zh) * | 2014-08-25 | 2016-03-02 | 广东金赋信息科技有限公司 | 一种基于接口的软件自动化测试方法 |
Also Published As
Publication number | Publication date |
---|---|
CN106713011A (zh) | 2017-05-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106713011B (zh) | 一种获取测试数据的方法与系统 | |
CN111083225B (zh) | 在物联网平台中的数据处理方法、装置及物联网平台 | |
CN107341098B (zh) | 软件性能测试方法、平台、设备及存储介质 | |
US20190332513A1 (en) | Method and apparatus for dealing with abnormality of application program and storage medium | |
WO2017181591A1 (zh) | 测试方法及系统 | |
CN103729294B (zh) | 应用软件性能脚本测试方法与装置 | |
CN107957940B (zh) | 一种测试日志处理方法、系统及终端 | |
CN107656968B (zh) | 大批量业务数据导出方法及系统 | |
WO2018184361A1 (zh) | 应用程序测试方法、服务器、终端和存储介质 | |
CN109815119B (zh) | 一种app链接渠道的测试方法及装置 | |
CN110515854B (zh) | 应用程序异常的复现方法、装置和电子设备 | |
CN108111364B (zh) | 一种业务系统的测试方法及装置 | |
CN111831542B (zh) | Api应用调测方法及装置、存储介质 | |
CN107168844B (zh) | 一种性能监控的方法及装置 | |
CN111654495B (zh) | 用于确定流量产生来源的方法、装置、设备及存储介质 | |
CN106095660B (zh) | 应用的质量监控方法及装置 | |
CN111435326B (zh) | 一种分析崩溃日志的方法和装置 | |
CN110838929B (zh) | 系统错误排查方法和系统错误排查装置 | |
CN117499287A (zh) | Web测试方法、装置、存储介质及代理服务器 | |
CN114518984A (zh) | 一种埋点信息的上报方法、装置、存储介质及终端设备 | |
CN111857932A (zh) | 一种基于puppeteer用于运维审计系统的web代填方法 | |
WO2019193479A1 (en) | Cognitive robotic system for test data management activities and method employed thereof | |
CN112162954B (zh) | 用户操作日志生成、路径的定位方法、装置、设备及介质 | |
CN109726550A (zh) | 异常操作行为检测方法、装置及计算机可读存储介质 | |
CN111741046B (zh) | 数据上报方法、获取方法、装置、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |