一种测试方法和设备与流程

文档序号:11620482阅读:313来源:国知局
一种测试方法和设备与流程

本申请涉及计算机技术领域,尤其涉及一种测试方法和设备。



背景技术:

软件测试是软件生命周期的一个必要环节,其目的在于尽早发现软件设计中存在的错误,进而确保软件质量。测试用例是进行软件测试的基础,一个覆盖度高且精简的测试用例集能够降低软件测试成本并提高软件测试效率。

在实际应用中,一个系统的不同站点之间部署了站点测试环境隔离,和/或数据库隔离,再加上不同站点业务自身特性等一系列因素限制,针对该系统的不同站点需要分别部署测试用例集,而这些测试用例集中存在大量的重复的测试用例,使得整个系统需要维护的测试用例的数量比较庞大,进而导致系统测试效率降低。

例如:一个系统对应5个不同站点,假设每一个站点需要部署的测试用例集中包含700个测试用例,那么这个系统需要维护的测试用例的数量将达到3500个,如果该系统新增加n个站点,那么这个系统需要维护的测试用例的数量将达到(3500+700*n)个测试用例,影响整个系统的测试效率。



技术实现要素:

有鉴于此,本申请实施例提供了一种测试方法和设备,用于解决现有技术中测试用例数量庞大导致测试效率低的问题。

一种测试方法,包括:

接收第一待测试站点发送的测试请求,其中,所述测试请求中包含所述第一待测试站点的标识信息;

根据所述第一待测试站点的标识信息,分别确定测试所述第一待测试站点 所需要的第一配置文件和测试套件,其中,所述测试套件中包含用于支持多个测试站点的公用测试用例集和用于支持所述第一待测试站点的私有测试用例集;

加载所述第一配置文件,并基于所述公用测试用例集和所述私有测试用例集,启动对所述第一待测试站点的集成测试。

一种测试设备,包括:

接收单元,用于接收第一待测试站点发送的测试请求,其中,所述测试请求中包含所述第一待测试站点的标识信息;

确定单元,用于根据所述第一待测试站点的标识信息,分别确定测试所述第一待测试站点所需要的第一配置文件和测试套件,其中,所述测试套件中包含用于支持多个测试站点的公用测试用例集和用于支持所述第一待测试站点的私有测试用例集;

测试单元,用于加载所述第一配置文件,并基于所述公用测试用例集和所述私有测试用例集,启动对所述第一待测试站点的集成测试。

本申请有益效果如下:

本申请实施例接收第一待测试站点发送的测试请求,所述测试请求中包含所述第一待测试站点的标识信息;根据所述第一待测试站点的标识信息,分别确定测试所述第一待测试站点所需要的第一配置文件和测试套件,所述测试套件中包含用于支持多个测试站点的公用测试用例集和用于支持所述第一待测试站点的私有测试用例集;加载所述第一配置文件,并基于所述公用测试用例集和所述私有测试用例集,启动对所述第一待测试站点的集成测试。在本申请实施例中,将每一个站点所需要的测试套件分成公用测试用例集和私用测试用例集,公用测试用例集可以被多个不同站点所使用,也就是说,本申请实施例所提供的测试方式无需单一维护每一个站点所需要的测试套件,而是维护多个站点共同使用的公用测试用例集和每一个站点单独使用的私用测试用例集,进而有效避免系统中测试用例冗余的问题,同时有效提升站点的测试效率。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例提供的一种测试方法的流程示意图;

图2为本申请实施例提供的一种测试方法的流程示意图;

图3为本申请实施例提供的一种测试设备的结构示意图;

图4为本申请实施例提供的一种测试系统的结构示意图。

具体实施方式

为了实现本申请的目的,本申请实施例提供了一种测试方法和设备,接收第一待测试站点发送的测试请求,所述测试请求中包含所述第一待测试站点的标识信息;根据所述第一待测试站点的标识信息,分别确定测试所述第一待测试站点所需要的第一配置文件和测试套件,所述测试套件中包含用于支持多个测试站点的公用测试用例集和用于支持所述第一待测试站点的私有测试用例集;加载所述第一配置文件,并基于所述公用测试用例集和所述私有测试用例集,启动对所述第一待测试站点的集成测试。在本申请实施例中,将每一个站点所需要的测试套件分成公用测试用例集和私用测试用例集,公用测试用例集可以被多个不同站点所使用,也就是说,本申请实施例所提供的测试方式无需单一维护每一个站点所需要的测试套件,而是维护多个站点共同使用的公用测试用例集和每一个站点单独使用的私用测试用例集,进而有效避免系统中测试用例冗余的问题,同时有效提升站点的测试效率。

需要说明的是,本申请实施例中所记载的测试套件可以是指软件测试/互联网测试中若干个测试用例的集合。测试套件又可以被称之为testsuite,测试套件一般是可以被程式执行的。其中,每一个测试用例可用来测试一个或者多 个程式逻辑的正确性。测试套件一般整合自动化测试框架,不同测试框架的测试套件的形式可能不同。

本申请实施例中所记载的待测试站点可以是指一个软件的一个版本,那么该软件的不同版本被称之为不同待测试站点;也可以是指一个软件的一个版本的一个功能,那么该软件的一个版本的不同功能被称之为不同待测试站点,这里不做具体限定。

下面结合说明书附图对本申请各个实施例作进一步地详细描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。

图1为本申请实施例提供的一种测试方法的流程示意图。所述方法可以如下所示。

步骤101:接收第一待测试站点发送的测试请求。

其中,所述测试请求中包含所述第一待测试站点的标识信息。

在步骤101中,本申请实施例提供一个多站点测试平台,该多站点测试平台能够实现对多个站点的集成测试。

在进行软件测试之前,需要确定每一个站点所需要的私有测试用例集。

在软件测试启动时,多站点测试平台接收至少一个待测试站点发送的测试请求,每一个测试请求中包含一个待测试站点的标识信息。

这里接收到的测试请求包含第一待测试站点发送的测试请求。

步骤102:根据所述第一待测试站点的标识信息,分别确定测试所述第一待测试站点所需要的第一配置文件和测试套件。

其中,所述测试套件中包含用于支持多个测试站点的公用测试用例集和用于支持所述第一待测试站点的私有测试用例集。

在步骤102中,正如在步骤101中所记载的本申请实施例提供一个多站点测试平台(又可以称之为一个job),可以通过maven命令的动态参数机制部署 job。该job能够实现多个站点的集成测试回归。

该job在接收到多个待测试站点发送的测试请求时,可以利用不同待测试站点的标识信息对不同的待测试站点进行区分,并根据不同待测试站点的标识信息,确定测试每一个待测试站点所需要的配置文件。

这里的配置文件不仅仅包含在测试时所需要的内存数据,而且还可以包含测试所需要的当前环境渠道数据,甚至还可以包含其他数据,这里不做具体限定。

本申请实施例中的当前环境渠道数据可以利用testng注解参数@beforeclass获取,并在测试启动时,将获取到的当前环境渠道数据写入测试时所使用的上下文信息中。这样,在测试启动时,可以从上下文信息中获取当前测试环境渠道,感知当前测试回归环境。

在获取到不同待测试站点的当前环境渠道数据后,可以利用路由技术对各个当前环境渠道数据进行区分,这样能够有效解决不同待测试站点之间数据库环境隔离的问题。

在获取到测试所需要的配置文件时,还可以利用待测试站点的标识信息,确定测试每一个待测试站点的测试套件。

在本申请实施例中将每一个待测试站点的测试套件分为公用测试用例集和私有测试用例集,公用测试用例集可以称之为软件的核心应用场景测试用例集,公用测试用例集可以为多个待测试站点所公用,一般在测试系统中存储一份;私有测试用例集可以称之为待测试站点的私有逻辑测试用例集,也就是说,私有测试用例集属于一个待测试站点所使用的用例集。不同待测试站点的私有测试用例集不同。

具体地,在构建测试用例之前,通过-d参数动态修改每一个测试用例的属性:

dtest.suitexml.file=xxx-ci-private.xml:用于指定当前待测试站点进行测试回归的私有逻辑;

dsofatest.app_name=xxx:用于指定当前待测试站点的标识信息。在确定待测试站点的标识信息时,利用sofa框架以及zdal数据路由技术可以得到待测试站点的配置文件,解决各个站点数据库隔离的问题;

dcom.yyy.confreg.url=xxx:用于指定当前待测试站点系统服务启动时连接的配置中心,可以通过该参数解决多站点环境之间切换测试问题,实现一个job测试复用的目的。

具体地,根据所述第一待测试站点的标识信息,通过java-d参数提取测试所述第一待测试站点所需要的用于支持所述第二待测试站点的私有测试用例集。

例如:上述记载的在本申请实施例中将每一个待测试站点的测试套件分为公用测试用例(例如:xxx-ci-core.xml)和私有测试用例(例如:xxx-ci-private.xml),那么假设测试bundle的pom.xml文件,可以提取xxx-ci-private.xml为测试pom中的自定义属性用于随着站点环境变化的私有测试用例集。

步骤103:加载所述第一配置文件,并基于所述公用测试用例集和所述私有测试用例集,启动对所述第一待测试站点的集成测试。

在步骤103中,在启动软件测试时,加载测试所述第一待测试站点的所述第一配置文件,并基于所述公用测试用例集和所述私有测试用例集,启动对所述第一待测试站点的集成测试。

例如:利用java-d参数实现自定义系统变量(包含私有测试用例集)的传递,动态指定回归业务模块(包含公用测试用例集的业务回归模块和私有测试用例集的业务回归模块),进行动态指定业务模块回归逻辑,实现在多个测试站点的业务场景中执行单个测试站点的部署回归,打破不同测试站点之间的环境隔离,进而缩短测试站点的测试时间,有效实现全量站点回归测试,提升不同站点的测试效率。

此外,假设在接收第一待测试站点发送的测试请求时,接收到第二待测试 站点发送的测试请求。其中,所述测试请求中包含所述第二待测试站点的标识信息。

需要说明的是,第一待测试站点发送的测试请求和第二待测试站点发送的测试请求可以是同时发送的,也可以是不同时发送的,在本申请实施例中不做具体限定。

具体地,在接收到第二待测试站点发送的测试请求时,根据所述第二待测试站点的标识信息,分别确定测试所述第二待测试站点所需要的第二配置文件和用于支持所述第二待测试站点的私有测试用例集,并加载所述第二配置文件,并基于确定的用于支持所述第二待测试站点的私有测试用例集,在对所述第一待测试站点的集成测试的基础上,切换启动对所述第二待测试站点的集成测试。

在本申请实施例中,在实现对第二待测试站点进行测试时,可以基于确定的用于支持所述第二待测试站点的私有测试用例集,在对所述第一待测试站点的集成测试的基础上,根据所述第二待测试站点的标识信息和数据路由规则,路由用于测试所述第二待测试站点的数据库;根据所述用于测试所述第二待测试站点的数据库,切换启动对所述第二待测试站点的集成测试。

此外,切换启动对所述第二待测试站点的集成测试,包括:

复用测试所述第一待测试站点的所述公用测试用例集;

基于所述公用测试用例集和用于支持所述第二待测试站点的私有测试用例集,启动对所述第二待测试站点的集成测试。

此外,假设第一待测试站点与第二待测试站点同步发送测试请求时,确定用于测试第一待测试站点和测试第二待测试站点的公用测试用例集,并分别确定用于测试第一待测试站点的私有测试用例集和用于测试第二待测试站点的私有测试用例集。

启动测试,利用公用逻辑回归测试模块实现对公用测试用例集的测试,利用私有逻辑回归测试模块分别实现对第一待测试站点和第二待测试站点的私 有测试用例集的测试。

也就是说,本申请实施例提供的多站点测试平台既可以实现单个测试站点的集成测试,又可以实现两个测试站点之间切换测试,还可以实现多个测试站点的同步测试,这里不做具体描述。

通过本申请实施例提供的技术方案,接收第一待测试站点发送的测试请求,所述测试请求中包含所述第一待测试站点的标识信息;根据所述第一待测试站点的标识信息,分别确定测试所述第一待测试站点所需要的第一配置文件和测试套件,所述测试套件中包含用于支持多个测试站点的公用测试用例集和用于支持所述第一待测试站点的私有测试用例集;加载所述第一配置文件,并基于所述公用测试用例集和所述私有测试用例集,启动对所述第一待测试站点的集成测试。

在本申请实施例中,将每一个站点所需要的测试套件分成公用测试用例集和私用测试用例集,公用测试用例集可以被多个不同站点所使用,也就是说,本申请实施例所提供的测试方式无需单一维护每一个站点所需要的测试套件,而是维护多个站点共同使用的公用测试用例集和每一个站点单独使用的私用测试用例集,进而有效避免系统中测试用例冗余的问题,同时有效提升站点的测试效率。

图2为本申请实施例提供的一种测试方法的流程示意图。所述方法可以如下所示。在本申请实施例提供的测试方法中,执行主体可以为多站点测试设备。其中,在该多站点测试设备中新增加私有测试用例集渠道,即将一个待测试站点所需要的测试用例划分为公用测试用例和私有测试用例。

步骤201:多站点测试设备接收至少一个测试站点发送的测试请求。

其中,每一个测试请求中包含待测试站点的标识信息。

步骤202:多站点测试设备根据每一个测试请求中包含待测试站点的标识信息,分别确定用于测试每一个待测试站点的配置文件。

步骤203:多站点测试设备根据每一个测试请求中包含待测试站点的标识 信息,分别确定用于测试每一个待测试站点的私有测试用例集。

步骤204:多站点测试设备根据确定的配置文件和私有测试用例集,启动测试,对发送测试请求的测试站点进行回归测试。

在步骤204中,多站点测试设备启动公有逻辑回归模块调用公用测试用例集,以及启动私有逻辑回归模块调用每一个测试站点的私有测试用例集对每一个测试站点的私有逻辑进行测试。

图3为本申请实施例提供的一种测试设备的结构示意图。所述测试设备包括:接收单元31、确定单元32和测试单元33,其中:

接收单元31,用于接收第一待测试站点发送的测试请求,其中,所述测试请求中包含所述第一待测试站点的标识信息;

确定单元32,用于根据所述第一待测试站点的标识信息,分别确定测试所述第一待测试站点所需要的第一配置文件和测试套件,其中,所述测试套件中包含用于支持多个测试站点的公用测试用例集和用于支持所述第一待测试站点的私有测试用例集;

测试单元33,用于加载所述第一配置文件,并基于所述公用测试用例集和所述私有测试用例集,启动对所述第一待测试站点的集成测试。

可选地,所述接收单元31,还用于接收第二待测试站点发送的测试请求,其中,所述测试请求中包含所述第二待测试站点的标识信息;

所述确定单元32,还用于根据所述第二待测试站点的标识信息,分别确定测试所述第二待测试站点所需要的第二配置文件和用于支持所述第二待测试站点的私有测试用例集;

所述测试单元33,还用于加载所述第二配置文件,并基于确定的用于支持所述第二待测试站点的私有测试用例集,在对所述第一待测试站点的集成测试的基础上,切换启动对所述第二待测试站点的集成测试。

具体地,所述测试单元33基于确定的用于支持所述第二待测试站点的私有测试用例集,在对所述第一待测试站点的集成测试的基础上,切换启动对所 述第二待测试站点的集成测试,包括:

基于确定的用于支持所述第二待测试站点的私有测试用例集,在对所述第一待测试站点的集成测试的基础上,根据所述第二待测试站点的标识信息和数据路由规则,路由用于测试所述第二待测试站点的数据库;

根据所述用于测试所述第二待测试站点的数据库,切换启动对所述第二待测试站点的集成测试。

具体地,所述测试单元33切换启动对所述第二待测试站点的集成测试,包括:

复用测试所述第一待测试站点的所述公用测试用例集;

基于所述公用测试用例集和用于支持所述第二待测试站点的私有测试用例集,启动对所述第二待测试站点的集成测试。

具体地,所述确定单元32根据所述第一待测试站点的标识信息,确定测试所述第一待测试站点所需要的测试套件,包括:

根据所述第一待测试站点的标识信息,通过java-d参数提取测试所述第一待测试站点所需要的用于支持所述第二待测试站点的私有测试用例集。

需要说明的是,本申请实施例提供的测试设备可以通过软件方式实现,也可以通过硬件方式实现,这里不做限定。

本申请实施例所提供的测试设备可以将每一个站点所需要的测试套件分成公用测试用例集和私用测试用例集,公用测试用例集可以被多个不同站点所使用,也就是说,本申请实施例所提供的测试方式无需单一维护每一个站点所需要的测试套件,而是维护多个站点共同使用的公用测试用例集和每一个站点单独使用的私用测试用例集,进而有效避免系统中测试用例冗余的问题,同时有效提升站点的测试效率。

图4为本申请实施例提供的一种测试系统的结构示意图。所述测试系统包含输入单元41、多站点测试设备42和输出单元43,其中:

输入单元41,用于接收不同测试站点发送的测试请求。

多站点测试设备42,用于根据不同测试站点发送的测试请求中包含的待测试站点的标识信息,分别确定测试不同的测试站点所需要的配置文件和测试套件,所述测试套件中包含用于支持不同测试站点的公用测试用例集和分别用于测试每一个待测试站点的私有测试用例集,并加载配置文件,并基于所述公用测试用例集和所述私有测试用例集,启动对不同的待测试站点的集成测试。

需要说明的是,本申请实施例提供的多站点测试设备还可以包含公用逻辑回归模块421和私有逻辑回归模块422。

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

本申请是参照根据本申请实施例的方法、装置(设备)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个 流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。

显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

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