基于Hadoop的测试用例分布式测试方法及系统的制作方法

文档序号:9616144阅读:544来源:国知局
基于Hadoop的测试用例分布式测试方法及系统的制作方法
【技术领域】
[0001]本发明涉及一种测试方法及系统,特别是涉及一种基于Hadoop的测试用例分布式测试方法及系统。
【背景技术】
[0002]自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程。通常,在设计了测试用例并通过评审之后,由测试人员根据测试用例中描述的规程一步步执行测试,得到实际结果与期望结果的比较。
[0003]随着一个产品的自动化工作不断深入,自动化测试所采用的测试用例积累数量持续增长。绝大部分毫无依赖关系的测试用例由于串行运行,导致测试执行时间达到小时级另IJ,且不易于优化。另外,测试用例在运行时对机器资源的抢占互斥,导致运行机器的不稳定等问题也逐渐扩大。
[0004]现有技术中,绝大多数测试用例都是串行执行,效率低下;且当一个测试用例阻塞时,可能会影响后面的测试用例的执行。
[0005]Hadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序,充分利用集群的威力进行高速运算和存储。具体地,Hadoop 实现了一个分布式文件系统(Hadoop Distributed File System, HDFS)。HDFS有高容错性的特点,并且设计用来部署在低廉的硬件上;而且它提供高吞吐量来访问应用程序的数据,适合那些有着超大数据集的应用程序。HDFS放宽了 P0SIX的要求,可以以流的形式访问文件系统中的数据。Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,则MapReduce为海量的数据提供了计算。
[0006]因此,Hadoop具有以下优点:
[0007]1) Hadoop是一个开源项目,具有非常好的技术支持;
[0008]2) Hadoop具有成熟的分布式调度算法,可以很好的利用每台机器的CPU和内存资源,达到计算资源的最优分配;
[0009]3) Hadoop程序易于编写,便于维护。
[0010]因此,若能够利用Hadoop来实现测试用例的分布式测试,将能很好的解决现有测试用例使用过程中的瓶颈。

【发明内容】

[0011]鉴于以上所述现有技术的缺点,本发明的目的在于提供一种基于Hadoop的测试用例分布式测试方法及系统,能够基于Hadoop平台实现测试用例的并行分配和执行,从而并行地进行自动化测试,极大地提高了测试效率。
[0012]为实现上述目的及其他相关目的,本发明提供一种基于Hadoop的测试用例分布式测试方法,包括以下步骤:步骤S1、下载测试用例列表;步骤S2、利用Hadoop平台对每台节点机器的CPU和内存资源进行计算,将测试用例列表并行分配至多台节点机器上;步骤S3、多台节点机器并行执行其上的测试用例,并生成测试报告和日志。
[0013]于本发明的一实施例中,所述步骤S1中,通过SVN服务器从测试用例库中下载所需的测试用例列表。
[0014]于本发明的一实施例中,所述步骤S2包括以下步骤:
[0015]21)获取每台节点机器可用的任务跟踪器的槽位数;
[0016]22)生成每台节点机器上的测试用例列表。
[0017]于本发明的一实施例中,所述步骤22)中,每台节点机器上的测试用例列表中测试用例数量为测试用例的总数与任务跟踪器的槽位数的比值。
[0018]于本发明的一实施例中,所述步骤S3包括以下步骤:
[0019]31)准备测试用例列表;
[0020]32)根据测试用例列表下载测试用例;
[0021]33)安装 lib 库;
[0022]34)安装测试环境;
[0023]35)执行测试用例;
[0024]36)推送测试报告。
[0025]同时,本发明还提供一种基于Hadoop的测试用例分布式测试系统,包括下载模块、分配模块和执行模块;
[0026]所述下载模块用于下载测试用例列表;
[0027]所述分配模块用于利用Hadoop平台对每台节点机器的CPU和内存资源进行计算,将测试用例列表并行分配至多台节点机器上;
[0028]所述执行模块用于在多台节点机器并行执行测试用例,并生成测试报告和日志。
[0029]于本发明的一实施例中,所述下载模块通过SVN服务器从测试用例库中下载所需的测试用例列表。
[0030]于本发明的一实施例中,所述分配模块通过以下步骤分配测试用例列表:
[0031]21)获取每台节点机器可用的任务跟踪器的槽位数;
[0032]22)生成每台节点机器上的测试用例列表。
[0033]于本发明的一实施例中,所述步骤22)中,每台节点机器上的测试用例列表中测试用例数量为测试用例的总数与任务跟踪器的槽位数的比值。
[0034]于本发明的一实施例中,所述执行模块通过以下步骤执行测试用例:
[0035]31)准备测试用例列表;
[0036]32)根据测试用例列表下载测试用例;
[0037]33)安装 lib 库;
[0038]34)安装测试环境;
[0039]35)执行测试用例;
[0040]36)推送测试报告。
[0041]如上所述,本发明的基于Hadoop的测试用例分布式测试方法及系统,具有以下有益效果:
[0042](1)基于Hadoop平台实现测试用例的并行分配和执行;
[0043](2)能够并行地进行自动化测试,极大地提高了测试效率。
【附图说明】
[0044]图1显示为本发明的基于Hadoop的测试用例分布式测试方法的流程图;
[0045]图2显示为本发明的基于Hadoop的测试用例分布式测试方法的框架示意图;
[0046]图3显示为本发明的基于Hadoop的测试用例分布式测试系统的结构示意图。
[0047]元件标号说明
[0048]1下载模块
[0049]2分配模块
[0050]3执行模块
【具体实施方式】
[0051]以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的【具体实施方式】加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
[0052]需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
[0053]本发明的基于Hadoop的测试用例分布式测试方法及系统是在自动化测试系统的业务逻辑层引入了 Hadoop分布式处理平台,共包括两个部分,即本地部分和分布式节点机器部分。具体地,在测试前期通过SVN服务器下载测试用例列表,进行部署,然后调用Hadoop平台计算每台机器的CPU和内存资源,根据并行测试的需求进行资源的合理分配,最后执行并生成测试报告和日志。
[0054]参照图1和图2,本发明的基于Hadoop的测试用例分布式测试方法包括以下步骤:
[0055]步骤S1、下载测试用例(case)列表。
[0056]其中,通过SVN服务器从测试用例库中下载所需的测试用例列表。
[0057]步骤S2、利用Hadoop平台对每台节点机器的CPU和内存资源进行计算,将测试用例列表并行分配至多台节点机器上。
[0058]其中,该步骤对应的是本发明的基于Hadoop的测试用例分布式测试方法的本地部分。
[0059]具体地,步骤S2包括以下步骤:
[0060]21)获取每台节点机器可用的任务跟踪器(tasktracker)的槽位数。
[0061]其中,Tasktracker是Hadoop计算系统的子节点。槽位是tasktracker的最小计算分配单元,一个槽位可以对应一个map任务,一个机器启动一个tasktracker。通常,按照机器的CPU核数来分配槽位。一般来讲,tasktracker的槽位数等于CPU核数减去1。
[0062]22)生成每台节点机器上的测试用例列表。
[0063]其中,每台节点机器上的测试用例列表中测试用例数量为测试用例的总数与槽位数的比值。
[0064]具体地,在Hadoop平台上,通过Hadoop计算系统的总控模块Jobtracker在分布式执行
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1