一种离线数据任务的验证方法及装置与流程

文档序号:11950023阅读:371来源:国知局
一种离线数据任务的验证方法及装置与流程

本发明涉及软件测试领域,尤其涉及一种离线数据任务的验证方法及装置。



背景技术:

随着互联网技术的发展,为了对用户的行为进行分析并满足用户不断增多的需求,对互联网数据进行分析是互联网公司必须进行的工作之一。目前互联网数据分析主要基于大数据平台,对于离线数据而言,大数据平台可以根据已经预置的规则输出离线数据供互联网公司使用,但是其提供的离线数据的维度可能无法满足互联网公司的需求,并且大数据平台输出的离线数据维度无法进行控制,使得目前大数据平台输出的离线数据维度覆盖度不高。目前,主要是通过手动对大数据平台提供的离线数据进行处理,以满足互联网公司的需求,由于互联网数据量及其增长速度,使得手动处理离线数据已经无法满足互联网业务发展的速度,从而有必要通过离线数据任务来完成离线数据的处理,但是在离线数据任务在正式上线之前,需要对其进行测试,以便确定其是否符合离线数据任务设计的需求。



技术实现要素:

有鉴于此,本发明提供一种离线数据处理的验证方法及装置,以对离线数据任务进行测试,使得离线数据任务能够符合设计的需要。

本发明提供了一种离线数据任务的验证方法,包括:

生成测试数据;

记录测试数据的预期结果集,所述预期结果集中的各个预期结果各自具有相应的维度;

离线数据任务处理所述测试数据,并输出测试结果集,所述测试结果集中的各个测试结果各自具有相应的维度;

将具有相同维度的所述预期结果集中的所述预期结果和所述测试结果集中的所述测试结果进行比对以验证所述离线处理任务。

优选地,该方法还包括:根据比对结果生成测试报告。

优选地,所述生成测试数据包括:根据待测试的数据记录的数据标准生成所述测试数据。

优选地,所述记录测试数据的预期结果包括:根据离线数据任务处理的逻辑方法以及离线数据任务的统计维度规则,记录预期结果集。

优选地,在记录测试数据的预期结果集步骤与离线数据任务处理所述测试数据步骤之间还包括将测试数据上传至大数据平台,其中所述离线处理任务在所述大数据平台上运行。

优选地,所述离线数据任务处理所述测试数据包括:

离线数据任务读取测试数据;

根据离线数据任务的逻辑方法以及离线数据任务的统计维度规则生成测试结果集。

本发明提供了一种离线数据任务的验证装置,包括:

测试数据生成模块,用于生成测试数据;

预期结果集记录模块,用于记录测试数据的预期结果集,所述预期结果集中的各个预期结果各自具有相应的维度;

离线数据任务模块,用于处理所述测试数据,并输出测试结果集,所述测试结果集中的各个测试结果各自具有相应的维度;

验证模块,用于将具有相同维度的所述预期结果集中的所述预期结果和所述测试结果集中的所述测试结果进行比对以验证所述离线处理任务。

优选地,该验证装置还包括测试报告生成模块,用于根据比对结果生成测试报告。

优选地,所述测试数据生成模块用于根据待测试的数据记录的数据标准生成所述测试数据。

优选地,所述预期结果集记录模块用于根据离线数据任务处理模块的逻辑方法以及离线数据任务模块的统计维度规则,记录预期结果集。

优选地,该验证装置还包括上传模块,用于将测试数据上传至大数据平台;其中所述离线处理任务模块在所述大数据平台上。

优选地,所述离线数据任务处理模块用于读取测试数据,并根据离线数据任务模块的逻辑方法以及离线数据任务模块的统计维度规则生成测试结果集。

本发明可以充分提高离线数据处理任务的测试覆盖率以及测试质量,同时提高结果数据的完整性与准确性,并能够生成测试报告以便离线数据处理任务的设计人员进行阅读,在必要的情况下,对离线数据处理任务进行改进,以提高离线数据任务的处理能力。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是本发明提供的离线数据任务的验证方法的流程图;

图2是本发明提供的离线数据任务的验证方法的详细流程图;

图3是本发明提供的离线数据任务的验证装置的示意图。

附图标记说明

305 测试数据生成模块 310 预期结果集记录模块

315 离线数据任务模块 320 验证装置

325 上传模块 330 测试报告生成模块

具体实施方式

如在说明书及权利要求当中使用了某些词汇来指称特定组件。本领域技术人员应可理解,硬件制造商可能会用不同名词来称呼同一个组件。本说明书及权利要求并不以名称的差异来作为区分组件的方式,而是以组件在功能上的差异来作为区分的准则。如在通篇说明书及权利要求当中所提及的“包含”为一开放式用语,故应解释成“包含但不限定于”。“大致”是指在可接收的误差范围内,本领域技术人员能够在一定误差范围内解决所述技术问题,基本达到所述技术效果。说明书后续描述为实施本发明的较佳实施方式,然所述描述乃以说明本发明的一般原则为目的,并非用以限定本发明的范围。本发明的保护范围当视所附权利要求所界定者为准。

为了在离线数据任务上线之前对其进行充分的测试,以确保其能够按照设计需求进行正常工作,本发明提供了一种离线数据任务的验证方法,如图1所示,具体包括:

步骤105,生成测试数据;测试数据可以为视频或页面广告的请求、曝光、点击、播放完成等等的日志记录,根据不同类型日志的格式与标准,生成的日志数据作为原始的测试数据;根据不同的广告投放形式所需记录信息的标准,模拟生成相关的测试数据;或者根据不同的产品业务系统(广告投放系统)所需记录信息的标准,模拟生成相关的测试数据。为了生成测试数据,需要预先知道在离线数据任务上线之后,被其处理的数据记录的数据标准。数据记录可以为系统产生的业务日志、数据;日志可以是用户在产品系统中的行为动作的记录、数据可以是用户在产品系统中的行为所产生的数值。生成测试数据时,本领域技术人员需要了解被入库数据(如:广告请求、播放等等日志)的规则,例如被入库数据的规则可以包括:一条记录需要哪些数据字段、每个数据字段需要记录哪些信息、以及记录信息的格式(如:数值、字符串等等)。日志(Log)是指系统所指定对象的某些操作和其操作结果按时间有序的集合。每个日志文件由日志记录组成,每条日志记录描述了一次单独的系统事件。通常情况下,系统日志是用户可以直接阅读的文本文件,其中包含了一个时间戳和一个信息或者子系统所特有的其他信息。日志文件为服务器、工作站、防火墙和应用软件等I T资源相关活动记录必要的、有价值的信息,这对系统监控、查询、报表和安全审计是十分重要的。日志文件中的记录可提供以下用途:监控系统资源;审计用户行为;对可疑行为进行告警;确定入侵行为的范围;为恢复系统提供帮助;生成调查报告;为打击计算机犯罪提供证据来源。例如可以通过计算机随机生成符合上述要求的测试数据,或者可以根据已经存储的实际的数据生成符合上述要求的测试数据。

步骤110,记录测试数据的预期结果集,所述预期结果集中的各个预期结果各自具有相应的维度。数据的统计逻辑方法以及统计维度规则是生成数据预期结果的基准。为了生成测试数据的预期结果集,还需要预先知道离线数据任务的逻辑方法,该逻辑方法可以帮助用户明白离线数据任务的处理流程,从而可以知道将测试数据输入离线数据任务之后,可以期望得到的测试结果,以便和离线数据任务实际的输出的测试结果进行比较,从而可以完成对离线数据任务的测试。本领域技术人员了解任务处理的逻辑方法,例如:针对日志数据格式校验(字段数、字段值记录的正确性、非法的数据校验过程、数据处理后的数据格式、存储位置等,是为更好的设计测试方法、测试用例。再者,还需要预先知道离线数据的统计维度规则,根据该统计维度规则,用户可以预先知道期望的数据维度,针对不同的数据可以具有不同的维度,而离线数据任务也按照相同的统计维度规则进行处理,从而可以将具有相同维度的预期结果和测试结果进行比对,从而可以对离线数据任务进行验证。维度统计规则致力于建立一个基于多方位统计(时间、地域、访问者)、全方位分析网站流量的统计标准,形成原始数据→数据视觉化→数据行为化→数据深入挖掘的数据分析模式。维度统计规则可以将数据分为三种类型:基础的统计数据、人口统计学数据和用户模型数据。如上所述,预期结果可以用来与离线数据任务输出的测试结果进行比对,从而完成对离线数据任务的验证。预期结果集可以根据离线数据任务的逻辑方法以及离线数据任务的统计维度规则预先确定。下面举例说明:例如预期结果集:日志类型A(日志规则为:字段数为n(2)个,字段名称B(int)、C(string)等等);处理日志A的逻辑方法为:判断日志长度是否为n,判断字段B数据类型是否为int等等;统计维度规则:如日志类型A,字段B作为维度,进行基础数据统计D(D的统计逻辑为行数求和),进行基础数据统计E(E的统计逻辑为系数乘积)等等。按照上述规则生成数据B-D-E的数据集合。

步骤115,离线数据任务处理所述测试数据,并输出测试结果集;离线数据任务可以在本地进行验证,也可以在大数据平台对离线数据任务进行验证。离线数据任务按照其逻辑流程以及统计维度规则对测试数据进行处理,并输出测试数据集,例如举例来说,如有测试数据集N,N包括不同的测试类型的测试日志数据(A、B),假设被测的离线数据任务逻辑方法为先处理A的数据,然后根据A的结果匹配处理B的数据;统计维度规则为以A类型数据中的字段C作为统计维度,计算B中的某个字段生成数据F等等。离线数据任务根据所述规则处理测试数据集N等到C-F的数据集合,为测试结果集。

步骤120,将具有相同维度的所述预期结果集中的所述预期结果和所述测试结果集中的所述测试结果进行比对以验证所述离线处理任务。预期结果集为根据统计规则自主生成的预判数据集合;实际测试结果集:为离线任务处理测试数据得到的实际结果。

如上所述,为了对离线数据任务进行验证,需要测试其针对不同的维度的数据的处理能力,从而形成全覆盖验证。

通过上述的流程,本发明可以实现对离线数据任务的全覆盖验证,并能够适应互联网的快速发展,为互联网公司提供具有竞争力的数据分析功能。

如上所述,本发明所提供的离线数据任务可以在本地验证,也可以在大数据平台验证。优选地,本发明在大数据平台对离线数据任务进行验证。为了在大数据平台对离线数据任务进行验证,需要在大数据平台运行离线数据任务。为了实现这一目的,可以在验证之前,预先在大数据平台上运行离线数据任务,可以通过本地计算机与大数据平台连接,在将测试数据(例如以测试数据文件的形式)上传到大数据平台后,就可以对离线数据任务进行测试。

在进行比对时,如果相同维度的预期结果与测试结果相同,则认为对于该维度的数据验证通过,否则验证失败。验证通过或验证失败可以作为验证结果记录在测试报告中,测试报告中还可以包括验证的数据维度、验证的数据项等等。

为了对本发明进行更详细的说明,本发明提供了优选的离线数据任务的验证流程,如图2所示。该方法包括:

步骤205,生成测试数据;同样地,为了生成测试数据,需要预先知道在离线数据任务上线之后,待处理的数据记录的数据标准。

步骤210,记录测试数据的预期结果集,所述预期结果集中的各个预期结果各自具有相应的维度。如上所述,预期结果集可以根据离线数据任务的逻辑方法以及离线数据任务的统计维度规则预先确定。

步骤215,将测试数据文件上传至大数据平台。例如,存储有测试数据文件的本地计算机可以通过连接到大数据平台,并进而将测试数据文件上传至大数据平台。离线数据任务可以预先在大数据平台上运行,在测试数据文件上传到大数据平台以后,离线数据任务可以读取测试数据文件并对其中的测试数据进行处理。

步骤220,离线数据任务处理所述测试数据,并输出测试结果集,所述测试结果集中的各个测试结果各自具有相应的维度。离线数据任务按照其逻辑流程以及统计维度规则对测试数据进行处理,并输出测试数据集。

步骤225,比较相同维度的预期结果集中的预期结果和测试数据集中的测试数据是否一致。举例来说,预期结果记录某维度的基础数据为100,结果数据的相同维度的基础数据为100,此数据表明结果一致;预期结果记录某维度的基础数据为100,结果数据的相同维度的基础数据为101,此数据表明结果不一致;

步骤230,如果相同维度的的预期结果集中的预期结果和测试数据集中的测试结果一致,则验证通过。

步骤235,如果相同维度的的预期结果集中的预期结果和测试数据集中的测试结果不一致,则验证失败。

步骤240,确定所有维度的预期结果和测试结果是否比对完成。

步骤245,如果所有维度的预期结果和测试结果比对未完成,则选择下一个维度的预期结果和测试结果进行比较,并继续步骤225。

步骤250,如果所有维度的预期结果和测试结果比对完成,则生成测试报告。测试报告中可以包括验证的数据维度、验证的数据项、针对每个维度的验证结果等等数据。

上述的流程可以实现对离线数据任务的全覆盖验证,能够提高测试的准确度,降低测试人员的工作量。

相应地,本发明提供了一种离线数据任务的验证装置,如图3所示,该验证装置包括:测试数据生成模块305、预期结果集记录模块310、离线数据任务模块315、以及验证装置320。优选地,还包括上传模块325以及测试报告生成模块330。

测试数据生成模块305,用于生成测试数据;例如根据待处理数据的数据标准来生成测试数据,可以随机地生成数据,也可以根据历史数据来生成测试数据。

预期结果集记录模块310,用于记录测试数据的预期结果集,所述预期结果集中的各个预期结果各自具有相应的维度;预期结果集可以根据离线数据任务的逻辑方法以及离线数据任务的统计维度规则预先确定。

离线数据任务模块315,用于处理所述测试数据,并输出测试结果集,所述测试结果集中的各个测试结果各自具有相应的维度;离线数据任务模块按照其逻辑流程以及统计维度规则对测试数据进行处理,并输出测试数据集。

验证模块320,用于将具有相同维度的所述预期结果集中的所述预期结果和所述测试结果集中的所述测试结果进行比对以验证所述离线处理任务。为了实现全覆盖验证,需要针对各个维度的预期结果和测试结果进行比对,从而覆盖所有的维度。

上传模块325,用于将测试数据上传至大数据平台;其中离线处理任务模块可以在所述大数据平台上。

测试报告生成模块330,用于根据比对结果生成测试报告;测试报告中可以包括验证的数据维度、验证的数据项、针对每个维度的验证结果等等数据。

本领域内的技术人员应明白,本发明的实施例可提供为方法、装置、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

上述说明示出并描述了本发明的若干具体实施例,但如前所述,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述发明构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。

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