一种数据测试方法及数据测试系统与流程

文档序号:14656754发布日期:2018-06-12 05:32阅读:266来源:国知局

本发明涉及计算机软件领域,尤其涉及一种数据测试方法及数据测试系统。



背景技术:

在全球领先的在线营销效果优化和用户行为分析系统中包括许多分析模块,其中Tracker模块负责收集用户行为数据,并以互联网服务信息(英文全称:Internet Information Service,英文简称:IIS)形式发送到数据服务器;数据处理(英文全称:Extract Transform Load,英文简称:ETL)模块负责对收集的数据进行处理,最终得到具有一定分析意义的结果数据,以供网站端进行查询。

现有技术中,对于多模块构成的用户行为分析系统的测试目前是通过基于各模块单独测试的测试方法进行测试。目前业界将Tracker模块和ETL模块分别进行单独测试。

在现有技术中,将Tracker模块和ETL模块分别进行单独测试,该独立测试方法无法验证两个模块的设计是否不一致性,以及无法验证两模块是否存在对测试数据类型的判断不一致如Tracker模块的整型数据被ETL模块作为浮点型数据进行处理而导致的结果数据不一致问题。



技术实现要素:

本发明实施例提供了一种数据测试方法及数据测试系统,用于验证测试系统中的测试模块的设计是否一致。

本发明实施例第一方面提供了一种数据测试方法,包括:

数据测试系统启动数据服务,该数据服务用于使该数据测试系统进入数据测试准备状态;

该数据测试系统获取用户行为数据,该用户行为数据与Tracker模块对应,该数据测试系统包括该Tracker模块;

该数据测试系统将该用户行为数据以IIS形式输入ETL模块,该ETL模块用于对该用户行为数据进行处理,该数据测试系统包括该ETL模块;

该数据测试系统通过该ETL模块输出目标数据。

从以上技术方案可以看出,本发明实施例具有以下优点:

本发明实施例中数据测试系统获取用户行为数据,所述用户行为数据与Tracker模块对应,所述数据测试系统包括所述Tracker模块;所述数据测试系统将所述用户行为数据以IIS形式输入ETL模块,所述ETL模块用于对所述用户行为数据进行处理,所述数据测试系统包括所述ETL模块;所述数据测试系统通过所述ETL模块输出目标数据。可以理解的是,该数据测试系统将Tracker模块对应的用户行为数据以IIS形式输入ETL模块得到目标数据,当该用户行为数据通过ETL模块进行数据处理后,若得到目标数据,则证明了该Tracker模块与该ETL模块的设计是一致的;若得不到该目标数据,则证明了该Tracker模块与该ETL模块的设计是不一致的;进一步来说,当两模块设计中,当两模块对该用户行为数据的数据类型判断一致时,该数据测试系统才能得到目标数据,否则该数据测试系统无法获得目标数据。因此该数据测试系统既能够验证两个模块的设计是否不一致性,也能验证两模块是否存在对测试数据类型的判断不一致而导致的结果数据不一致问题。

结合本发明实施例的第一方面,在本发明实施例的第一方面的第一种可能的实现方式中,Tracker模块包括JS Tracker模块。

该实现方式中,将Tracker模块细化为JS Tracker模块使得该Tracker模块变得更加明确和具体。

结合本发明实施例的第一方面的第一种可能的实现方式,在本发明实施例的第一方面的第二种可能的实现方式中,数据测试系统获取用户行为数据包括:

phantomJS脚本,该phantomJS脚本能对页面页面浏览和网页页面点击等用户行为操作进行模拟,数据测试系统通过执行phantomJS脚本产生用户行为数据。

该实现方式中,用户行为数据与phantomJS脚本相对应使得将该用户行为数据明确为用户点击或浏览网页过程中产生的用户数据。

结合本发明实施例的第一方面,在本发明实施例第一方面的第三种实现方式中,Tracker模块包括Android Tracker模块。

该实现方式中,将Tracker模块细化为Android Tracker模块使得该Tracker模块变得更加明确和具体。

结合本发明实施例的第一方面的第三种可能的实现方式,在本发明实施例的第一方面的第四种可能的实现方式中,数据测试系统获取用户行为数据包括:

数据测试系统接收数据发送接口发送的用户行为数据,Android Tracker模块包括该数据发送接口。

该实现方式中,数据测试系统通过接收Android Tracker模块发送的用户行为数据来获取该用户行为数据,使得该用户行为数据的来源更加明确化。

本发明实施例第二方面提供了一种数据测试系统,包括:

启动单元,用于启动数据服务,该数据服务用于使该数据测试系统进入数据测试准备状态;

获取单元,用于获取用户行为数据,该用户行为数据与Tracker模块对应,该数据测试系统包括该Tracker模块;

输入单元,用于将该用户行为数据以IIS形式输入ETL模块,该ETL模块用于对该用户行为数据进行处理,该数据测试系统包括该ETL模块;

输出单元,用于通过该ETL模块输出目标数据。

从以上技术方案可以看出,本发明实施例具有以下优点:

本发明实施例中,获取单元获取用户行为数据,所述用户行为数据与Tracker模块对应,所述数据测试系统包括所述Tracker模块;输入单元将所述用户行为数据以IIS形式输入ETL模块,所述ETL模块用于对所述用户行为数据进行处理,所述数据测试系统包括所述ETL模块;输出单元通过所述ETL模块输出目标数据。可以理解的是,该数据测试系统将Tracker模块对应的用户行为数据以IIS形式输入ETL模块得到目标数据,当该用户行为数据通过ETL模块进行数据处理后,若得到目标数据,则证明了该Tracker模块与该ETL模块的设计是一致的;若得不到该目标数据,则证明了该Tracker模块与该ETL模块的设计是不一致的;进一步来说,当两模块设计中,当两模块对该用户行为数据的数据类型判断一致时,该数据测试系统才能得到目标数据,否则该数据测试系统无法获得目标数据。因此该数据测试系统既能够验证两个模块的设计是否不一致性,也能验证两模块是否存在对测试数据类型的判断不一致而导致的结果数据不一致问题。

结合本发明实施例的第二方面,在本发明实施例的第二方面的第一种可能的实现方式中,Tracker模块包括JS Tracker模块。

该实现方式中,将Tracker模块细化为JS Tracker模块使得该Tracker模块变得更加明确和具体。

结合本发明实施例的第二方面的第一种可能的实现方式,在本发明实施例的第二方面的第二种可能的实现方式中,获取单元包括:

phantomJS脚本,该phantomJS脚本能对页面页面浏览和网页页面点击等用户行为操作进行模拟,数据测试系统通过执行phantomJS脚本产生用户行为数据。

该实现方式中,用户行为数据与phantomJS脚本相对应使得将该获取单元获取的用户行为数据明确为用户点击或浏览网页过程中产生的用户数据。

结合本发明实施例的第二方面,在本发明实施例第二方面的第三种实现方式中,Tracker模块包括Android Tracker模块。

该实现方式中,将Tracker模块细化为Android Tracker模块使得该Tracker模块变得更加明确和具体。

结合本发明实施例的第二方面的第三种可能的实现方式,在本发明实施例的第二方面的第四种可能的实现方式中,获取模块包括:

数据测试系统接收数据发送接口发送的用户行为数据,Android Tracker模块包括该数据发送接口。

该实现方式中,数据测试系统通过接收Android Tracker模块发送的用户行为数据来获取该用户行为数据,使得该用户行为数据的来源更加明确化。

从以上技术方案可以看出,本发明实施例具有以下优点:

本发明实施例中处理器获取用户行为数据,所述用户行为数据与Tracker模块对应,所述数据测试系统包括所述Tracker模块;处理器通过输入设备将所述用户行为数据以IIS形式输入ETL模块,所述ETL模块用于对所述用户行为数据进行处理,所述数据测试系统包括所述ETL模块;处理器通过输出设备所述ETL模块输出目标数据。可以理解的是,该数据测试系统将Tracker模块对应的用户行为数据以IIS形式输入ETL模块得到目标数据,当该用户行为数据通过ETL模块进行数据处理后,若得到目标数据,则证明了该Tracker模块与该ETL模块的设计是一致的;若得不到该目标数据,则证明了该Tracker模块与该ETL模块的设计是不一致的;进一步来说,当两模块设计中,当两模块对该用户行为数据的数据类型判断一致时,该数据测试系统才能得到目标数据,否则该数据测试系统无法获得目标数据。因此该数据测试系统既能够验证两个模块的设计是否不一致性,也能验证两模块是否存在对测试数据类型的判断不一致而导致的结果数据不一致问题。

附图说明

图1为本发明实施例中数据测试方法的一个实施例示意图;

图2为本发明实施例中数据测试方法的另一个实施例示意图;

图3为本发明实施例中数据测试方法的另一个实施例示意图;

图4为本发明实施例中数据测试系统的一个实施例示意图;

图5为本发明实施例中数据测试系统的另一个实施例示意图;

图6为本发明实施例中数据测试系统的另一个实施例示意图;

图7为本发明实施例中数据测试系统的另一个实施例示意图。

具体实施方式

本发明实施例提供了一种数据测试方法及数据测试系统,用于验证测试系统中的测试模块的设计是否一致。

本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

目前在全球领先的在线营销效果优化和用户行为分析系统中,为了保证系统的可靠性需要对上述系统的模块进行测试。当前行业中,比较普遍适用的方式是对上述系统中的模块进行逐一地测试来保证上述系统运行地可靠性,本发明实施例提供了一种新的上述系统的测试方法。

为了便于理解本发明实施例,下面将从Tracker模块和ETL模块串联测试方法来对本发明实施例进行说明。

请参阅图1对本发明实施例中数据测试方法进行详细说明,包括:

101、数据测试系统启动数据服务。

本实施例中,当数据测试系统开始测试数据前,该数据测试系统会先启动数据服务使得整个测试系统进入数据测试准备状态,该数据服务包括数据接收服务以及其他测试前所需准备的其他服务。

102、数据测试系统获取用户行为数据。

本实施例中,数据测试系统首先获取到需要进行测试的用户行为数据,该用户行为数据与用户行为操作对应,如用户浏览和用户点击等用户行为操作,该用户行为数据是与该数据测试系统中Tracker模块相对应;在不同应用环境下的该用户行为数据会有所不同获取方式也不相同,对此此处不做限定。

103、数据测试系统将用户行为数据以IIS形式输入ETL模块。

本实施例中,数据测试系统将获取到的用户行为数据以IIS日志的形式作为ETL模块的输入数据输入至该ETL模块中。

104、数据测试系统通过ETL模块输出目标数据。

本实施例中,当数据测试系统将用户行为数据以IIS形式输入ETL模块之后,该ETL模块对该用户行为数据进行抽取、转化和装载等数据分析处理,最终输出目标数据。

本实施例中,直接将与数据测试系统中Tracker模块相对应的用户行为数据作为ETL模块的输入数据,当该用户行为数据通过ETL模块进行数据处理后,若得到目标数据,则证明了该Tracker模块与该ETL模块的设计是一致的;若得不到该目标数据,则证明了该Tracker模块与该ETL模块的设计是不一致的;进一步来说,当两模块设计中,当两模块对该用户行为数据的数据类型判断一致时,该数据测试系统才能得到目标数据,否则该数据测试系统无法获得目标数据。因此该数据测试系统既能够验证两个模块的设计是否不一致性,也能验证两模块是否存在对测试数据类型的判断不一致而导致的结果数据不一致问题。

上面从Tracker模块和ETL模块串联测试方法来对本发明实施例进行了说明,下面将从不同数据采集环境对应的不同Tracker模块来对本发明实施例进行说明。

一、应用于网站环境下的JS Tracker模块

请参阅图2对本发明实施例中数据测试方法进行详细说明,包括:

201、数据测试系统启动数据服务。

本实施例中,在数据测试系统进入数据测试之前,该数据测试系统会先启动数据服务使得该数据测试系统进入数据测试准备状态,该数据测试系统会准备待测网站文件夹、数据接收服务和phantomJS脚本等。

202、数据测试系统通过执行phantomJS脚本产生用户行为数据。

本实施例中,数据测试系统调用phantomJS脚本对待测网站进行访问,生成对应的用户行为数据,当phantomJS脚本执行完成后,JS Tracker模块会对该用户行为数据进行收集得到IIS日志并将该IIS日志存储于特定的目录下。

203、数据测试系统将用户行为数据以IIS形式输入ETL模块。

204、数据测试系统通过ETL模块输出目标数据。

本实施例中,步骤203和步骤204分别与上述步骤103和步骤104类似,此处不再赘述。

本实施例中,直接将与数据测试系统中JS Tracker模块采集到的用户行为数据作为ETL模块的输入数据,当该用户行为数据通过ETL模块进行数据处理后,若得到目标数据,则证明了该JS Tracker模块与该ETL模块的设计是一致的;若得不到该目标数据,则证明了该JS Tracker模块与该ETL模块的设计是不一致的;进一步来说,当两模块设计中,当两模块对该用户行为数据的数据类型判断一致时,该数据测试系统才能得到目标数据,否则该数据测试系统无法获得目标数据。因此该数据测试系统既能够验证两个模块的设计是否不一致性,也能验证两模块是否存在对测试数据类型的判断不一致而导致的结果数据不一致问题。

二、应用于Android环境下的Android Tracker模块

请参阅图3对本发明实施例中数据测试方法进行详细说明,包括:

301、数据测试系统启动数据服务。

本实施例中,数据测试系统在测试之间需要进行相关的测试准备,如准备Java应用程序和数据接收服务等,上述准备工作准备完成后,该数据测试系统就进入了数据册数准备状态等待对待测试数据进行测试。

302、数据测试系统接收数据发送接口发送的用户行为数据。

本实施例中,数据测试系统调用Java应用程序发送用户行为数据至该数据测试系统,该Java应用程序中调用了Android Tracker模块的各个数据发送接口进行用户行为数据的发送,该Java应用程序中涉到Android环境的接口使用Mock方式进行替换。

303、数据测试系统将用户行为数据以IIS形式输入ETL模块。

304、数据测试系统通过ETL模块输出目标数据。

本实施例中,步骤303和步骤304分别与上述步骤103和步骤104类似,此处不再赘述。

本实施例中,数据测试系统直接将与该数据测试系统中Android Tracker模块发送的用户行为数据作为ETL模块的输入数据,当该用户行为数据通过ETL模块进行数据处理后,若得到目标数据,则证明了该Android Tracker模块与该ETL模块的设计是一致的;若得不到该目标数据,则证明了该Android Tracker模块与该ETL模块的设计是不一致的;进一步来说,当两模块设计中,当两模块对该用户行为数据的数据类型判断一致时,该数据测试系统才能得到目标数据,否则该数据测试系统无法获得目标数据。因此该数据测试系统既能够验证两个模块的设计是否不一致性,也能验证两模块是否存在对测试数据类型的判断不一致而导致的结果数据不一致问题。

上述实施例对本发明实施例中数据测试方法进行了详细说明,下面将对本发明实施例中的数据测试系统进行详细说明。

请参阅图4对本发明实施例中数据测试系统进行详细说明,包括:

启动单元401,用于启动数据服务,该数据服务用于使该数据测试系统进入数据测试准备状态;

获取单元402,用于获取用户行为数据,该用户行为数据与Tracker模块对应,该数据测试系统包括该Tracker模块;

输入单元403,用于将该用户行为数据以IIS形式输入ETL模块,该ETL模块用于对该用户行为数据进行处理,该数据测试系统包括该ETL模块;

输出单元404,用于通过该ETL模块输出目标数据。

本实施例中,获取单元402获取用户行为数据,该用户行为数据与Tracker模块对应,该数据测试系统包括该Tracker模块;输入单元403将该用户行为数据以IIS形式输入ETL模块,该ETL模块用于对该用户行为数据进行处理,该数据测试系统包括该ETL模块;输出单元404通过该ETL模块输出目标数据。可以理解的是,该数据测试系统将Tracker模块对应的用户行为数据以IIS形式输入ETL模块得到目标数据,当该用户行为数据通过ETL模块进行数据处理后,若得到目标数据,则证明了该Tracker模块与该ETL模块的设计是一致的;若得不到该目标数据,则证明了该Tracker模块与该ETL模块的设计是不一致的;进一步来说,当两模块设计中,当两模块对该用户行为数据的数据类型判断一致时,该数据测试系统才能得到目标数据,否则该数据测试系统无法获得目标数据。因此该数据测试系统既能够验证两个模块的设计是否不一致性,也能验证两模块是否存在对测试数据类型的判断不一致而导致的结果数据不一致问题。

如图5所示,获取单元502包括:

生成模块5021,用于通过执行phantomJS脚本产生该用户行为数据,该phantomJS脚本用于模拟页面浏览和页面点击等用户行为操作。

本实施例中,生成模块5021通过执行phantomJS脚本产生用户行为数据提供了一种具体的用户数据生成方法使得该用户行为数据的获取变得更加明确和具体。

如图6所示,获取单元602包括:

接收模块6021,用于接收数据发送接口发送的该用户行为数据,该Android Tracker模块包括该数据发送接口。

本实施例中,用户行为数据是Android Tracker模块的数据发送接口发送的实现了本发明实施例中在Android环境下的用户行为数据获取方式。

请参阅图7对本发明实施例中的终端进行描述,终端70包括:

输入设备710、输出设备720、处理器730、存储器740和总线750。

其中,存储器740可以包括只读存储器和随机存取存储器,并向处理器730提供指令和数据。存储器740的一部分还可以包括非易失性随机存取存储器(英文全称:Non-Volatile Random Access Memory,英文缩写:NVRAM)。

存储器740存储了如下的元素,可执行模块或者数据结构,或者它们的子集,或者它们的扩展集:

操作指令:包括各种操作指令,用于实现各种操作;

操作系统:包括各种系统程序,用于实现各种基础业务以及处理基于硬件的任务。

本发明实施例中处理器730用于:

启动数据服务,该数据服务用于使该数据测试系统进入数据测试准备状态;

获取用户行为数据,该用户行为数据与Tracker模块对应,该数据测试系统包括该Tracker模块;

将该用户行为数据以IIS形式输入ETL模块,该ETL模块用于对该用户行为数据进行处理,该数据测试系统包括该ETL模块;

通过该ETL模块输出目标数据。

处理器730控制第一终端70的操作,处理器730还可以称为中央处理单元(英文全称:Central Processing Unit,英文缩写:CPU)。存储器740可以包括只读存储器和随机存取存储器,并向处理器730提供指令和数据。存储器740的一部分还可以包括NVRAM。具体的应用中,第一终端70的各个组件通过总线系统750耦合在一起,其中总线系统750除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线系统750。

上述本发明实施例揭示的方法可以应用于处理器730中,或者由处理器730实现。处理器730可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器730中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器730可以是通用处理器、数字信号处理器(英文全称:Digital Signal Processing,英文缩写:DSP)、专用集成电路(英文全称:Application Specific Integrated Circuit,英文缩写:ASIC)、现成可编程门阵列(英文全称:Field-Programmable Gate Array,英文缩写:FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器740,处理器730读取存储器740中的信息,结合其硬件完成上述方法的步骤。

图7的相关描述可以参阅图1、图2和图3中方法部分的相关描述和效果进行理解,此处不做过多赘述。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

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