CN108958992A - 测试方法和装置 - Google Patents

测试方法和装置 Download PDF

Info

Publication number
CN108958992A
CN108958992A CN201710350482.7A CN201710350482A CN108958992A CN 108958992 A CN108958992 A CN 108958992A CN 201710350482 A CN201710350482 A CN 201710350482A CN 108958992 A CN108958992 A CN 108958992A
Authority
CN
China
Prior art keywords
target detection
tool
test
testing
detection tool
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
CN201710350482.7A
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.)
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co Ltd
Original Assignee
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information 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 Jingdong Century Trading Co Ltd, Beijing Jingdong Shangke Information Technology Co Ltd filed Critical Beijing Jingdong Century Trading Co Ltd
Priority to CN201710350482.7A priority Critical patent/CN108958992A/zh
Publication of CN108958992A publication Critical patent/CN108958992A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2294Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing by remote test

Abstract

本申请公开了测试方法和装置。该方法的一具体实施方式包括:接收第一客户端发送的测试请求,其中,测试请求包括目标测试工具的类型;基于目标测试工具的类型,利用反射技术获取目标测试工具的信息;基于目标测试工具的信息从预先封装的测试工具集合中查找到目标测试工具;利用目标测试工具执行与目标测试工具相对应的测试脚本对待测试服务器进行远程测试;生成测试结果,并将测试结果发送至第一客户端。该实施方式提高了测试效率。

Description

测试方法和装置
技术领域
本申请涉及计算机技术领域,具体涉及测试技术领域,尤其涉及测试方法和装置。
背景技术
随着企业业务的发展,用于支持企业业务运营的系统也越来越复杂。通常情况下,系统中会包括多台服务器。因此,需要对系统中的各台服务器均进行环境、安全、性能等多种测试,以确保系统能正常运行。
然而,现有的系统中的服务器通常既包括Windows服务器(采用Windows操作系统的服务器),又包括Linux服务器(采用Linux操作系统的服务器)。现有的测试方法或装置通常不能实现既对Windows服务器进行测试,又对Linux服务器进行测试。因此,对于同一个系统中的多台服务器一般需要多种不同的测试方法或装置进行测试,测试过程较为复杂,导致测试效率较低。
发明内容
本申请的目的在于提出一种改进的测试方法和装置,来解决以上背景技术部分提到的技术问题。
第一方面,本申请实施例提供了一种测试方法,该方法包括:接收第一客户端发送的测试请求,其中,测试请求包括目标测试工具的类型;基于目标测试工具的类型,利用反射技术获取目标测试工具的信息;基于目标测试工具的信息从预先封装的测试工具集合中查找到目标测试工具;利用目标测试工具执行与目标测试工具相对应的测试脚本对待测试服务器进行远程测试;生成测试结果,并将测试结果发送至第一客户端。
在一些实施例中,该方法还包括:接收第二客户端发送的测试工具集合;对测试工具集合中的各个测试工具进行封装,生成测试工具执行接口。
在一些实施例中,基于目标测试工具的信息从预先封装的测试工具集合中查找到目标测试工具,包括:基于目标测试工具的信息,通过测试工具执行接口调用目标测试工具。
在一些实施例中,利用目标测试工具执行测试脚本对待测试服务器进行远程测试,包括:基于测试脚本的执行,创建出至少一个发送线程;利用至少一个发送线程中的每个发送线程不断地向待测试服务器发送请求数据;接收待测试服务器返回的与请求数据相对应的响应数据。
在一些实施例中,生成测试结果,包括:基于测试脚本的执行,创建出分析线程;利用分析线程对响应数据进行分析,得到与响应数据相对应的测试结果。
在一些实施例中,该方法还包括:对于测试工具集合中的每个测试工具,利用反射技术获取测试工具的信息,并将测试工具的信息发送至数据库服务器,以使数据库服务器对测试工具的信息进行存储。
在一些实施例中,测试工具的信息包括以下至少一项:测试工具的名称、测试工具的类型、测试工具的运行参数、测试工具的调用信息。
第二方面,本申请实施例提供了一种测试装置,该装置包括:测试请求接收单元,配置用于接收第一客户端发送的测试请求,其中,测试请求包括目标测试工具的类型;目标测试工具信息获取单元,配置用于基于目标测试工具的类型,利用反射技术获取目标测试工具的信息;目标测试工具查找单元,配置用于基于目标测试工具的信息从预先封装的测试工具集合中查找到目标测试工具;测试脚本执行单元,配置用于利用目标测试工具执行与目标测试工具相对应的测试脚本对待测试服务器进行远程测试;测试结果生成单元,配置用于生成测试结果,并将测试结果发送至第一客户端。
在一些实施例中,该装置还包括:测试工具集合接收单元,配置用于接收第二客户端发送的测试工具集合;测试工具执行接口生成单元,配置用于对测试工具集合中的各个测试工具进行封装,生成测试工具执行接口。
在一些实施例中,目标测试工具查找单元进一步配置用于:基于目标测试工具的信息,通过测试工具执行接口调用目标测试工具。
在一些实施例中,测试脚本执行单元,包括:发送线程创建子单元,配置用于基于测试脚本的执行,创建出至少一个发送线程;请求数据发送子单元,配置用于利用至少一个发送线程中的每个发送线程不断地向待测试服务器发送请求数据;响应数据接收子单元,配置用于接收待测试服务器返回的与请求数据相对应的响应数据。
在一些实施例中,测试结果生成单元,包括:分析线程创建子单元,配置用于基于测试脚本的执行,创建出分析线程;测试结果生成子单元,配置用于利用分析线程对响应数据进行分析,得到与响应数据相对应的测试结果。
在一些实施例中,该装置还包括:测试工具信息获取单元,配置用于对于测试工具集合中的每个测试工具,利用反射技术获取测试工具的信息,并将测试工具的信息发送至数据库服务器,以使数据库服务器对测试工具的信息进行存储。
在一些实施例中,测试工具的信息包括以下至少一项:测试工具的名称、测试工具的类型、测试工具的运行参数、测试工具的调用信息。
第三方面,本申请实施例提供了一种电子设备,该电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序;当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如第一方面中任一实现方式描述的方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面中任一实现方式描述的方法。
本申请实施例提供的测试方法和装置,首先基于从第一客户端接收到的测试请求中的目标测试工具的类型,利用反射技术获取目标测试工具的信息;之后,基于目标测试工具的信息从预先封装的测试工具集合中查找到目标测试工具;然后,利用目标测试工具执行与目标测试工具相对应的测试脚本对待测试服务器进行远程测试;最后,生成测试结果,并发送至第一客户端。通过将对Windows服务器进行测试的测试工具、对Linux服务器进行测试的测试工具等进行预先封装,不论系统中的待测试服务器是Windows服务器还是Linux服务器,只需要从预先封装的测试工具集合中查找到相应的测试工具即可实现对待测试服务器的测试,从而提高了测试的效率。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1是本申请实施例可以应用于其中的示例性系统架构图;
图2是根据本申请的测试方法的一个实施例的流程图;
图3是根据本申请实施例的测试方法的一个应用场景的示意图;
图4是根据本申请的测试方法的又一个实施例的流程图;
图5是根据本申请的测试置的一个实施例的结构示意图;
图6是适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1示出了可以应用本申请的测试方法或测试装置的实施例的示例性系统架构100。
如图1所示,系统架构100可以包括终端设备101,测试服务器102,待测试服务器103、104和网络105、106。网络105用以在终端设备101和测试服务器102之间提供通信链路的介质。网络106用以在测试服务器102和待测试服务器103、104之间提供通信链路的介质。网络105、106可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
测试工程师可以使用终端设备101通过网络105与测试服务器102交互,以接收或发送消息等。终端设备101可以是具有显示屏并且支持数据浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
测试服务器102可以是提供各种服务的服务器,例如对终端设备101上显示的测试结果提供支持的后台测试服务器。后台测试服务器可以首先对从终端设备101接收到的测试请求等数据进行分析等处理;然后对待测试服务器103、104进行测试;最后生成测试结果,并将测试结果反馈给终端设备101。
待测试服务器103、104可以是同一个系统中的服务器,即可以是Windows服务器,又可以是Linux服务器。
需要说明的是,本申请实施例所提供的测试方法一般由测试服务器102执行,相应地,测试装置一般设置于测试服务器102中。
应该理解,图1中的终端设备、测试服务器、待测试服务器和网络的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、测试服务器、待测试服务器和网络。
继续参考图2,其示出了根据本申请的测试方法的一个实施例的流程200。该测试方法,包括以下步骤:
步骤201,接收第一客户端发送的测试请求。
在本实施例中,测试方法运行于其上的电子设备(例如图1所示的测试服务器102)可以通过有线连接方式或者无线连接方式从第一客户端(例如图1所示的终端设备101)获取测试请求。其中,测试请求可以包括目标测试工具的类型。
在本实施例中,根据测试工具的不同功能可以将测试工具划分为多种类型。例如,测试工具可以包括:用于监测CPU(Central Processing Unit,中央处理器)占用率的CPU监测工具、用于监测网络运行状态的网络监测工具、用于监测磁盘空间使用率的磁盘空间监测工具、用于测试服务器的性能的压力测试工具等。其中,目标测试工具的类型可以是根据测试任务而确定出来的。例如,若测试任务是监测待测试服务器的CPU占用率,则目标测试工具可以是CPU监测工具。若测试任务是测试待测试服务器的性能,则目标测试工具可以是压力测试工具。
步骤202,基于目标测试工具的类型,利用反射技术获取目标测试工具的信息。
在本实施例中,基于步骤201中所获取到的目标测试工具的类型,电子设备可以利用反射技术获取目标测试工具的信息。这里,目标测试工具的信息可以包括但不限于以下至少一项:目标测试工具的名称、目标测试工具的类型、目标测试工具的运行参数、目标测试工具的调用信息。其中,目标测试工具的运行参数可以包括目标测试工具的输入参数和输出参数等。
反射(Reflection)技术是.NET中的重要机制。通过反射,可以在运行时获得.NET中每一个类型(包括类、结构、委托、接口和枚举等)的成员,包括方法、属性、事件,以及构造函数等。还可以获得每个成员的名称、限定符和参数等。其中,.NET是XML(ExtensibleMarkup Language,可扩展标记语言)网络服务(Web services)平台。XML网络服务允许应用程序通过互联网进行通讯和共享数据,而不管所采用的是哪种操作系统、设备或编程语言。作为示例,电子设备可以基于目标测试工具的类型,利用反射技术获取目标测试工具的名称、目标测试工具的运行参数、目标测试工具的调用信息等。
在本实施例的一些可选的实现方式中,测试工具的信息可以包括但不限于以下至少一项:测试工具的名称、测试工具的类型、测试工具的运行参数、测试工具的调用信息。其中,测试工具的运行参数可以包括测试工具的输入参数和输出参数。
步骤203,基于目标测试工具的信息从预先封装的测试工具集合中查找到目标测试工具。
在本实施例中,基于步骤202中所获取到的目标测试工具的信息,电子设备可以从预先封装的测试工具集合中查找到目标测试工具。
封装,即隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读和修改的访问级别;将抽象得到的数据和行为(或功能)相结合,形成一个有机的整体,也就是将数据与操作数据的源代码进行有机的结合,形成“类”,其中数据和函数都是类的成员。这里,采用封装技术,可以隐藏测试工具集合中的各个测试工具的属性和实现细节。从而很方便地实现对测试工具集合中的测试工具的升级和扩展。例如,若测试工具集合中需要增加新的测试工具时,只需要将新的测试工具封装到测试工具集合中即可。若测试工具集合中需要升级已有的测试工具,只需要将升级后的测试工具封装到测试工具集合中,删除升级前的测试工具即可。若电子设备正在利用升级前的测试工具执行测试任务,则在删除升级前的测试工具的同时将测试任务切换到升级后的测试工具进行执行即可。
在本实施例的一些可选的实现方式中,电子设备可以首先接收第二客户端发送的测试工具集合;然后,对测试工具集合中的各个测试工具进行封装,生成测试工具执行接口;最后,基于目标测试工具的信息,通过测试工具执行接口调用目标测试工具。这里,测试工具集合中的各个测试工具可以是按照预设的规则生成的。在接收到测试工具集合之后,电子设备可以首先基于各个测试工具生成与各个测试工具相对应的测试工具类;然后,对测试工具类进行封装,并对外提供一个公共接口(即测试工具执行接口);最后,基于目标测试工具的信息,通过测试执行接口即可调用目标测试工具,从而实现对待测试服务器进行远程测试。
在本实施的一些可选的实现方式中,电子设备中可以首先获取测试工具集合中的各个测试工具的信息;然后,将各个测试工具的信息存储在本地或者数据库服务器中。这样,电子设备可以将目标测试工具的信息与预先存储的各个测试工具的信息进行匹配,并将匹配成功的测试工具的信息所指示的测试工具作为目标测试工具。
在本实施例的一些可选的实现方式中,对于测试工具集合中的每个测试工具,电子设备可以利用反射技术获取测试工具的信息,并将测试工具的信息发送至数据库服务器,以使数据库服务器对测试工具的信息进行存储。
需要说明的是,预先封装的测试工具集合中既可以包括对Windows服务器进行测试的测试工具,又可以包括对Linux服务器进行测试的测试工具。本实施例对测试工具集合中的具体测试工具不进行限定。
步骤204,利用目标测试工具执行测试脚本对与目标测试工具相对应的待测试服务器进行远程测试。
在本实施例中,基于步骤203中所查找到的目标测试工具,电子设备可以首先获取与目标测试工具相对应的测试脚本;然后利用目标测试工具执行所获取到的测试脚本,以实现对待测试服务器(例如图1所示的待测试服务器103、104)进行测试。作为示例,基于测试脚本的执行,电子设备可以周期性地向待测试服务器发送CPU占用率获取请求,待测试服务器在接收到CPU占用率获取请求之后,可以向电子设备返回其CPU占用率数据。
在本实施例中,测试脚本一般指的是特定测试的一系列指令,这些指令可以被自动化测试工具执行。为了提高测试脚本的可维护性和可复用性,必须在执行测试脚本之前对其进行构建。测试脚本是自动执行测试过程(或部分测试过程)的计算机可读指令。测试脚本可以被创建(记录)或使用自动化测试工具自动生成,或用编程语言编程来完成,也可综合前三种方法来完成。在这里,测试脚本可以是根据不同测试任务而创建出来的,其中,不同的测试工具可以对应不同的测试任务,因此,不同的测试工具就对应不同的测试脚本。
在本实施例的一些可选的实现方式中,电子设备可以在接收第二客户端发送的测试工具集合的同时,接收第二客户端发送的与测试工具集合中的每个测试工具相对应的测试脚本;然后将与测试工具集合中的每个测试工具相对应的测试脚本存储在本地或者数据库服务器中。
步骤205,生成测试结果,并将测试结果发送至第一客户端。
在本实施例中,基于测试脚本的执行,电子设备可以生成测试结果,并通过有线连接或者无线连接的方式将测试结果发送至第一客户端。其中,测试结果可以用于表征待测试服务器的性能、运行状态等信息。
继续参见图3,图3是根据本申请实施例的测试方法的一个应用场景的示意图。在图3的应用场景中,首先,测试工程师可以使用第一客户端301向测试服务器302发送测试请求304,其中,测试请求304可以包括目标测试工具的类型3041;之后,测试服务器302可以基于目标测试工具的类型3041,利用反射技术获取目标测试工具的信息;而后,测试服务器302可以基于目标测试工具的信息从预先封装的测试工具集合中查找到目标测试工具;然后,测试服务器302可以利用目标测试工具执行与目标测试工具相对应的测试脚本对待测试服务器303进行远程测试;最后,测试服务器302可以生成测试结果305,并将测试结果305发送至第一客户端301。
本申请实施例提供的测试方法,首先基于从第一客户端接收到的测试请求中的目标测试工具的类型,利用反射技术获取目标测试工具的信息;之后,基于目标测试工具的信息从预先封装的测试工具集合中查找到目标测试工具;然后,利用目标测试工具执行与目标测试工具相对应的测试脚本对待测试服务器进行远程测试;最后,生成测试结果,并发送至第一客户端。通过将对Windows服务器进行测试的测试工具、对Linux服务器进行测试的测试工具等进行预先封装,不论系统中的待测试服务器是Windows服务器还是Linux服务器,只需要从预先封装的测试工具集合中查找到相应的测试工具即可实现对待测试服务器的测试,从而提高了测试的效率。
进一步参考图4,其示出了测试方法的又一个实施例的流程400。该测试方法的流程400,包括以下步骤:
步骤401,接收第一客户端发送的测试请求。
在本实施例中,测试方法运行于其上的电子设备(例如图1所示的测试服务器102)可以通过有线连接方式或者无线连接方式从第一客户端(例如图1所示的终端设备101)获取测试请求。其中,测试请求可以包括目标测试工具的类型。
步骤402,基于目标测试工具的类型,利用反射技术获取目标测试工具的信息。
在本实施例中,基于步骤401中所获取到的目标测试工具的类型,电子设备可以利用反射技术获取目标测试工具的信息。这里,目标测试工具的信息可以包括但不限于以下至少一项:目标测试工具的名称、目标测试工具的类型、目标测试工具的运行参数、目标测试工具的调用信息。其中,目标测试工具的运行参数可以包括目标测试工具的输入参数和输出参数等。
步骤403,基于目标测试工具的信息从预先封装的测试工具集合中查找到目标测试工具。
在本实施例中,基于步骤402中所获取到的目标测试工具的信息,电子设备可以从预先封装的测试工具集合中查找到目标测试工具。
步骤404,基于测试脚本的执行,创建出至少一个发送线程。
在本实施例中,在目标测试工具执行与目标测试工具相对应的测试脚本的过程中,电子设备可以利用目标测试工具创建出至少一个发送线程。其中,至少一个发送线程中的每个发送线程可以用于模仿大量的客户端不断地向待测试服务器发送请求数据。作为示例,若待测试服务器是web(网络)服务器,至少一个发送线程中的每个发送线程可以用于模仿大量的客户端不断地向待测试服务器发送HTTP(Hyper Text Transfer Protocol,超文本传输协议)请求数据。
步骤405,利用至少一个发送线程中的每个发送线程不断地向待测试服务器发送请求数据。
在本实施例中,电子设备可以利用至少一个发送线程中的每个发送线程模仿大量的客户端不断地向待测试服务器发送请求数据。作为示例,若待测试服务器是web服务器,电子设备可以利用至少一个发送线程中的每个发送线程模仿大量的客户端不断地向待测试服务器发送HTTP请求数据,其中,HTTP请求数据中可以包括网址。
步骤406,接收待测试服务器返回的与请求数据相对应的响应数据。
在本实施例中,当待测试服务器接收到电子设备发送的大量的请求数据之后,会向电子设备反馈与请求数据相对应的响应数据。作为示例,若待测试服务器是web服务器,若请求数据是HTTP请求数据,则待测试服务器所反馈的响应数据可以是HTTP请求数据中的网址所指示的网页。
步骤407,基于测试脚本的执行,创建出分析线程。
在本实施例中,在目标测试工具执行与目标测试工具相对应的测试脚本的过程中,电子设备可以利用目标测试工具创建出分析线程。其中,分析线程可以用于对接收到的响应数据进行分析来生成测试结果。
在本实施例中的一些可选的实现方式中,电子设备利用目标测试工具所创建的分析线程可以与至少一个发送线程独立。这样,电子设备在利用分析线程对响应数据进行分析的过程中不会影响至少一个发送线程继续向待测试服务器发送请求数据。
步骤408,利用分析线程对响应数据进行分析,得到与响应数据相对应的测试结果。
在本实施例中,电子设备可以利用分析线程对接收到的响应数据进行分析,得到测试结果。其中,测试结果可以用于表征待测试服务器的性能、运行状态等信息。作为示例,若待测试服务器是web服务器,若请求数据是HTTP请求数据,若响应数据是请求数据中的网址所指示的网页,则电子设备可以根据待测试服务器的响应时间以及TPS(TransactionPerSecond,每秒事务处理量)来得到待测试服务器的性能。这里,事务即请求数据,待测试服务器的响应时间越短、TPS的值越大,则表示待测试服务器的性能越好。
从图4中可以看出,与图2对应的实施例相比,本实施例中的测试方法的流程400突出了基于发送线程和分析线程得到测试结果的步骤。由此,本实施例描述的方案通过创建多个发送线程来发送请求数据和创建分析线程来分析响应数据,从而更进一步地提高了测试效率。
进一步参考图5,作为对上述各图所示方法的实现,本申请提供了一种测试装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图5所示,本实施例所示的测试装置500可以包括:测试请求接收单元501、目标测试工具信息获取单元502、目标测试工具查找单元503、测试脚本执行单元504和测试结果生成单元505。其中,测试请求接收单元501,配置用于接收第一客户端发送的测试请求,其中,测试请求包括目标测试工具的类型;目标测试工具信息获取单元502,配置用于基于目标测试工具的类型,利用反射技术获取目标测试工具的信息;目标测试工具查找单元503,配置用于基于目标测试工具的信息从预先封装的测试工具集合中查找到目标测试工具;测试脚本执行单元504,配置用于利用目标测试工具执行与目标测试工具相对应的测试脚本对待测试服务器进行远程测试;测试结果生成单元505,配置用于生成测试结果,并将测试结果发送至第一客户端。
在本实施例中,测试装置500中:测试请求接收单元501、目标测试工具信息获取单元502、目标测试工具查找单元503、测试脚本执行单元504和测试结果生成单元505的具体处理及其所带来的技术效果可分别参考图2对应实施例中的步骤201、步骤202、步骤203、步骤204和步骤205的相关说明,在此不再赘述。
在本实施例的一些可选的实现方式中,测试装置500还可以包括:测试工具集合接收单元(图中未示出),配置用于接收第二客户端发送的测试工具集合;测试工具执行接口生成单元(图中未示出),配置用于对测试工具集合中的各个测试工具进行封装,生成测试工具执行接口。
在本实施例的一些可选的实现方式中,目标测试工具查找单元503进一步配置用于:基于目标测试工具的信息,通过测试工具执行接口调用目标测试工具。
在本实施例的一些可选的实现方式中,测试脚本执行单元504可以包括:发送线程创建子单元(图中未示出),配置用于基于测试脚本的执行,创建出至少一个发送线程;请求数据发送子单元(图中未示出),配置用于利用至少一个发送线程中的每个发送线程不断地向待测试服务器发送请求数据;响应数据接收子单元(图中未示出),配置用于接收待测试服务器返回的与请求数据相对应的响应数据。
在本实施例的一些可选的实现方式中,测试结果生成单元505可以包括:分析线程创建子单元(图中未示出),配置用于基于测试脚本的执行,创建出分析线程;测试结果生成子单元(图中未示出),配置用于利用分析线程对响应数据进行分析,得到与响应数据相对应的测试结果。
在本实施例的一些可选的实现方式中,测试装置500还可以包括:测试工具信息获取单元(图中未示出),配置用于对于测试工具集合中的每个测试工具,利用反射技术获取测试工具的信息,并将测试工具的信息发送至数据库服务器,以使数据库服务器对测试工具的信息进行存储。
在本实施例的一些可选的实现方式中,测试工具的信息可以包括但不限于以下至少一项:测试工具的名称、测试工具的类型、测试工具的运行参数、测试工具的调用信息。
下面参考图6,其示出了适于用来实现本申请实施例的电子设备的计算机系统600的结构示意图。图6示出的电子设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图6所示,计算机系统600包括中央处理单元(CPU)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM 603中,还存储有系统600操作所需的各种程序和数据。CPU 601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
以下部件连接至I/O接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被中央处理单元(CPU)601执行时,执行本申请的方法中限定的上述功能。
需要说明的是,本申请上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括测试请求接收单元、目标测试工具信息获取单元、目标测试工具查找单元、测试脚本执行单元和测试结果生成单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,测试请求接收单元还可以被描述为“接收第一客户端发送的测试请求的单元”。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:接收第一客户端发送的测试请求,其中,测试请求包括目标测试工具的类型;基于目标测试工具的类型,利用反射技术获取目标测试工具的信息;基于目标测试工具的信息从预先封装的测试工具集合中查找到目标测试工具;利用目标测试工具执行与目标测试工具相对应的测试脚本对待测试服务器进行远程测试;生成测试结果,并将测试结果发送至第一客户端。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

Claims (10)

1.一种测试方法,其特征在于,所述方法包括:
接收第一客户端发送的测试请求,其中,所述测试请求包括目标测试工具的类型;
基于所述目标测试工具的类型,利用反射技术获取所述目标测试工具的信息;
基于所述目标测试工具的信息从预先封装的测试工具集合中查找到所述目标测试工具;
利用所述目标测试工具执行与所述目标测试工具相对应的测试脚本对待测试服务器进行远程测试;
生成测试结果,并将所述测试结果发送至所述第一客户端。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收第二客户端发送的测试工具集合;
对所述测试工具集合中的各个测试工具进行封装,生成测试工具执行接口。
3.根据权利要求2所述的方法,其特征在于,所述基于所述目标测试工具的信息从预先封装的测试工具集合中查找到所述目标测试工具,包括:
基于所述目标测试工具的信息,通过所述测试工具执行接口调用所述目标测试工具。
4.根据权利要求1-3之一所述的方法,其特征在于,所述利用所述目标测试工具执行所述测试脚本对待测试服务器进行远程测试,包括:
基于所述测试脚本的执行,创建出至少一个发送线程;
利用所述至少一个发送线程中的每个发送线程不断地向待测试服务器发送请求数据;
接收所述待测试服务器返回的与所述请求数据相对应的响应数据。
5.根据权利要求4所述的方法,其特征在于,所述生成测试结果,包括:
基于所述测试脚本的执行,创建出分析线程;
利用所述分析线程对所述响应数据进行分析,得到与所述响应数据相对应的测试结果。
6.根据权利要求2所述的方法,其特征在于,所述方法还包括:
对于所述测试工具集合中的每个测试工具,利用反射技术获取所述测试工具的信息,并将所述测试工具的信息发送至数据库服务器,以使所述数据库服务器对所述测试工具的信息进行存储。
7.根据权利要求6所述的方法,其特征在于,所述测试工具的信息包括以下至少一项:所述测试工具的名称、所述测试工具的类型、所述测试工具的运行参数、所述测试工具的调用信息。
8.一种测试装置,其特征在于,所述装置包括:
测试请求接收单元,配置用于接收第一客户端发送的测试请求,其中,所述测试请求包括目标测试工具的类型;
目标测试工具信息获取单元,配置用于基于所述目标测试工具的类型,利用反射技术获取所述目标测试工具的信息;
目标测试工具查找单元,配置用于基于所述目标测试工具的信息从预先封装的测试工具集合中查找到所述目标测试工具;
测试脚本执行单元,配置用于利用所述目标测试工具执行与所述目标测试工具相对应的测试脚本对待测试服务器进行远程测试;
测试结果生成单元,配置用于生成测试结果,并将所述测试结果发送至所述第一客户端。
9.一种服务器,其特征在于,所述电子设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-7中任一所述的方法。
CN201710350482.7A 2017-05-18 2017-05-18 测试方法和装置 Pending CN108958992A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710350482.7A CN108958992A (zh) 2017-05-18 2017-05-18 测试方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710350482.7A CN108958992A (zh) 2017-05-18 2017-05-18 测试方法和装置

Publications (1)

Publication Number Publication Date
CN108958992A true CN108958992A (zh) 2018-12-07

Family

ID=64461741

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710350482.7A Pending CN108958992A (zh) 2017-05-18 2017-05-18 测试方法和装置

Country Status (1)

Country Link
CN (1) CN108958992A (zh)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109766266A (zh) * 2018-12-15 2019-05-17 深圳壹账通智能科技有限公司 测试工具选择方法、装置、计算机装置及可读存储介质
CN109828892A (zh) * 2018-12-17 2019-05-31 深圳壹账通智能科技有限公司 异步接口的性能测试方法、装置、计算机设备和存储介质
CN110855520A (zh) * 2019-11-11 2020-02-28 苏州科达科技股份有限公司 网络性能的测试方法和测试装置、电子设备及存储介质
CN111221727A (zh) * 2019-12-30 2020-06-02 瑞庭网络技术(上海)有限公司 测试方法、装置、电子设备和计算机可读介质
CN111352836A (zh) * 2020-02-25 2020-06-30 香港乐蜜有限公司 一种压力测试方法及相关装置
CN111431759A (zh) * 2020-02-27 2020-07-17 北京达佳互联信息技术有限公司 一种性能测试方法、装置、电子设备及存储介质
CN112306858A (zh) * 2020-05-21 2021-02-02 北京字节跳动网络技术有限公司 测试方法、装置和电子设备
CN113220592A (zh) * 2021-06-04 2021-08-06 中国农业银行股份有限公司 自动化测试资源的处理方法、装置、服务器及存储介质
CN113377664A (zh) * 2021-06-25 2021-09-10 上海商汤科技开发有限公司 模型测试方法及装置、电子设备和存储介质
CN113722229A (zh) * 2021-09-06 2021-11-30 挂号网(杭州)科技有限公司 软件测试方法、装置、电子设备和存储介质
CN115980554A (zh) * 2023-02-17 2023-04-18 苏州天准科技股份有限公司 一种芯片测试的方法及其电子设备
CN113220592B (zh) * 2021-06-04 2024-04-30 中国农业银行股份有限公司 自动化测试资源的处理方法、装置、服务器及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103970614A (zh) * 2013-01-24 2014-08-06 腾讯科技(深圳)有限公司 一种业务测试方法及装置
CN104461898A (zh) * 2014-12-19 2015-03-25 北京奇虎科技有限公司 应用测试的方法、中控服务器、测试终端及系统
CN105843600A (zh) * 2016-02-29 2016-08-10 乐视体育文化产业发展(北京)有限公司 数据编辑方法、装置及系统
CN106407054A (zh) * 2016-08-30 2017-02-15 浪潮(北京)电子信息产业有限公司 一种bmc自动测试系统及方法
US20170046238A1 (en) * 2012-11-15 2017-02-16 Microsoft Technology Licensing, Llc Automatic determination of device specific interoperability

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170046238A1 (en) * 2012-11-15 2017-02-16 Microsoft Technology Licensing, Llc Automatic determination of device specific interoperability
CN103970614A (zh) * 2013-01-24 2014-08-06 腾讯科技(深圳)有限公司 一种业务测试方法及装置
CN104461898A (zh) * 2014-12-19 2015-03-25 北京奇虎科技有限公司 应用测试的方法、中控服务器、测试终端及系统
CN105843600A (zh) * 2016-02-29 2016-08-10 乐视体育文化产业发展(北京)有限公司 数据编辑方法、装置及系统
CN106407054A (zh) * 2016-08-30 2017-02-15 浪潮(北京)电子信息产业有限公司 一种bmc自动测试系统及方法

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109766266A (zh) * 2018-12-15 2019-05-17 深圳壹账通智能科技有限公司 测试工具选择方法、装置、计算机装置及可读存储介质
CN109828892B (zh) * 2018-12-17 2023-02-28 深圳壹账通智能科技有限公司 异步接口的性能测试方法、装置、计算机设备和存储介质
CN109828892A (zh) * 2018-12-17 2019-05-31 深圳壹账通智能科技有限公司 异步接口的性能测试方法、装置、计算机设备和存储介质
CN110855520A (zh) * 2019-11-11 2020-02-28 苏州科达科技股份有限公司 网络性能的测试方法和测试装置、电子设备及存储介质
CN111221727A (zh) * 2019-12-30 2020-06-02 瑞庭网络技术(上海)有限公司 测试方法、装置、电子设备和计算机可读介质
CN111221727B (zh) * 2019-12-30 2024-03-08 瑞庭网络技术(上海)有限公司 测试方法、装置、电子设备和计算机可读介质
CN111352836A (zh) * 2020-02-25 2020-06-30 香港乐蜜有限公司 一种压力测试方法及相关装置
CN111431759A (zh) * 2020-02-27 2020-07-17 北京达佳互联信息技术有限公司 一种性能测试方法、装置、电子设备及存储介质
CN112306858A (zh) * 2020-05-21 2021-02-02 北京字节跳动网络技术有限公司 测试方法、装置和电子设备
CN113220592A (zh) * 2021-06-04 2021-08-06 中国农业银行股份有限公司 自动化测试资源的处理方法、装置、服务器及存储介质
CN113220592B (zh) * 2021-06-04 2024-04-30 中国农业银行股份有限公司 自动化测试资源的处理方法、装置、服务器及存储介质
CN113377664A (zh) * 2021-06-25 2021-09-10 上海商汤科技开发有限公司 模型测试方法及装置、电子设备和存储介质
CN113722229A (zh) * 2021-09-06 2021-11-30 挂号网(杭州)科技有限公司 软件测试方法、装置、电子设备和存储介质
CN115980554A (zh) * 2023-02-17 2023-04-18 苏州天准科技股份有限公司 一种芯片测试的方法及其电子设备
CN115980554B (zh) * 2023-02-17 2024-02-09 苏州天准科技股份有限公司 一种芯片测试的方法及其电子设备

Similar Documents

Publication Publication Date Title
CN108958992A (zh) 测试方法和装置
CN108459953A (zh) 测试方法和装置
US8918760B2 (en) Test script generation for application image validation
CN109240662A (zh) 一种基于云平台的软件开发方法、云平台、设备及介质
CN109446099A (zh) 自动化测试用例生成方法、装置、介质及电子设备
CN108932194A (zh) 自动化测试方法、装置、系统、介质及电子设备
US8972942B2 (en) Unit testing an Enterprise Javabeans (EJB) bean class
CN110347587A (zh) App兼容性测试方法、装置、计算机设备及存储介质
CN105630684B (zh) 软件开发工具包识别方法和装置
CN109815105A (zh) 基于Btrace的应用程序测试方法和装置
CN109739526A (zh) 代码更新方法和装置
CN110865889A (zh) 组件间传递事件的方法和装置
CN109684188A (zh) 测试方法和装置
CN109558323A (zh) 用于调试页面的系统、方法和装置
CN107797820A (zh) 用于生成补丁的方法和装置
CN109032620A (zh) 应用程序的配置文件生成方法和装置
CN109582317A (zh) 用于调试寄宿应用的方法和装置
CN109992494A (zh) 一种自动化测试执行方法和装置
CN113535567B (zh) 软件测试方法、装置、设备和介质
CN109992496A (zh) 一种用于自动化测试的数据处理方法和装置
CN109818994A (zh) 用于代理端的信息处理方法和装置
CN109656799A (zh) 测试方法和装置
CN112988588B (zh) 客户端软件调试方法、装置、存储介质及电子设备
CN103955425A (zh) 网页web探索测试装置及方法
CN113220561A (zh) 一种测试用例管理方法、装置、设备及介质

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