CN108415849A - 用于测试应用的方法和装置 - Google Patents

用于测试应用的方法和装置 Download PDF

Info

Publication number
CN108415849A
CN108415849A CN201810501973.1A CN201810501973A CN108415849A CN 108415849 A CN108415849 A CN 108415849A CN 201810501973 A CN201810501973 A CN 201810501973A CN 108415849 A CN108415849 A CN 108415849A
Authority
CN
China
Prior art keywords
application
tested
database
line
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201810501973.1A
Other languages
English (en)
Inventor
袁浪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Baidu Online Network Technology Beijing Co Ltd
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN201810501973.1A priority Critical patent/CN108415849A/zh
Publication of CN108415849A publication Critical patent/CN108415849A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites

Abstract

本申请实施例公开了用于测试应用的方法和装置。该方法的一具体实施方式包括:确定针对待测试应用的测试输入数据,其中,待测试应用包括访问目标数据库的操作;将预设数据库类型的模拟数据库确定为待测试应用访问的目标数据库,以测试输入数据作为待测试应用的输入,测试待测试应用,其中,模拟数据库是通过如下转存步骤得到的:将预设线上数据库确定为待测试应用访问的目标数据库;确定针对待测试应用的线上输入数据;以线上输入数据作为待测试应用的输入,执行待测试应用,并按照预设规则将在执行待测试应用的过程中所访问的数据进行转存得到模拟数据库。该实施方式降低了测试成本。

Description

用于测试应用的方法和装置
技术领域
本申请实施例涉及计算机技术领域,具体涉及用于测试应用的方法和装置。
背景技术
在对涉及到对数据库进行访问的应用进行测试时,需要指定测试期间被测应用所需访问的数据库,然后提供相应的测试输入数据(也称为测试用例),通过检查被测应用的动态行为或判断运行结果的正确性来测试被测应用。目前,大都采用在测试环境中等比例复制线上数据库(生产环境中的数据库),并将复制得到的数据库作为被测应用所需访问的数据库。
发明内容
本申请实施例提出了用于测试应用的方法和装置。
第一方面,本申请实施例提供了一种用于测试应用的方法,该方法包括:确定针对待测试应用的测试输入数据,其中,待测试应用包括访问目标数据库的操作;将预设数据库类型的模拟数据库确定为待测试应用访问的目标数据库,以测试输入数据作为待测试应用的输入,测试待测试应用,其中,模拟数据库是通过如下转存步骤得到的:将预设线上数据库确定为待测试应用访问的目标数据库;确定针对待测试应用的线上输入数据;以线上输入数据作为待测试应用的输入,执行待测试应用,并按照预设规则将在执行待测试应用的过程中所访问的数据进行转存得到模拟数据库。
在一些实施例中,预设线上数据库包括至少两种数据库类型的数据库;以及以线上输入数据作为待测试应用的输入,执行待测试应用,并按照预设规则将在执行待测试应用的过程中所访问的数据进行转存得到模拟数据库,包括:以线上输入数据作为待测试应用的输入,利用预设通用数据库访问语句访问预设线上数据库中的各种数据库类型的数据库以执行待测试应用,并按照预设规则将在执行待测试应用的过程中所访问的数据转存为第一预设数据库类型得到模拟数据库。
在一些实施例中,以测试输入数据作为待测试应用的输入,测试待测试应用,包括:以测试输入数据作为待测试应用的输入,利用与预设数据库类型对应的数据库访问语句,测试待测试应用。
在一些实施例中,预设规则包括:将执行待测试应用的过程中所访问的数据全部转存;或者将执行待测试应用的过程中所访问的数据中所需存储空间大于等于预设存储空间阈值的数据进行转存;或者将执行待测试应用的过程中预设时间段内所访问的数据进行转存。
在一些实施例中,预设线上数据库和模拟数据库为键值数据库。
在一些实施例中,确定针对待测试应用的测试输入数据,包括:将线上输入数据确定为测试输入数据。
在一些实施例中,确定针对待测试应用的线上输入数据,包括:接收用户使用终端输入的针对待测试应用的线上输入数据;或者生成针对待测试应用的线上输入数据。
第二方面,本申请实施例提供了一种用于测试应用的装置,该装置包括:确定单元,被配置成确定针对待测试应用的测试输入数据,其中,待测试应用包括访问目标数据库的操作;测试单元,被配置成将预设数据库类型的模拟数据库确定为待测试应用访问的目标数据库,以测试输入数据作为待测试应用的输入,测试待测试应用,其中,模拟数据库是通过如下转存步骤得到的:将预设线上数据库确定为待测试应用访问的目标数据库;确定针对待测试应用的线上输入数据;以线上输入数据作为待测试应用的输入,执行待测试应用,并按照预设规则将在执行待测试应用的过程中所访问的数据进行转存得到模拟数据库。
在一些实施例中,预设线上数据库包括至少两种数据库类型的数据库;以及以线上输入数据作为待测试应用的输入,执行待测试应用,并按照预设规则将在执行待测试应用的过程中所访问的数据进行转存得到模拟数据库,包括:以线上输入数据作为待测试应用的输入,利用预设通用数据库访问语句访问预设线上数据库中的各种数据库类型的数据库以执行待测试应用,并按照预设规则将在执行待测试应用的过程中所访问的数据转存为第一预设数据库类型得到模拟数据库。
在一些实施例中,测试单元进一步被配置成:以测试输入数据作为待测试应用的输入,利用与预设数据库类型对应的数据库访问语句,测试待测试应用。
在一些实施例中,预设规则包括:将执行待测试应用的过程中所访问的数据全部转存;或者将执行待测试应用的过程中所访问的数据中所需存储空间大于等于预设存储空间阈值的数据进行转存;或者将执行待测试应用的过程中预设时间段内所访问的数据进行转存。
在一些实施例中,预设线上数据库和模拟数据库为键值数据库。
在一些实施例中,确定单元进一步被配置成:将线上输入数据确定为测试输入数据。
在一些实施例中,确定针对待测试应用的线上输入数据,包括:接收用户使用终端输入的针对待测试应用的线上输入数据;或者生成针对待测试应用的线上输入数据。
第三方面,本申请实施例提供了一种服务器,包括:一个或多个处理器;存储装置,其上存储有一个或多个程序,当上述一个或多个程序被上述一个或多个处理器执行时,使得上述一个或多个处理器实现如第一方面中任一实现方式描述的方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,其中,该计算机程序被一个或多个处理器执行时实现如第一方面中任一实现方式描述的方法。
本申请实施例提供的用于测试应用的方法和装置,通过在生产环境对数据进行访问的同时,把访问到的数据按预设规则转存成指定数据库类型的模拟数据库,并作为后续测试测试待测试应用时所需访问的数据库。从而,通过指定数据库类型的数据库对待测试应用进行测试,不需搭建与生产环境相同类型的数据库系统,并减少了测试环境所需的数据存储空间大小,继而降低了测试成本。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1是本申请的一个实施例可以应用于其中的示例性系统架构图;
图2是根据本申请的用于测试应用的方法的一个实施例的流程图;
图3是根据本申请的转存步骤的一个实施例的流程图;
图4是根据本申请的用于测试应用的方法的一个应用场景的示意图;
图5是根据本申请的用于测试应用的装置的一个实施例的结构示意图;
图6是适于用来实现本申请实施例的服务器的计算机系统的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1示出了可以应用本申请的用于测试应用的方法或用于测试应用的装置的实施例的示例性系统架构100。
如图1所示,系统架构100可以包括线上数据库服务器101、102、103,网络104,应用执行服务器105,网络106,导入服务器107,网络108,模拟数据库服务器109,网络110和应用测试服务器111。网络104用以在线上数据库服务器101、102、103和应用执行服务器105之间提供通信链路的介质。网络106用以在应用执行服务器105和导入服务器107之间提供通信链路的介质。网络108用以导入服务器107和在模拟数据库服务器109之间提供通信链路的介质。网络110用以在模拟数据库服务器109和应用测试服务器111之间提供通信链路的介质。网络104、网络106、网络108和网络110可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
线上数据库服务器101、102、103可以存储有各种数据库类型的数据库。应用执行服务器105可以通过网络104访问线上数据库服务器101、102、103中的数据库以执行待测试应用,并将在执行待测试应用的过程中所访问的数据存储在应用执行服务器106本地的指定存储区域。线上数据库服务器101、102、103,网络104和应用执行服务器105可以组成生产环境,即,现实中为用户提供各种服务的环境。作为示例,线上数据库服务器101、102、103可以通过各种数据库类型数据库来存储大量网页数据,而应用执行服务器105可以为搜索引擎服务器,这样,应用执行服务器105(搜索引擎服务器)在接收到用户使用终端设备输入的搜索词(query)后,可以通过网络104在线上数据库服务器101、102、103查找与搜索词匹配的网页,并将所得到的网页反馈给发送上述搜索词的终端设备。
导入服务器107可以通过网络106实时检测应用执行服务器105本地的指定存储区域中是否有新的数据存入,如果有新的数据存入,可以获取新存入的数据,并将所获取的数据通过网络108存储到模拟数据库服务器109中,得到模拟数据库。网络106,导入服务器107,网络108和模拟数据库服务器109可以组成导入环境,即,现实中转存线上数据库中的数据的环境。
应用测试服务器111可以是提供应用测试服务的服务器。应用测试服务器111可以通过网络110以模拟数据库服务器109中的模拟数据库为目标数据库,对待测试应用进行测试。应用测试服务器111、网络110和模拟数据库服务器109可以组成测试环境,即,现实中测试待测试应用的环境。
需要说明的是,本申请实施例所提供的用于测试应用的方法一般由应用测试服务器108执行,相应地,用于测试应用的装置一般设置于应用测试服务器108中。
需要说明的是,线上数据库服务器101、102、103,应用执行服务器105,导入服务器107,模拟数据库服务器109和应用测试服务器111可以是硬件,也可以是软件。当线上数据库服务器101、102、103,应用执行服务器105,导入服务器107,模拟数据库服务器109和应用测试服务器111为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。当上述线上数据库服务器101、102、103,应用执行服务器105,导入服务器107,模拟数据库服务器109和应用测试服务器111为软件时,可以实现成多个软件或软件模块,也可以实现成单个软件或软件模块。在此不做具体限定。
应该理解,图1中的线上数据库服务器、网络、应用执行服务器、导入服务器、模拟数据库服务器和应用测试服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的线上数据库服务器、网络、应用执行服务器、导入服务器、模拟数据库服务器和应用测试服务器。
继续参考图2,其示出了根据本申请的用于测试应用的方法的一个实施例的流程200。该用于测试应用的方法,包括以下步骤:
步骤201,确定针对待测试应用的测试输入数据。
在本实施例中,用于测试应用的方法的执行主体(例如图1所示的应用测试服务器)可以采用各种实现方式确定针对待测试应用的测试输入数据。
这里,待测试应用可以包括访问目标数据库的操作。例如,这里访问目标数据库的操作可以包括在目标数据库中增加数据、在目标数据库中删除数据、对目标数据库中的数据进行修改、在目标数据库中查询数据等等。
在本实施例的一些可选的实现方式中,上述执行主体中可以存储有技术人员预先制定的测试输入数据集合。这样,上述执行主体可以将上述测试输入数据集合中的任一测试输入数据确定为针对待测试应用的测试输入数据。
在本实施例的一些可选的实现方式中,上述执行主体也可以采用各种实现方式自动生成针对待测试应用的测试输入数据。例如,可以对已有数据样本应用变异技术创建新的测试输入数据。或者,也可以通过对目标协议或文件格式建模的方法从头开始产生测试输入数据。
步骤202,将预设数据库类型的模拟数据库确定为待测试应用访问的目标数据库,以测试输入数据作为待测试应用的输入,测试待测试应用。
在本实施例中,上述执行主体(例如图1所示的应用测试服务器)可以将预设数据库类型的模拟数据库确定为待测试应用访问的目标数据库,以及以步骤201中确定的测试输入数据作为待测试应用的输入,执行待测试应用,并根据执行结果与预期结果的差异生成测试结果,例如,测试结果可以包括运行效率、正确性和健壮性等性能指标。这里,根据执行结果与预期结果的差异生成测试结果的方法是目前广泛研究和应用的公知技术,且不是本申请的重点,因此不再赘述。
在本实施例的一些可选的实现方式中,预设线上数据库和模拟数据库可以为键值数据库。
在本实施例的一些可选的实现方式中,步骤202可以如下进行:
将预设数据库类型的模拟数据库确定为待测试应用访问的目标数据库,以测试输入数据作为待测试应用的输入,利用与预设数据库类型对应的数据库访问语句,测试待测试应用。
这里,预设数据库类型的模拟数据库可以是通过转存步骤得到的。请参考图3,其示出了用于生成预设数据库类型的模拟数据库的转存步骤的一个实施例的流程300,该转存步骤包括以下步骤301到步骤303:
步骤301,将预设线上数据库确定为待测试应用访问的目标数据库。
在本实施例中,用于生成预设数据库类型的模拟数据库的转存步骤的执行主体可以与用于测试应用的方法的执行主体相同,也可以与用于测试应用的方法的执行主体不同(例如,可以为图1所示的应用执行服务器)。
在本实施例中,用于生成预设数据库类型的模拟数据库的转存步骤的执行主体可以将预设线上数据库确定为待测试应用访问的目标数据库。这里,预设线上数据库可以为实际生产环境的数据库,而不是用于测试应用的数据库。由于待测试应用包括访问目标数据库的操作,这里,可以将预设线上数据库确定为待测试应用访问的目标数据库。
步骤302,确定针对待测试应用的线上输入数据。
在本实施例中,上述执行主体可以采用各种实现方式确定针对待测试应用的线上输入数据。
在本实施例的一些可选的实现方式中,上述执行主体可以接收用户使用终端输入的针对待测试应用的线上输入数据。
在本实施例的一些可选的实现方式中,上述执行主体也可以生成针对待测试应用的线上输入数据。例如,可以对已有数据样本应用变异技术创建新的线上输入数据。或者,也可以通过对目标协议或文件格式建模的方法从头开始产生线上输入数据。
步骤303,以线上输入数据作为待测试应用的输入,执行待测试应用,并按照预设规则将在执行待测试应用的过程中所访问的数据进行转存得到模拟数据库。
在本实施例中,上述执行主体可以以步骤302中确定的线上输入数据作为待测试应用的输入,执行待测试应用,并按照预设规则将在执行待测试应用的过程中所访问的数据进行转存得到模拟数据库。
这里,模拟数据库是预设数据库类型的数据库。
可选地,模拟数据库可以存储在上述执行主体本地,这样,上述执行主体可以将在执行待测试应用的过程中所访问的数据存储到本地得到模拟数据库。
可选地,模拟数据库也可以存储在安装有预设数据库类型的数据库软件系统的模拟数据库服务器中,且,上述执行主体可以与上述模拟数据库服务器网络连接。这样,上述执行主体可以将在执行待测试应用的过程中所访问的数据存储到本地,得到转存数据。然后,上述执行主体再将上述新存储的转存数据发送给模拟数据库服务器并存储模拟数据库中。或者,上述执行主体可以将在执行待测试应用的过程中所访问的数据存储到本地,得到转存数据。然后,与上述执行主体网络连接的导入服务器可以每隔预设时间检测上述执行主体中的转存数据中是否存在新存入的数据,如果检测到有新存入的数据,则导入服务器可以获取上述执行主体中转存的数据中的新存入的数据,并将所获取的数据写入到模拟数据库服务器中的模拟数据库中。
这里,预设规则可以包括预先制定的用于指示将在执行待测试应用的过程中所访问的数据中的什么样的数据进行转存的规则。
在本实施例的一些可选的实现方式中,预设规则可以是将执行待测试应用的过程中所访问的数据全部转存;或者将执行待测试应用的过程中所访问的数据中所需存储空间大于等于预设存储空间阈值(例如,100兆字节)的数据进行转存;或者将执行待测试应用的过程中预设时间段(例如,从开始执行待测试应用的一天内)内所访问的数据进行转存。
可选地,预设规则还可以用于指示在转存的过程中,所访问的数据与预设数据库类型的模拟数据库中的数据之间的对应关系以及转换关系。
在本实施例的一些可选的实现方式中,步骤201中确定针对待测试应用的测试输入数据可以是:将步骤302中确定的线上输入数据确定为针对待测试应用的测试输入数据,即在测试环境中所用到的测试输入数据与在生产环境中所用到的线上输入数据是相同的,从而可以实现对生产环境中执行待测试应用的过程进行回放,增加测试过程的真实性。
实践中,预设线上数据库常常包括至少两种数据库类型的数据库,而且用于访问每种数据库类型的数据库的数据库访问语句是不同的。例如,用于访问A数据库类型的数据库的数据库访问语句与用于访问B数据库类型的数据库的数据库访问语句是不同的。为了解除转存步骤对于数据库类型的依赖,使得转存步骤可以应用于不同的数据库类型,步骤303可以如下进行:
以步骤302中确定的线上输入数据作为待测试应用的输入,利用预设通用数据库访问语句访问预设线上数据库中的各种数据库类型的数据库以执行待测试应用,并按照预设规则将在执行待测试应用的过程中所访问的数据转存为第一预设数据库类型得到模拟数据库。这里,利用预设通用数据库访问语句,可以访问预设线上数据库所包括的每种数据库类型的数据库。实践中,当调用预先定义的通用数据库访问语句访问数据库时,可以提供所需要访问的数据库的数据库类型给通用数据库访问语句,然后在通用数据库访问语句中会调用与所提供的数据库类型对应的数据库访问语句来访问所需访问的数据库。
按照上述可选实现方式转存数据,可以屏蔽不同数据库类型的差异,使得转存步骤可以应用于不同的数据库类型,继而进一步减少测试成本。
经过步骤303,实现了在生产环境对数据进行访问的同时,把访问到的数据按需转存下来,并按指定格式存储下来得到模拟数据库。从而,模拟数据库可以用于后续测试应用时使用。
继续参见图4,图4是根据本实施例的用于测试应用的方法的应用场景的一个示意图。在图4的应用场景中,包括应用执行服务器401,线上数据库服务器402、403、404,导入服务器405,模拟数据库服务器406和应用测试服务器407。其中,应用执行服务器401和线上数据库服务器402、403、404组成生产环境。导入服务器405和模拟数据库服务器406组成导入环境,应用测试服务器407和模拟数据库服务器406组成测试环境。
在生产环境中,应用执行服务器401首先将存储在线上数据库服务器402、403、404中的预设线上数据库408、409、410确定为待测试应用访问的目标数据库411,然后应用执行服务器401确定针对待测试应用的线上输入数据412,接着应用执行服务器401以线上输入数据412作为待测试应用的输入,执行待测试应用,并按照预设规则将在执行待测试应用的过程中所访问的数据存储到本地得到转存数据413。
在导入环境中,导入服务器405检测应用执行服务器401中存储的转存数据413是否有新数据存入,如有新数据存入则将存入到转存数据413中的新数据写入到模拟数据库服务器406中的模拟数据库414中。
在测试环境中,应用测试服务器407在接收到测试待测试应用的测试请求后,首先确定针对待测试应用的测试输入数据415。然后,应用测试服务器407将模拟数据库414确定为待测试应用访问的目标数据库416,以测试输入数据415作为待测试应用的输入,测试待测试应用,得到测试结果417。
本申请的上述实施例提供的方法通过在生产环境对数据进行访问的同时,把访问到的数据按预设规则转存成指定数据库类型的模拟数据库,并作为后续测试测试待测试应用时所需访问的数据库。从而,通过指定数据库类型的数据库对待测试应用进行测试,不需搭建与生产环境相同类型的数据库系统,并减少了测试环境所需的数据存储空间大小,继而降低了测试成本。
进一步参考图5,作为对上述各图所示方法的实现,本申请提供了一种用于测试应用的装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图5所示,本实施例的用于测试应用的装置500包括:确定单元501和测试单元502。其中,确定单元501,被配置成确定针对待测试应用的测试输入数据,其中,上述待测试应用包括访问目标数据库的操作;测试单元502,被配置成将预设数据库类型的模拟数据库确定为上述待测试应用访问的目标数据库,以上述测试输入数据作为上述待测试应用的输入,测试上述待测试应用,其中,上述模拟数据库是通过如下转存步骤得到的:将预设线上数据库确定为上述待测试应用访问的目标数据库;确定针对上述待测试应用的线上输入数据;以上述线上输入数据作为上述待测试应用的输入,执行上述待测试应用,并按照预设规则将在执行上述待测试应用的过程中所访问的数据进行转存得到上述模拟数据库。
在本实施例中,用于测试应用的装置500的确定单元501和测试单元502的具体处理及其所带来的技术效果可分别参考图2对应实施例中步骤201和步骤202的相关说明,在此不再赘述。
在本实施例的一些可选的实现方式中,上述预设线上数据库可以包括至少两种数据库类型的数据库;以及上述以上述线上输入数据作为上述待测试应用的输入,执行上述待测试应用,并按照预设规则将在执行上述待测试应用的过程中所访问的数据进行转存得到上述模拟数据库,可以包括:以上述线上输入数据作为上述待测试应用的输入,利用预设通用数据库访问语句访问上述预设线上数据库中的各种数据库类型的数据库以执行上述待测试应用,并按照上述预设规则将在执行上述待测试应用的过程中所访问的数据转存为第一预设数据库类型得到上述模拟数据库。
在本实施例的一些可选的实现方式中,上述测试单元502可以进一步被配置成:以上述测试输入数据作为上述待测试应用的输入,利用与上述预设数据库类型对应的数据库访问语句,测试上述待测试应用。
在本实施例的一些可选的实现方式中,上述预设规则可以包括:将执行上述待测试应用的过程中所访问的数据全部转存;或者将执行上述待测试应用的过程中所访问的数据中所需存储空间大于等于预设存储空间阈值的数据进行转存;或者将执行上述待测试应用的过程中预设时间段内所访问的数据进行转存。
在本实施例的一些可选的实现方式中,上述预设线上数据库和上述模拟数据库可以为键值数据库。
在本实施例的一些可选的实现方式中,上述确定单元501可以进一步被配置成:将上述线上输入数据确定为上述测试输入数据。
在本实施例的一些可选的实现方式中,上述确定针对上述待测试应用的线上输入数据,可以包括:接收用户使用终端输入的针对上述待测试应用的线上输入数据;或者生成针对上述待测试应用的线上输入数据。
需要说明的是,本申请实施例提供的用于测试应用的装置中各单元的实现细节和技术效果可以参考本申请中其它实施例的说明,在此不再赘述。
下面参考图6,其示出了适于用来实现本申请实施例的服务器的计算机系统600的结构示意图。图6示出的服务器仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图6所示,计算机系统600包括中央处理单元(CPU,Central Processing Unit)601,其可以根据存储在只读存储器(ROM,Read Only Memory)602中的程序或者从存储部分608加载到随机访问存储器(RAM,Random Access Memory)603中的程序而执行各种适当的动作和处理。在RAM 603中,还存储有系统600操作所需的各种程序和数据。CPU 601、ROM602以及RAM 603通过总线604彼此相连。输入/输出(I/O,Input/Output)接口605也连接至总线604。
以下部件连接至I/O接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(CRT,Cathode Ray Tube)、液晶显示器(LCD,Liquid Crystal Display)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN(局域网,Local AreaNetwork)卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被中央处理单元(CPU)601执行时,执行本申请的方法中限定的上述功能。需要说明的是,本申请所述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请的操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如”C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括确定单元和测试单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,确定单元还可以被描述为“确定针对待测试应用的测试输入数据的单元”。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的装置中所包含的;也可以是单独存在,而未装配入该装置中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该装置执行时,使得该装置:确定针对待测试应用的测试输入数据,其中,待测试应用包括访问目标数据库的操作;将预设数据库类型的模拟数据库确定为待测试应用访问的目标数据库,以测试输入数据作为待测试应用的输入,测试待测试应用,其中,模拟数据库是通过如下转存步骤得到的:将预设线上数据库确定为待测试应用访问的目标数据库;确定针对待测试应用的线上输入数据;以线上输入数据作为待测试应用的输入,执行待测试应用,并按照预设规则将在执行待测试应用的过程中所访问的数据进行转存得到模拟数据库。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

Claims (16)

1.一种用于测试应用的方法,包括:
确定针对待测试应用的测试输入数据,其中,所述待测试应用包括访问目标数据库的操作;
将预设数据库类型的模拟数据库确定为所述待测试应用访问的目标数据库,以所述测试输入数据作为所述待测试应用的输入,测试所述待测试应用,其中,所述模拟数据库是通过如下转存步骤得到的:
将预设线上数据库确定为所述待测试应用访问的目标数据库;
确定针对所述待测试应用的线上输入数据;
以所述线上输入数据作为所述待测试应用的输入,执行所述待测试应用,并按照预设规则将在执行所述待测试应用的过程中所访问的数据进行转存得到所述模拟数据库。
2.根据权利要求1所述的方法,其中,所述预设线上数据库包括至少两种数据库类型的数据库;以及
所述以所述线上输入数据作为所述待测试应用的输入,执行所述待测试应用,并按照预设规则将在执行所述待测试应用的过程中所访问的数据进行转存得到所述模拟数据库,包括:
以所述线上输入数据作为所述待测试应用的输入,利用预设通用数据库访问语句访问所述预设线上数据库中的各种数据库类型的数据库以执行所述待测试应用,并按照所述预设规则将在执行所述待测试应用的过程中所访问的数据转存为第一预设数据库类型得到所述模拟数据库。
3.根据权利要求1所述的方法,其中,所述以所述测试输入数据作为所述待测试应用的输入,测试所述待测试应用,包括:
以所述测试输入数据作为所述待测试应用的输入,利用与所述预设数据库类型对应的数据库访问语句,测试所述待测试应用。
4.根据权利要求1-3中任一所述的方法,其中,所述预设规则包括:
将执行所述待测试应用的过程中所访问的数据全部转存;或者
将执行所述待测试应用的过程中所访问的数据中所需存储空间大于等于预设存储空间阈值的数据进行转存;或者
将执行所述待测试应用的过程中预设时间段内所访问的数据进行转存。
5.根据权利要求4所述的方法,其中,所述预设线上数据库和所述模拟数据库为键值数据库。
6.根据权利要求5所述的方法,其中,所述确定针对待测试应用的测试输入数据,包括:
将所述线上输入数据确定为所述测试输入数据。
7.根据权利要求6所述的方法,其中,所述确定针对所述待测试应用的线上输入数据,包括:
接收用户使用终端输入的针对所述待测试应用的线上输入数据;或者
生成针对所述待测试应用的线上输入数据。
8.一种用于测试应用的装置,包括:
确定单元,被配置成确定针对待测试应用的测试输入数据,其中,所述待测试应用包括访问目标数据库的操作;
测试单元,被配置成将预设数据库类型的模拟数据库确定为所述待测试应用访问的目标数据库,以所述测试输入数据作为所述待测试应用的输入,测试所述待测试应用,其中,所述模拟数据库是通过如下转存步骤得到的:
将预设线上数据库确定为所述待测试应用访问的目标数据库;
确定针对所述待测试应用的线上输入数据;
以所述线上输入数据作为所述待测试应用的输入,执行所述待测试应用,并按照预设规则将在执行所述待测试应用的过程中所访问的数据进行转存得到所述模拟数据库。
9.根据权利要求8所述的装置,其中,所述预设线上数据库包括至少两种数据库类型的数据库;以及
所述以所述线上输入数据作为所述待测试应用的输入,执行所述待测试应用,并按照预设规则将在执行所述待测试应用的过程中所访问的数据进行转存得到所述模拟数据库,包括:
以所述线上输入数据作为所述待测试应用的输入,利用预设通用数据库访问语句访问所述预设线上数据库中的各种数据库类型的数据库以执行所述待测试应用,并按照所述预设规则将在执行所述待测试应用的过程中所访问的数据转存为第一预设数据库类型得到所述模拟数据库。
10.根据权利要求8所述的装置,其中,所述测试单元进一步被配置成:
以所述测试输入数据作为所述待测试应用的输入,利用与所述预设数据库类型对应的数据库访问语句,测试所述待测试应用。
11.根据权利要求8-10中任一所述的装置,其中,所述预设规则包括:
将执行所述待测试应用的过程中所访问的数据全部转存;或者
将执行所述待测试应用的过程中所访问的数据中所需存储空间大于等于预设存储空间阈值的数据进行转存;或者
将执行所述待测试应用的过程中预设时间段内所访问的数据进行转存。
12.根据权利要求11所述的装置,其中,所述预设线上数据库和所述模拟数据库为键值数据库。
13.根据权利要求12所述的装置,其中,所述确定单元进一步被配置成:
将所述线上输入数据确定为所述测试输入数据。
14.根据权利要求13所述的装置,其中,所述确定针对所述待测试应用的线上输入数据,包括:
接收用户使用终端输入的针对所述待测试应用的线上输入数据;或者
生成针对所述待测试应用的线上输入数据。
15.一种服务器,包括:
一个或多个处理器;
存储装置,其上存储有一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1-7中任一所述的方法。
16.一种计算机可读介质,其上存储有计算机程序,其中,所述程序被处理器执行时实现如权利要求1-7中任一所述的方法。
CN201810501973.1A 2018-05-23 2018-05-23 用于测试应用的方法和装置 Pending CN108415849A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810501973.1A CN108415849A (zh) 2018-05-23 2018-05-23 用于测试应用的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810501973.1A CN108415849A (zh) 2018-05-23 2018-05-23 用于测试应用的方法和装置

Publications (1)

Publication Number Publication Date
CN108415849A true CN108415849A (zh) 2018-08-17

Family

ID=63140447

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810501973.1A Pending CN108415849A (zh) 2018-05-23 2018-05-23 用于测试应用的方法和装置

Country Status (1)

Country Link
CN (1) CN108415849A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110058995A (zh) * 2019-03-05 2019-07-26 王长磊 一种可避免数据库类型的干扰的数据库测试方法以及系统
CN110765006A (zh) * 2019-10-08 2020-02-07 贝壳技术有限公司 流程测试方法和装置、计算机可读存储介质、电子设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101001183A (zh) * 2007-01-10 2007-07-18 网之易信息技术(北京)有限公司 一种网络应用软件的测试方法和系统
CN105703964A (zh) * 2014-11-26 2016-06-22 阿里巴巴集团控股有限公司 一种在线应用系统测试方法与设备
CN106484610A (zh) * 2015-09-02 2017-03-08 阿里巴巴集团控股有限公司 一种Beta测试方法和装置
US9734044B2 (en) * 2014-03-05 2017-08-15 International Business Machines Corporation Automatic test case generation
CN107894953A (zh) * 2017-11-21 2018-04-10 中国银行股份有限公司 一种银行应用测试数据的生成方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101001183A (zh) * 2007-01-10 2007-07-18 网之易信息技术(北京)有限公司 一种网络应用软件的测试方法和系统
US9734044B2 (en) * 2014-03-05 2017-08-15 International Business Machines Corporation Automatic test case generation
CN105703964A (zh) * 2014-11-26 2016-06-22 阿里巴巴集团控股有限公司 一种在线应用系统测试方法与设备
CN106484610A (zh) * 2015-09-02 2017-03-08 阿里巴巴集团控股有限公司 一种Beta测试方法和装置
CN107894953A (zh) * 2017-11-21 2018-04-10 中国银行股份有限公司 一种银行应用测试数据的生成方法及装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110058995A (zh) * 2019-03-05 2019-07-26 王长磊 一种可避免数据库类型的干扰的数据库测试方法以及系统
CN110058995B (zh) * 2019-03-05 2022-12-20 王长磊 一种可避免数据库类型的干扰的数据库测试方法以及系统
CN110765006A (zh) * 2019-10-08 2020-02-07 贝壳技术有限公司 流程测试方法和装置、计算机可读存储介质、电子设备

Similar Documents

Publication Publication Date Title
CN110059009A (zh) 用于测试代码文件的方法和装置
CN109981619A (zh) 数据获取方法、装置、介质及电子设备
CN108197036A (zh) 用于确定增量代码的覆盖率信息的方法和装置
CN109492053B (zh) 用于访问数据的方法和装置
CN109062563B (zh) 用于生成页面的方法和装置
CN109582691A (zh) 用于控制数据查询的方法和装置
CN108958992A (zh) 测试方法和装置
CN108628673A (zh) 数据处理方法、电子设备和计算机可读介质
CN111209202A (zh) 终端应用测试方法和装置
CN112100079B (zh) 基于模拟数据调用的测试方法、系统和电子设备
CN111221727B (zh) 测试方法、装置、电子设备和计算机可读介质
CN109241722A (zh) 用于获取信息的方法、电子设备和计算机可读介质
CN110659206A (zh) 基于微服务的模拟架构建立方法、装置、介质及电子设备
CN108959087A (zh) 测试方法和装置
CN109815105A (zh) 基于Btrace的应用程序测试方法和装置
CN107301179A (zh) 数据库读写分离的方法和装置
CN109376534A (zh) 用于检测应用的方法和装置
CN111881042A (zh) 自动化测试脚本的生成方法、装置和电子设备
CN110223124A (zh) 数据处理方法、装置、电子设备及计算机可读介质
CN109614312A (zh) 测试用例生成方法、装置、电子设备及存储介质
CN108415849A (zh) 用于测试应用的方法和装置
CN109656799A (zh) 测试方法和装置
CN108959102A (zh) 用于生成测试数据、测试待测试应用的方法和装置
CN112561690A (zh) 信用卡分期业务接口的测试方法、系统、设备及存储介质
CN110333849A (zh) 一种基于FreeMarker模板引擎实现代码机器人的方法、装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20180817