测试方法及装置、测试用例生成方法及装置、测试系统与流程

文档序号:23395959发布日期:2020-12-22 14:04阅读:96来源:国知局
测试方法及装置、测试用例生成方法及装置、测试系统与流程

本说明书涉及计算机数据处理技术领域,特别地,涉及一种测试方法及装置、测试用例生成方法及装置、测试系统。



背景技术:

在系统正式对外发布之前,验证系统的处理能力是软件测试工作的重要部分,通常可以利用压力测试工具模拟实际业务数据并发,以进行系统性能测试。在系统性能测试中,通过使用大量的各种测试数据来尽可能模拟生产的真实情况。测试数据的生成以及使用是非常关键的环节。

测试人员通常需要了解测试背景、分析测试范围、明确测试脚本中需要参数化的字段,准备抽取测试数据的sql语句。而编写sql语句还通常需要熟悉了解所涉及的数据库表结构等。在以上工作准备就绪后,测试人员通过数据库客户端连接系统数据库,执行sql语句,并将执行结果手工导出数据文件。测试脚本开发时,将事先准备好的数据文件与脚本作关联,并设置参数的使用策略,从而完成测试数据生成以及使用的环节。

由此可见,目前在测试数据生成以及使用环节中,在每次准确测试数据时,需要测试人员花费大量的时间熟悉和了解需要执行的各环节以及各环节的配置信息类型、执行方式等,然后,再进行相关环节的信息配置以及关联,以用于测试,导致测试数据准备复杂繁琐、效率较低,进行导致整体测试效率较低。因此,目前亟需一种更加高效准确的测试方法。



技术实现要素:

本说明书实施例的目的在于提供一种测试方法及装置、测试用例生成方法及装置、测试系统,可以提高业务系统的测试效率。

本说明书提供一种测试方法及装置、测试用例生成方法及装置、测试系统是包括如下方式实现的:

一种测试方法,应用于测试系统的服务器,所述方法包括:接收目标业务系统的测试请求;获取所述测试请求所对应的测试数据配置用例;其中,所述测试数据配置用例包括多个数据配置子用例以及多个数据配置子用例的参数配置信息;所述数据配置子用例用于表征测试数据配置过程中的不同子环节;所述参数配置信息至少包括多个数据配置子用例之间的执行时序、各数据配置子用例的执行次数和/或执行时长;基于所述测试数据配置用例对所述目标业务系统的处理性能进行测试,得到所述目标业务系统的测试结果。

本说明书提供的所述方法的另一些实施例中,所述数据配置子用例至少包括数据准备子用例、数据清理子用例、数据重置子用例、数据生成子用例、数据使用子用例以及结果统计子用例中的一种。

本说明书提供的所述方法的另一些实施例中,所述测试生成子用例包括静态数据生成子用例以及动态数据生成子用例;其中,所述静态数据生成子用例包括重复使用的测试数据所对应的数据生成配置信息;所述动态数据生成子用例包括实时测试数据所对应的数据生成配置信息。

本说明书提供的所述方法的另一些实施例中,所述测试用例数据库中的测试数据配置用例采用下述方式生成:获取用例配置模板;所述用例配置模板包括子用例选择栏以及参数信息配置栏;所述子用例选择栏包括多个数据配置子用例;所述参数信息配置栏包括各数据配置子用例所对应的参数类型以及各参数的信息配置框;接收用户在所述用例配置模板中对数据配置子用例的选择操作以及在信息配置框内对相应选择操作所对应的数据配置子用例的参数配置信息;基于选择操作所对应的数据配置子用例以及相应选择操作所对应的数据配置子用例的参数配置信息生成测试数据配置用例。

本说明书提供的所述方法的另一些实施例中,所述获取所述测试请求所对应的测试数据配置用例,包括:从测试用例数据库中调取所述目标业务系统所对应的历史测试数据配置用例;根据调取的历史测试数据配置用例确定所述测试请求所对应的测试数据配置用例。

本说明书提供的所述方法的另一些实施例中,所述测试请求包括用例版本标识和/或系统版本标识;相应的,所述调取所述目标业务系统所对应的历史测试数据配置用例,包括:调取所述用例版本标识和/或系统版本标识所对应的历史测试数据配置用例。

本说明书提供的所述方法的另一些实施例中,所述测试数据配置用例采用下述方式生成:接收数据准备子用例中配置的数据库连接信息;接收数据生成子用例中配置的数据库操作信息,以及将数据库操作结果记录至数据文件中的操作结果记录脚本信息;接收数据使用子用例中配置的使用所述数据文件中的数据记录的使用策略脚本信息;基于所述数据库连接信息、数据库操作信息、操作结果记录脚本信息以及使用策略脚本信息生成静态数据所对应的测试数据配置用例。

本说明书提供的所述方法的另一些实施例中,所述数据库操作信息包括sql语句类型以及相应的sql语句。

本说明书提供的所述方法的另一些实施例中,所述测试数据配置用例采用下述方式生成:接收数据准备子用例中配置的基于http协议的设备连接信息;接收数据生成子用例中配置的动态数据生成以及记录的脚本信息;接收数据使用子用例中配置的动态数据记录的使用策略脚本信息;基于所述设备连接信息、动态数据生成以及记录的脚本信息以及使用策略脚本信息生成动态数据所对应的测试数据配置用例。

另一方面,本说明书实施例还提供一种测试装置,应用于测试系统的服务器,所述装置包括:测试请求接收模块,用于接收目标业务系统的测试请求;用例获取模块,用于获取所述测试请求所对应的测试数据配置用例;其中,所述测试数据配置用例包括多个数据配置子用例以及多个数据配置子用例的参数配置信息;所述数据配置子用例用于表征测试数据配置过程中的不同子环节;所述参数配置信息至少包括多个数据配置子用例之间的执行时序、各数据配置子用例的执行次数和/或执行时长;测试执行模块,用于基于所述测试数据配置用例对所述目标业务系统的处理性能进行测试,得到所述目标业务系统的测试结果。

另一方面,本说明书实施例还提供一种测试用例生成方法,应用于测试系统的服务器,所述方法包括:接收测试终端发送的测试用例生成请求;获取用例配置模板;所述用例配置模板包括子用例选择栏以及参数信息配置栏;所述子用例选择栏包括多个数据配置子用例;所述数据配置子用例用于表征测试数据配置过程中的不同子环节;所述参数信息配置栏包括各数据配置子用例所对应的参数类型以及各参数的信息配置框;所述参数类型至少包括数据配置子用例之间的执行时序、数据配置子用例的执行次数和/或执行时长;将用例配置模板发送至所述测试终端,以使测试终端进行展示;接收所述测试终端反馈的用户在所述用例配置模板中对数据配置子用例的选择操作以及相应选择操作所对应的数据配置子用例的参数配置信息;基于选择操作所对应的数据配置子用例以及相应选择操作所对应的数据配置子用例的参数配置信息生成测试数据配置用例。

另一方面,本说明书实施例还提供一种测试用例生成装置,应用于测试系统的服务器,所述装置包括:生成请求接收模块,用于接收测试终端发送的测试用例生成请求;模板获取模块,用于获取用例配置模板;所述用例配置模板包括子用例选择栏以及参数信息配置栏;所述子用例选择栏包括多个数据配置子用例;所述数据配置子用例用于表征测试数据配置过程中的不同子环节;所述参数信息配置栏包括各数据配置子用例所对应的参数类型以及各参数的信息配置框;所述参数类型至少包括数据配置子用例之间的执行时序、数据配置子用例的执行次数和/或执行时长;模板发送模块,用于将用例配置模板发送至所述测试终端;信息接收模块,用于接收所述测试终端反馈的用户在所述用例配置模板中对数据配置子用例的选择操作以及相应选择操作所对应的数据配置子用例的参数配置信息;用例生成模块,用于基于选择操作所对应的数据配置子用例以及相应选择操作所对应的数据配置子用例的参数配置信息生成测试数据配置用例。

另一方面,本说明书实施例还提供一种测试用例生成方法,应用于测试系统的测试终端,所述方法包括:向服务器发送测试用例生成请求;接收所述服务器发送的用例配置模板,并进行展示;所述用例配置模板包括子用例选择栏以及参数信息配置栏;接收用户在所述用例配置模板中对数据配置子用例的选择操作以及相应选择操作所对应的数据配置子用例的参数配置信息,并反馈给所述服务器,以使所述服务器基于选择操作所对应的数据配置子用例以及相应选择操作所对应的数据配置子用例的参数配置信息生成测试数据配置用例。

另一方面,本说明书实施例还提供一种测试用例生成装置,应用于测试系统的测试终端,所述装置包括:请求发送模块,用于向服务器发送测试用例生成请求;模板接收模块,用于接收所述服务器发送的用例配置模板;所述用例配置模板包括子用例选择栏以及参数信息配置栏;模板展示模块,用于展示所述用例配置模板;操作接收模块,用于接收用户在所述用例配置模板中对数据配置子用例的选择操作以及相应选择操作所对应的数据配置子用例的参数配置信息,并反馈给所述服务器,以使所述服务器基于选择操作所对应的数据配置子用例以及相应选择操作所对应的数据配置子用例的参数配置信息生成测试数据配置用例。

另一方面,本说明书实施例还提供一种测试系统,所述系统包括服务器以及测试终端;其中,所述服务器包括至少一个处理器及用于存储处理器可执行指令的存储器,所述指令被所述处理器执行时实现包括上述任意一个或者多个实施例所述方法的步骤;所述测试终端包括至少一个处理器及用于存储处理器可执行指令的存储器,所述指令被所述处理器执行时实现上述任意一个或者多个实施例所述方法的步骤。

本说明书一个或多个实施例提供的测试方法及装置、测试用例生成方法及装置、测试系统,可以预先将测试数据配置的各个子环节进行独立封装,分别作为不同的子用例,并配置各子用例的执行时序、执行次数和/或执行时长等参数。用户可以根据测试场景的需要选择相应的子用例以及配置各子用例的执行时序、执行次数和/或执行时长等参数信息,简单有效的配置子用例的执行参数信息以及执行顺序信息,得到用于测试数据生成以及使用的测试数据配置用例。在执行的过程中,可以基于预先配置好的测试数据配置用例,高效有序的完成测试数据的生成以及使用,提高测试的效率。同时,还可以将预先配置的测试数据配置用例或者执行测试时使用的测试数据配置用例存储至数据库中,形成测试数据资产,以便于后续测试时直接复用或者简单调整后投入使用,大幅降低测试数据配置的工作量,提高了测试的简便性以及测试的效率。

附图说明

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

图1为本说明书提供的一些实施例中测试数据配置用例的架构示意图;

图2为本说明书提供的一些实施例中的用例配置模板示意图;

图3为本说明书提供的一些实施例中的测试数据生成支持多协议额原理示意图;

图4为本说明书提供的一些实施例中的jdbc连接配置示意图;

图5为本说明书提供的一些实施例中的jdbc请求配置示意图;

图6为本说明书提供的一些实施例中的beanshell采样器示意图;

图7为本说明书提供的一些实施例中的实时动态数据生成脚本示意图;

图8为本说明书提供的一些实施例中的实时动态数据的使用脚本示意图;

图9为本说明书提供的一些实施例中的测试数据资产形成以及使用示意图;

图10为本说明书提供的一种测试方法实施例的流程示意图;

图11为本说明书提供的一种测试装置的模块结构示意图;

图12为本说明书提供的一种测试用例生成方法实施例的流程示意图;

图13为本说明书提供的一种测试用例生成方法实施例的流程示意图。

具体实施方式

为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书一个或多个实施例中的附图,对本说明书一个或多个实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是说明书一部分实施例,而不是全部的实施例。基于说明书一个或多个实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书实施例方案保护的范围。

本说明书的一个应用场景示例中,所述测试方法可以应用于测试系统。所述测试系统可以包括一个服务器或者多个服务器组成的服务器集群。所述测试系统可以对应有测试用例数据库。所述测试用例数据库可以用于存储已构建好的测试数据配置用例。所述测试数据配置用例可以是指对特定的目标业务系统进行测试时而构建的测试数据配置框架,以在执行测试时基于该测试数据配置框架实现测试数据的生成以及使用,完成测试。所述已构建好的测试数据配置用例可以是历史测试场景所构建的测试数据配置用例,也可以是相关业务人员基于当前测试场景专门配置的测试数据配置用例。一些实施例中,测试数据配置用例可以根据目标业务系统的系统标识进行存储。

所述测试数据配置用例可以包括多个数据配置子用例以及多个数据配置子用例的参数配置信息。所述数据配置子用例用于表征测试数据配置过程中的不同子环节。所述参数配置信息至少可以包括多个数据配置子用例之间的执行时序、各数据配置子用例的执行次数和/或执行时长等。所述执行时序可以是指表征数据配置子用例在测试执行过程中的执行先后顺序的信息。

一些实施方式中,可以通过对测试系统并发测试时所基于的测试工具的数据管理过程进行分析,将测试过程中的数据准备、数据清理、数据重置、数据生成、数据调取使用以及基于相应测试数据下的测试结果统计等分别作为单独的子环节进行封装,形成数据准备子用例、数据清理子用例、数据重置子用例、数据生成子用例、数据使用子用例以及结果统计子用例等。

相应的,测试人员可以基于需要选择数据配置子用例,并配置选择的各数据配置子用例之间的执行时序、各数据配置子用例的执行测试和/或执行时长等参数,以简单有效的将各数据配置子用例进行关联,保证各子环节的自动有效执行,形成最终的测试数据配置用例。在测试执行过程中,无需人工再对测试数据配置用例的执行环节进行梳理,保证测试执行过程中数据生成以及使用的准确性、简便性以及高效性。

如图1所示,数据准备、数据清理、数据重置、数据生成、数据使用、数据统计组织形成各自的测试数据配置用例,可以与需要使用测试数据的其他测试用例一同编排进测试场景,并制定每个测试数据配置用例的执行时序、执行次数或执行时长,对测试数据进行全生命周期的管理与维护。

数据准备子用例可以包括数据准备的业务逻辑以及测试数据生成的各类参数信息,如服务器信息、sql语句及http请求信息等数据库或者关联设备连接信息。

数据清理子用例,一般测试执行前批量执行一次,执行既往测试执行过程中生成的数据清理动作,为本次测试执行提前准备好一个干净的环境。

数据重置子用例,由于某些测试数据只能使用一次,再次重跑时需要重置这批数据的状态才可使用,一般也为每次测试执行前重置一次。

数据生成子用例,可以包括静态数据生成子用例以及动态数据生成子用例,以用于生成两类测试数据:测试静态数据、测试动态数据。其中,所述静态数据生成子用例包括重复使用的测试数据所对应的数据生成配置信息。所述动态数据生成子用例包括实时测试数据所对应的数据生成配置信息。静态数据在测试执行前已经明确,整个测试执行周期中,其内容是不变且可重复使用的,一般只生成一次。而动态数据则为在测试执行过程中不断产生的实时数据,其内容是动态变化的,需要反复多次生成,直至整个测试场景执行结束。静态数据的形态一般为文件,实时动态数据的形态一般为变量。

数据使用子用例,测试使用的具体数据一般为系统典型业务场景中的业务数据,可以配置数据参数化脚本,并在脚本中将生成的静态数据文件或者实时动态数据与使用测试数据的其他测试用例进行字段关联。测试执行时可直接按照事先设置好的数据参数化脚本读取数据值使用。

结果统计子用例,一般在场景执行结束后执行。特别是对一些异步执行的测试数据配置用例的测试结果统计。通常压力测试工具不能够显示直观的测试结果,可以通过对相应测试数据所对应的测试结果数据的进行统计分析,以验证测试结果的正确性、异步执行效率等。

另一些实施例中,所述测试用例数据库中的测试数据配置用例可以采用下述方式生成。测试系统的服务器在接收到测试终端发送的测试请求后,可以获取用例配置模板。其中,所述用例配置模板可以包括子用例选择栏以及参数信息配置栏。所述子用例选择栏可以包括多个数据配置子用例。所述参数信息配置栏可以包括各数据配置子用例所对应的参数类型以及各参数的信息配置框。

测试系统的服务器可以将用例配置模板发送至测试终端。测试终端可以向用户展示所述用例配置模板。用户可以对用例配置模板中的数据配置子用例以及各参数的信息配置框进行操作。所述操作如可以包括选择数据配置子用例、输入参数配置信息等。

测试系统可以接收测试终端反馈的用户在所述用例配置模板中对数据配置子用例的选择操作以及相应选择操作所对应的数据配置子用例的参数配置信息。然后,可以基于选择操作所对应的数据配置子用例以及相应选择操作所对应的数据配置子用例的参数配置信息生成测试数据配置用例。

一些实施方式中,可以预先对常见的测试数据生成以及使用过程进行梳理,提取出可分离的多个子环节,然后,分别封装形成数据配置子用例框架。然后,可以基于数据配置子用例框架之间有序执行所需要配置的参数、数据配置子用例实例化所需要配置的参数,构建用例配置模板。如图2所示,图2展示出一种用例配置模板示意图。参考图2所示,用例配置模板可以包括子用例选择栏以及参数信息配置栏。子用例选择栏中给出了多个数据配置子用例。参数信息配置栏给出了各数据配置子用例所对应的配置参数。测试人员可以根据需要配置数据配置子用例、数据配置子用例所对应的参数配置信息。

用例配置模板可以预先存储在测试用例数据库中。测试系统的服务器在接收到测试人员通过测试终端发送的测试数据配置用例生成需求后,可以从测试用例数据库中调取用例配置模板,并反馈给测试终端,以进行展示。测试人员可以对用例配置模板的子用例选择栏以及参数信息配置栏操作。例如,可以选择某数据配置子用例,相应的,参数信息配置栏可以对应展示该数据配置子用例所对应的待配置参数信息。待配置参数信息中可以包括该数据配置子用例的执行时序、执行次数、执行时长等参数。进一步,还可以根据数据配置子用例的不同,对应有其他参数信息。参考图2所示,图2中的参数信息配置栏展示出了数据统计子用例所对应的待配置参数信息。测试人员可以根据需要选择或者输入各配置参数所对应的配置信息,没有配置信息的参数项可以置为空。

一个场景示例中,参考图2所示,在测试场景中,测试数据文件路径、服务器地址和端口设置为可配置的方式,在首次使用某测试数据配置用例或者在更新测试环境后,测试人员按真实环境和需求设置当前测试需要的服务器地址和端口即可。执行测试时,数据准备_xx交易、数据清理_xx交易、数据重置_xx交易通常设置为setupthreadgroup,此种类型的测试数据配置用例只会在测试开始时执行,可设置只执行一次。而xx联机交易、yy异步交易等数据使用子用例在场景中均设置为普通的threadgroup,可各自设置并发用户和执行时长。统计结果_yy异步交易在测试中可设置为teardownthreadgroup,此种类型的测试数据配置用例只会在场景结束时执行,也可设置执行次数和时长。通过将各测试环节分别独立封装,然后,再通过参数配置信息将各环节联接起来,基于配置的信息自动灵活的执行测试,可以大幅提高测试的灵活性以及便捷性。

测试人员配置完成后,可以选择提交。测试系统的服务器可以接收测试终端反馈的数据配置子用例以及相应的参数配置信息,然后,可以基于数据配置子用例以及相应的参数配置信息生成测试数据配置用例。可以将生成的测试数据配置用例发送至测试用例数据库进行存储。

一些实施方式中,若测试数据配置用例为执行某测试任务所生成。则测试人员可以通过触发执行测试,测试系统的服务器可以基于测试数据配置用例调取具体的静态数据或者生成动态数据,向待测试目标业务系统发送测试数据,并收集测试结果,以完成对目标业务系统的测试。在执行测试任务中,测试人员可以根据测试的结果,动态调整各数据配置子用例的参数配置信息,以使得测试满足实际需要。在本次测试任务结束后,测试系统的服务器再将本次测试任务最终所使用的测试数据配置用例发送至测试用例数据库存储,以使得生成的测试数据配置用例更符合当前目标业务系统。

在执行下次测试任务时,测试系统的服务器在接收到测试需求时,可以从测试用例数据库中调取测试请求所对应的历史测试数据配置用例。然后,可以基于所述历史测试数据配置用例对所述目标业务系统的处理性能进行测试,得到所述目标业务系统的测试结果。从而在当前测试任务中,测试人员无需再对测试子环节以及测试子环节所对应的参数配置信息进行重新配置,可以直接复用预先配置的测试数据配置用例或者之前测试任务中所配置的测试数据配置用例,大幅提高测试的效率以及简便性,降低测试投入成本。当然,测试人员也可以根据测试结果,对测试子环节及测试子环节的参数配置信息进行适当的调整,使得测试更符合当下的测试需求。

上述实施例的方案,仅仅是将各测试环节进行独立封装,并未对测试执行方式进行改变,对现有的多数压力测试工具均可适用,仅需根据选择的压力测试工具的参数配置方式以及测试需要进行参数配置信息的配置即可。从而可以实现对多种测试请求协议的有效支持,如apachejmeter是apache组织开发的基于java的压力测试工具,可支持http协议、tcp协议、jdbc协议、java请求等,因此本说明书实施例提供的测试方式对数据生成的多协议扩展有着与生俱来的灵活性,如图3所示,可以适用于不同类型的系统测试数据准备。

基于上述实施例提供的方案,本说明书还提供一个场景示例,基于静态数据的测试数据配置用例配置方法。所述方法可以包括:接收数据准备子用例中配置的数据库连接信息。接收数据生成子用例中配置的数据库操作信息,以及将数据库操作结果记录至数据文件中的操作结果记录脚本信息。接收数据使用子用例中配置的使用所述数据文件中的数据记录的使用策略脚本信息。基于所述数据库连接信息、数据库操作信息、操作结果记录脚本信息以及使用策略脚本信息生成静态数据所对应的测试数据配置用例。以jdbc协议以及jmeter测试工具为例进行说明,如下。

第一步:在使用jmeterjdbc相关功能之前,先将数据库的jar包放至jmeter的安装目录下。需要依赖的jar包可以从数据库安装目录下找到,jar包放入至jmeter的安装目录\lib\ext下,准备工作完成后,重启jmeter。

第二步:在测试场景的setup线程组中添加jmeter配置元件/jdbc连接配置,如图4所示。并根据待测系统的测试环境配置好数据库连接信息,包括连接池参数、数据库连接串、数据驱动类、用户名、密码等。

第三步:在测试场景的setup线程组中添加jmeter采样器/jdbcrequest,如图5所示。填写第二步中设置的数据库连接池变量,选择sql语句的类型。sql语句支持新增、删除、修改、查询、存储过程等。然后,可以编写对应的sql语句。并设置保存sql语句返回结果的变量名、查询超时时间等配置信息。

第四步:在测试场景的setup线程组中添加jmeter采样器/beanshellsampler,如图6所示。也可以使用java请求采样器完成相同功能。然后,可以在脚本编写文本框内编写beanshell脚本。将jdbc请求的执行结果保存至指定数据文件中。执行结果变量名称需要与第二步中的设置保持一致。

第五步:在需要使用数据文件的普通线程组,添加jmeter配置元件/csvdatasetconfig,并关联上第四步中生成的数据文件,配置对数据文件使用的策略。

通过上述方式,完成基于静态数据的测试数据配置用例的构建。然后,可以运行测试数据配置用例,基于数据生成部分配置的sql语句从数据库中访问数据记录,并利用beanshell脚本将jdbc请求的执行结果保存至指定数据文件中,然后,基于数据文件使用的策略调取具体数据,执行待测系统的测试。

基于上述实施例提供的方案,本说明书还提供一个场景示例,基于动态数据的测试数据配置用例构建方法。所述方法可以包括:接收数据准备子用例中配置的基于http协议的设备连接信息。接收数据生成子用例中配置的动态数据生成以及记录的脚本信息。接收数据使用子用例中配置的动态数据记录的使用策略脚本信息。基于所述设备连接信息、动态数据生成以及记录的脚本信息以及使用策略脚本信息生成动态数据所对应的测试数据配置用例。以http协议以及loadrunner测试工具为例进行说明,关于数据准备、重置、统计等环节,可以根据测试工具的属性进行配置,这里不做赘述。对应数据生成以及数据使用部分,举例说明如下:

第一步:业务场景分析,假设需要测试的交易为协议支付签约,客户在办理该业务时需要输入系统发送的短信验证码,验证通过后方可签约成功。该短信验证码识别为测试实时数据。

第二步:编写发送短信验证码的测试交易协议支付签约触发短信,并将返回报文中的短信验证码保存在变量中,如图7所示。为了避免该测试实时数据生成的辅助交易影响压力测试工具对被测交易测试结果统计的影响,可以将其封装在单独的事务执行。

第三步:在协议支付签约交易的请求报文使用第二步中保存的短信验证码smskey,如图8所示。

通过上述方式,完成基于动态数据的测试数据配置用例的构建。然后,可以运行测试数据配置用例,在数据生成以及数据使用中,基于预先配置的动态生成方式动态生成数据,然后,基于配置的动态数据使用方式调取生成的动态数据,执行待测系统的测试。

上述测试数据配置用例构建方式,针对特定的测试场景,可以通过对各测试环节的执行时序、执行次数以及执行时长等进行配置,可以有效将各测试环节根据需要进行灵活配置,从而更加简单方便的构建测试数据配置用例。同时,针对特定的测试场景,还可以配置测试所对应的服务器、数据库等连接参数、静态数据调取语句、动态数据生成脚本、静态数据使用脚本、动态数据使用脚本等等,以及,还可以配置测试结果统计方式等,从而简单便捷的完成特定测试场景下的测试数据配置用例的构建。

同时,构建得到的测试数据配置用例除了包含测试环节的编排管理外,还包含了特征测试场景下的设备连接参数、数据生成以及使用脚本、结果统计方式等参数配置信息,且该参数配置信息可以由测试人员根据测试场景的需要进行灵活的调配,从而形成了可维护可复用的测试数据资产。相应的,可以将利用测试场景下构建的测试数据配置用例或者由专业测试人员根据经验专门设计的测试数据配置用例存储至数据库。由于企业的项目和产品众多,每一个系统又有很多次投产版本。日积月累,每一次性能测试任务形成的测试数据资产将会非常可观。测试资产的形成为各测试人员之间的测试成果分享发布提供了便利的条件,提高了测试任务数据准备工作的效率和质量。再测试时,测试人员调取其需要的测试数据配置用例后,仅需要进行简单的调整即可投入使用,大幅提高了测试的效率,降低了测试投入成本。

一些实施例中,可以根据待测试的目标业务系统的不同,将各待测试的目标业务系统对应的测试数据配置用例进行存储,可以存储各待测试的目标业务系统所对应的数据库中,以可以统一存储至一个数据库中,并利用系统标识进行各系统所对应的测试数据配置用例进行标识。另一些实施例中,还可以对任一待测试的目标业务系统所对应的测试数据配置用例进行版本标识,以对测试数据配置用例的版本进行标识。所述版本标识可以为测试数据配置用例的用例版本号,也可以为测试数据配置用例所对应的待测试的目标业务系统的系统版本号。通过利用待测试的目标业务系统的版本号对测试数据配置用例进行标识,可以便于测试人员分析相应版本的系统所对应的测试数据配置用例,以更加便于测试数据配置用例的选择以及维护。

如图9所示,一个场景示例中,假设某企业有a系统、b系统、c系统以及xx系统…。a系统1月和12月有投产版本,且均需要进行性能测试。a系统1月版本的测试任务由测试人员a负责,a系统12月版本的测试任务由测试人员b负责。测试人员a在进行a系统1月版本的测试任务中,基于测试场景需要,花费了大量时间和精力积累配置了的测试数据配置用例。测试人员b在进行a系统12月版本的测试任务时,由于两次测试任务间隔时间较长,1月版本的测试任务所分配的测试环境早已回收,12月测试任务需要重新构建测试环境,又需要测试人员b花费大量时间和精力积累来配置的测试数据配置用例。利用上述实施例提供的方案,测试人员b可以复用测试用例数据库中a系统的测试数据配置用例,然后,根据需要做适当的调整即可,提高了测试的效率以及便捷性。同样的,测试人员c可以提交c系统3月版本的测试数据资产……,如此实现各待测系统的测试数据配置用例的维护以及复用。

上述实施例提供的方案,可以将测试数据的全生命周期管理与测试中的其他测试用例一起编排进测试场景,实现数据清理、重置、生成、使用、统计的一体化、自动化的全流程管理,对静态数据和动态数据可以实现很好的支持。同时,测试数据配置用例的构建过程中形成了大量的测试数据生成以及使用的脚本文件,可以作为测试数据配置用例的参数配置信息一起封装,有利于形成可维护可复用的测试资产,为各测试人员之间的分享发布提供了便利的条件,避免了每次测试执行时测试数据的繁琐准确工作,提高了测试数据准备工作效率和质量,进而提高了测试的效率以及准确性。

基于上述实施例提供的方案,本说明书实施例还提供一种业务系统的测试方法。具体的一个实施例如图10所示,所述方法可以应用于所述测试系统的服务器,所述方法可以包括如下步骤:

s102:接收目标业务系统的测试请求。

测试系统的服务器可以接收测试人员通过测试终端发送的对某目标业务系统的测试请求。目标业务系统可以为任意待测业务系统,可以为分布式业务系统,也可以独立的业务系统。所述测试请求如可以包括目标业务系统的系统标识,以使得测试系统调用所述系统标识所对应的测试数据配置用例。

或者,所述测试请求可以包括用例标识,以使得测试系统调用所述用例标识所对应的测试数据配置用例。所述用例标识可以用于对测试数据配置用例进行标识的信息。所述用例标识也可以采用系统标识,或者,也可以采用序列编号等。一些实施例中,所述用例标识还可以包括用例版本标识和/或系统版本标识等。通过进一步采用用例版本标识和/或系统版本标识对测试数据配置用例进行标识,可以更加方便对历史测试数据配置用例进行管理,以及在存在多个历史测试数据配置用例时,便于调取最新版本的测试数据配置用例,或者,与当前测试场景更匹配的历史测试数据配置用例。

当然,所述测试请求还可以包括测试场景中所需要配置的参数信息,可以根据需要自行设置,这里不做限定。

s104:获取所述测试请求所对应的测试数据配置用例;其中,所述测试数据配置用例包括多个数据配置子用例以及多个数据配置子用例的参数配置信息;所述数据配置子用例用于表征测试数据配置过程中的不同子环节;所述参数配置信息至少包括多个数据配置子用例之间的执行时序、各数据配置子用例的执行次数和/或执行时长。

测试系统的服务器可以获取所述测试请求所对应的测试数据配置用例。所述测试数据配置用例可以包括多个数据配置子用例以及多个数据配置子用例的参数配置信息。所述参数配置信息如至少可以包括多个数据配置子用例之间的执行时序、各数据配置子用例的执行次数和/或执行时长等。所述参数配置信息根据静态测试数据以及动态测试数据的不同,还可以包括数据库连接信息、动态数据生成所涉及的关联设备连接信息、数据生成以及使用所对应的sql语句、脚本、数据文件等信息。

测试数据配置用例可以为测试人员基于当前的测试场景,利用用例配置模板进行配置的;或者,也可以是从测试系统所对应的测试用例数据库中直接调取的历史用例;或者,也可以是测试人员基于当前的测试场景,基于从测试系统所对应的测试用例数据库中直接调取的历史用例重新调整后得到的。测试数据配置用例的配置方式可以参考上述实施例的方案实施,这里不做赘述。

例如,如果目标业务系统为新上线的系统或者发生较大的更新后又重新上线的系统,则其所对应的测试场景可能需要重新配置,相应的测试数据的生成以及使用方式也需要重新配置,此时,可以由测试人员利用用例配置模板配置当前测试场景所需要的测试数据配置用例。当然,也可以由测试人员在历史测试数据配置用例的基础上,对各子用例以及子用例的参数配置信息进行大幅调整后,得到当前测试场景所需要的测试数据配置用例。

如果目标业务系统未发生较大的更新,则测试系统的服务器可以直接调用目标业务系统所对应的最新版本的历史测试数据配置用例,作为当前测试场景所需要的测试数据配置用例,即直接复用最新版本的历史测试数据配置用例既可。当然,也可以在调用目标业务系统所对应的历史测试数据配置用例后,由测试人员根据当前测试场景,对各子用例以及子用例的参数配置信息进行适当的调整,得到当前测试场景所需要的测试数据配置用例。

相应的,一些实施例中,所述服务器可以从测试用例数据库中调取所述目标业务系统所对应的历史测试数据配置用例;根据调取的历史测试数据配置用例确定所述测试请求所对应的测试数据配置用例。确定方式如可以为直接复用或者调整后再复用等。从而大幅降低了测试数据配置的工作量,提高了测试的简便性以及测试的效率。

s106:基于所述测试数据配置用例对所述目标业务系统的处理性能进行测试,得到所述目标业务系统的测试结果。

测试系统的服务器可以将所述测试数据配置用例,结合至当前测试场景所配置的其他测试用例中,以在测试过程中实现测试数据的生成以及使用,实现对所述目标业务系统的处理性能进行测试,得到所述目标业务系统的测试结果。具体的结合方式可以参考相应测试场景所使用的测试工具等确定,这里不做赘述。

说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。具体的可以参照前述相关处理相关实施例的描述,在此不做一一赘述。

上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

基于上述实施例提供的测试方法,可以使得测试数据配置用例的构建更加简单方便,同时还可以有效积累大量的用例资产,便于后续测试复用或者简单调整后投入使用,大幅降低了测试数据配置的工作量,提高了测试的简便性以及测试的效率。

基于上述实施例提供的方法,本说明书实施例还提供一种业务系统的测试装置。具体的一个实施例如图11所示,所述装置可以应用于所述测试系统的服务器,所述装置可以包括:

测试请求接收模块110,可以用于接收目标业务系统的测试请求。

用例获取模块112,可以用于获取所述测试请求所对应的测试数据配置用例;其中,所述测试数据配置用例包括多个数据配置子用例以及多个数据配置子用例的参数配置信息;所述数据配置子用例用于表征测试数据配置过程中的不同子环节;所述参数配置信息至少包括多个数据配置子用例之间的执行时序、各数据配置子用例的执行次数和/或执行时长。

测试执行模块114,可以用于基于所述测试数据配置用例对所述目标业务系统的处理性能进行测试,得到所述目标业务系统的测试结果。

需要说明的,上述所述的装置根据方法实施例的描述还可以包括其他的实施方式。具体的实现方式可以参照相关方法实施例的描述,在此不作一一赘述。

基于上述实施例提供的方案,本说明书实施例还提供一种测试用例生成方法。具体的一个实施例如图12所示,所述方法可以应用于所述测试系统的测试终端,所述方法可以包括如下步骤:

s120:接收测试终端发送的测试用例生成请求。

s122:获取用例配置模板;所述用例配置模板包括子用例选择栏以及参数信息配置栏;所述子用例选择栏包括多个数据配置子用例;所述数据配置子用例用于表征测试数据配置过程中的不同子环节;所述参数信息配置栏包括各数据配置子用例所对应的参数类型以及各参数的信息配置框;所述参数类型至少包括数据配置子用例之间的执行时序、数据配置子用例的执行次数和/或执行时长。

s124:将用例配置模板发送至所述测试终端,以使测试终端进行展示。

s126:接收所述测试终端反馈的用户在所述用例配置模板中对数据配置子用例的选择操作以及相应选择操作所对应的数据配置子用例的参数配置信息。

s128:基于选择操作所对应的数据配置子用例以及相应选择操作所对应的数据配置子用例的参数配置信息生成测试数据配置用例。

基于上述实施例提供的方法,本说明书实施例还提供一种测试用例生成装置。所述装置可以应用于所述测试系统的服务器,所述装置可以包括:

生成请求接收模块,可以用于接收测试终端发送的测试用例生成请求。

模板获取模块,可以用于获取用例配置模板;所述用例配置模板包括子用例选择栏以及参数信息配置栏;所述子用例选择栏包括多个数据配置子用例;所述数据配置子用例用于表征测试数据配置过程中的不同子环节;所述参数信息配置栏包括各数据配置子用例所对应的参数类型以及各参数的信息配置框;所述参数类型至少包括数据配置子用例之间的执行时序、数据配置子用例的执行次数和/或执行时长。

模板发送模块,可以用于将用例配置模板发送至所述测试终端。

信息接收模块,可以用于接收所述测试终端反馈的用户在所述用例配置模板中对数据配置子用例的选择操作以及相应选择操作所对应的数据配置子用例的参数配置信息。

用例生成模块,可以用于基于选择操作所对应的数据配置子用例以及相应选择操作所对应的数据配置子用例的参数配置信息生成测试数据配置用例。

需要说明的,上述所述的测试用例生成方法及装置根据前述实施例的描述还可以包括其他的实施方式。具体的实现方式可以参照相关前述实施例的描述,在此不作一一赘述。

基于上述实施例提供的方案,本说明书实施例还提供一种测试用例生成方法。具体的一个实施例如图13所示,所述方法可以应用于所述测试系统的服务器,所述方法可以包括如下步骤:

s130:向服务器发送测试用例生成请求。

s132:接收所述服务器发送的用例配置模板,并进行展示;所述用例配置模板包括子用例选择栏以及参数信息配置栏。

s134:接收用户在所述用例配置模板中对数据配置子用例的选择操作以及相应选择操作所对应的数据配置子用例的参数配置信息,并反馈给所述服务器,以使所述服务器基于选择操作所对应的数据配置子用例以及相应选择操作所对应的数据配置子用例的参数配置信息生成测试数据配置用例。

基于上述实施例提供的方法,本说明书实施例还提供一种测试用例生成装置。所述装置可以应用于所述测试系统的测试终端,所述装置可以包括如下步骤:

请求发送模块,可以用于向服务器发送测试用例生成请求。

模板接收模块,可以用于接收所述服务器发送的用例配置模板;所述用例配置模板包括子用例选择栏以及参数信息配置栏。

模板展示模块,可以用于展示所述用例配置模板。

操作接收模块,可以用于接收用户在所述用例配置模板中对数据配置子用例的选择操作以及相应选择操作所对应的数据配置子用例的参数配置信息,并反馈给所述服务器,以使所述服务器基于选择操作所对应的数据配置子用例以及相应选择操作所对应的数据配置子用例的参数配置信息生成测试数据配置用例。

需要说明的,上述所述的测试用例生成方法及装置根据前述实施例的描述还可以包括其他的实施方式。具体的实现方式可以参照相关前述实施例的描述,在此不作一一赘述。

基于上述实施例提供的方案,本说明书还提供一种测试系统,所述系统可以应用于单独的业务系统的测试系统中,也可以应用在多种计算机数据处理系统中。所述的系统可以为单独的服务器,也可以包括使用了本说明书的一个或多个所述方法或一个或多个实施例装置的服务器集群、系统(包括分布式系统)、软件(应用)、实际操作装置、逻辑门电路装置、量子计算机等并结合必要的实施硬件的终端装置。

一些实施例中,所述系统可以包括服务器以及测试终端。其中,所述服务器可以包括至少一个处理器及用于存储处理器可执行指令的存储器,所述指令被所述处理器执行时实现上述任意一个或者多个实施例所述方法的步骤。所述测试终端可以包括至少一个处理器及用于存储处理器可执行指令的存储器,所述指令被所述处理器执行时实现上述任意一个或者多个实施例所述方法的步骤。

所述存储器可以包括用于存储信息的物理装置,通常是将信息数字化后再以利用电、磁或者光学等方式的媒体加以存储。所述存储介质有可以包括:利用电能方式存储信息的装置如,各式存储器,如ram、rom等;利用磁能方式存储信息的装置如,硬盘、软盘、磁带、磁芯存储器、磁泡存储器、u盘;利用光学方式存储信息的装置如,cd或dvd。当然,还有其他方式的可读存储介质,例如量子存储器、石墨烯存储器等等。

需要说明的,上述所述的设备根据方法或者装置实施例的描述还可以包括其他的实施方式,具体的实现方式可以参照相关方法实施例的描述,在此不作一一赘述。

本说明书实施例所述的装置可以包括使用了本说明书实施例所述方法的系统、软件(应用)、模块、组件、服务器等并结合必要的实施硬件的装置。由于装置解决问题的实现方案与方法相似,因此本说明书实施例具体的装置的实施可以参见相应方法的实施,重复之处不再赘述。其中所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管装置实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。

本说明书实施例并不局限于必须是符合标准数据模型/模板或本说明书实施例所描述的情况。某些行业标准或者使用自定义方式或实施例描述的实施基础上略加修改后的实施方案也可以实现上述实施例相同、等同或相近、或变形后可预料的实施效果。应用这些修改或变形后的数据获取、存储、判断、处理方式等获取的实施例,仍然可以属于本说明书的可选实施方案范围之内。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本说明书的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述并不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

以上所述仅为本说明书的实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书的权利要求范围之内。

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