CN110334015A - 一种白盒测试方法、装置、设备及介质 - Google Patents
一种白盒测试方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN110334015A CN110334015A CN201910508948.0A CN201910508948A CN110334015A CN 110334015 A CN110334015 A CN 110334015A CN 201910508948 A CN201910508948 A CN 201910508948A CN 110334015 A CN110334015 A CN 110334015A
- Authority
- CN
- China
- Prior art keywords
- test
- control code
- actuator
- testing
- 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.)
- Granted
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 431
- 230000006854 communication Effects 0.000 claims abstract description 72
- 238000004891 communication Methods 0.000 claims abstract description 71
- 238000004458 analytical method Methods 0.000 claims abstract description 35
- 238000000034 method Methods 0.000 claims abstract description 31
- 238000012545 processing Methods 0.000 claims abstract description 24
- 238000009877 rendering Methods 0.000 claims abstract description 23
- 230000006870 function Effects 0.000 claims description 15
- 230000015654 memory Effects 0.000 claims description 15
- 238000012544 monitoring process Methods 0.000 claims description 12
- 230000008569 process Effects 0.000 claims description 10
- 238000011990 functional testing Methods 0.000 claims description 6
- 238000011056 performance test Methods 0.000 claims description 6
- 230000004044 response Effects 0.000 claims description 6
- 230000003993 interaction Effects 0.000 claims description 4
- 238000012856 packing Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 15
- 230000003068 static effect Effects 0.000 description 11
- 230000008901 benefit Effects 0.000 description 5
- 238000007405 data analysis Methods 0.000 description 4
- 235000000332 black box Nutrition 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000010200 validation analysis Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000005314 correlation function Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013497 data interchange Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种白盒测试方法、装置、设备及介质,所述方法包括基于预设的通信协议建立与测试服务器的通信连接;启动测试对象和与所述测试对象交互的测试任务执行器;所述测试任务执行器基于所述通信连接获取控制码,根据所述控制码打开所述控制码对应的测试接口,以便于所述测试接口通过所述控制码对应的测试逻辑,捕捉测试对象实时产生的测试数据;由所述测试任务执行器将所述测试数据发送至测试服务器,以便于所述测试服务器将所述测试数据进行处理分析后,渲染分析结果。本发明构建了一种适用于测试人员的测试框架,具体的测试逻辑和控制码可以由测试人员根据实际需求进行定义,渲染内容也可以进行自适应定义,从而实现了白盒测试。
Description
技术领域
本发明涉及测试领域,尤其涉及一种白盒测试方法、装置、设备及介质。
背景技术
现有技术中的测试方案以黑盒测试和配置层面的静态工具测试较为成熟。黑盒测试不够精准,效率也比较低。配置层面的静态工具的工作原理请参考图1,其示出了配置层静态工具的工作原理示意图,其工作原理为根据目标功能构建分析脚本,由分析脚本关联配置和数据表,通过静态分析配置中的数据将分析结果写入其对应的数据表,所述数据表均存储于数据库之中,通过展示对数据库的查询结果得到测试结果。然而,静态工具存在固有缺陷:
首先,配置的功能是由程序代码实现的,即使配置内容是对的,也无法必然说明目标功能实现是正确的,所以其无法验证代码层面的功能;
第二,其只适用于静态测试,当代码被运行,目标功能在运转时,静态工具无法进行测试,也因此无法显示目标功能正在被执行时的测试效果。
可见,现有技术中不论是黑盒测试还是静态工具测试都有其明显的局限性,难以满足测试的实际需求。
发明内容
为了解决现有技术中测试效率低,无法测试运行的测试对象中的代码的技术问题,本发明实施例提供一种白盒测试方法、装置、设备及介质。
一方面,本发明提供了一种白盒测试方法,所述方法包括:
基于预设的通信协议建立与测试服务器的通信连接;
启动测试对象和与所述测试对象交互的测试任务执行器;
所述测试任务执行器基于所述通信连接获取控制码,根据所述控制码打开所述控制码对应的测试接口,以便于所述测试接口通过所述控制码对应的测试逻辑,捕捉测试对象实时产生的测试数据;
由所述测试任务执行器将所述测试数据发送至测试服务器,以便于所述测试服务器将所述测试数据进行处理分析后,渲染分析结果。
另一方面,本发明提供了一种白盒测试方法,所述方法包括:
基于预设的通信协议建立与执行客户端的通信连接;
响应于控制指令获取控制码,将所述控制码发送至执行客户端,以便于所述执行客户端在启动测试对象和与所述测试对象交互的测试任务执行器后,由所述测试任务执行器根据所述控制码打开所述控制码对应的测试接口,以便于所述测试接口通过所述控制码对应的测试逻辑,捕捉测试对象实时产生的测试数据;
获取所述测试数据;
对所述测试数据进行处理分析后,渲染分析结果。
另一方面,本发明提供了一种白盒测试装置,所述装置包括:
第一通信连接建立模块,用于基于预设的通信协议建立与测试服务器的通信连接;
启动模块,用于启动测试对象和与所述测试对象交互的测试任务执行器;
测试任务执行模块,用于所述测试任务执行器基于所述通信连接获取控制码,根据所述控制码打开所述控制码对应的测试接口,以便于所述测试接口通过所述控制码对应的测试逻辑,捕捉测试对象实时产生的测试数据;
测试数据发布模块,用于由所述测试任务执行器将所述测试数据发送至测试服务器,以便于所述测试服务器将所述测试数据进行处理分析后,渲染分析结果。
另一方面,本发明提供了一种白盒测试装置,所述装置包括:
第二通信连接建立模块,用于基于预设的通信协议建立与执行客户端的通信连接;
控制模块,用于响应于控制指令获取控制码,将所述控制码发送至执行客户端,以便于所述执行客户端在启动测试对象和与所述测试对象交互的测试任务执行器后,由所述测试任务执行器根据所述控制码打开所述控制码对应的测试接口,以便于所述测试接口通过所述控制码对应的测试逻辑,捕捉测试对象实时产生的测试数据;
测试数据获取模块,用于获取所述测试数据;
测试数据渲染模块,用于对所述测试数据进行处理分析后,渲染分析结果。
另一方面,本发明提供了一种设备,其特征在于,所述设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现一种白盒测试方法。
另一方面,本发明提供了一种计算机存储介质,其特征在于,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行一种白盒测试方法。
本发明提供了一种白盒测试方法、装置、设备及介质。本发明通过在测试服务器端设计测试任务控制器,在执行客户端设计测试任务执行器,构建了一种适用于测试人员的测试框架,并提供了基于所述测试框架的测试方案,具体的测试逻辑和控制码可以由测试人员根据实际需求进行定义,渲染内容也可以进行自适应定义,从而实现了白盒化的数据测试,只要是测试需要的数据都可以通过这种方案将数据实时显示到测试任务控制器的界面上,不再局限于传统的黑盒层面的测试。
通过这种测试框架测试人员既可以通过图形用户界面发送控制命令,使得执行客户端实施运行测试人员自定义功能,获取测试数据。又可以将获得的测试数据实时显示在图形用户界面之中。简单易用,测试效率高,有利于降低测试人员的测试压力。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案和优点,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
图1是本发明背景技术提供的配置层面的静态工具的工作原理示意图;
图2是本发明提供的实施环境图;
图3是本发明提供的一种白盒测试方法流程图;
图4是本发明提供的基于adb forward的通信连接实现流程图;
图5是本发明提供的通信连接示意图;
图6是本发明提供的游戏场景中所述测试任务执行器的内部逻辑示意图;
图7是本发明提供的本发明实施例中运行于测试服务器中测试任务控制器与运行与执行客户端中的测试任务执行器之间的交互关系示意图;
图8是本发明提供的一种白盒测试方法流程图;
图9是本发明提供的测试服务器端中测试任务控制器示意图;
图10是本发明提供的测试任务控制器的逻辑图;
图11是本发明提供的基于本发明实施例提供的白盒测试方法进行测试的逻辑示意图;
图12是本发明提供的一种白盒测试装置框图;
图13是本发明提供的一种白盒测试装置框图;
图14是本发明提供的一种用于实现本发明实施例所提供的方法的设备的硬件结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或服务器不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为了使本发明实施例公开的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明实施例进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本发明实施例,并不用于限定本发明实施例。
现有技术中较为成熟的黑盒测试和静态工具测试都有其共同的局限性,其都无法对于正在运行的程序进行高效率的测试,也无法实时显示测试结果。而为了弥补这一缺陷,本发明实施例设计了白盒测试方案,旨在能够实现对正在运行的程序进行实时的白盒测试,并且实时显示测试结果,达到优化测试效果,提升用户粘度的目的。
为了达到上述技术效果,本发明实施例提供了一种白盒测试方法,首先,本发明实施例给出其实施环境。
参见图2,该实施环境包括:测试服务器01,基础数据库02和执行客户端03,所述测试服务器01与所述基础数据库02通信连接,以便于基于基础数据库02存储的数据向外提供各种服务。基础数据库02可以内置或外置于测试服务器01。
所述执行客户端03可以基于浏览器/服务器模式(Browser/Server,B/S)或客户端/服务器模式(Client/Server,C/S)与测试服务器01进行通信。所述执行客户端03可以包括:智能手机、平板电脑、笔记本电脑、数字助理、智能可穿戴设备、车载终端等类型的实体设备,也可以包括运行于实体设备中的软体,例如应用程序等。比如,所述客户端03可以运行游戏类软体。
所述测试服务器01用于与各个执行客户端03进行交互,收集各个执行客户端03在执行某项功能时产生的测试数据,并基于收集到的数据展示对于执行客户端03的测试结果;执行客户端03能够接收测试服务器01发布的测试指令,根据测试指令收集其在执行某项功能时产生的某个测试数据,以便于测试服务器01基于所述测试数据进行后处理。测试服务器01可以包括一个独立运行的服务器,或者分布式服务器,或者由多个服务器组成的服务器集群,所述测试服务器01可以基于Windows、Linux或UNIX***构建。
Windows操作***是最常见的计算机操作***,是微软公司开发的操作软件。Windows操作***具有人机操作互动性好,支持应用软件多,硬件适配性强等特点,未来该***将更加安全、智能、易用。UNIX操作***,是一个强大的多用户、多任务操作***,支持多种处理器架构,按照操作***的分类,属于分时操作***。Linux是一套***和自由传播的类UNIX操作***,是一个基于UNIX的多用户、多任务、支持多线程和多处理器架构的操作***。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了UNIX以网络为核心的设计思想,是一个性能稳定的多用户网络操作***。
本发明实施例提供一种白盒测试方法,所述方法以所述实施环境中的执行客户端为实施主体,如图3所示,包括:
S101.基于预设的通信协议建立与测试服务器的通信连接。
在一个可行的实施方式中,所述测试服务器可以为基于Windows操作***的桌面电脑,所述执行客户端为智能手机,所述通信协议可以基于adb forward构建,adb forward是一种可以实现桌面电脑与智能手机基于Socket协议进行通信的通信命令。Socket通常称作"套接字",用于描述网络地址和端口,是一个通信链的句柄,可以用来实现不同虚拟机或不同计算机之间的通信。在网络上的主机一般运行了多个服务软件,同时提供几种服务。每种服务都打开一个Socket,并绑定到一个端口上,不同的端口对应于不同的服务。
所述实施方式中,可以通过通用串行总线(Universal Serial Bus,USB)建立执行客户端与测试服务器的物理连接,并基于所述物理连接运行adb forward指令,从而实现执行客户端与测试服务器的通信连接。
所述实施方式中,以adb forward构建通信协议的目的在于,基于adb forward建立一个转发,将测试服务器中的数据转发至执行客户端,同理亦然。比如,adb forwardtcp:11111 tcp:22222的意思是,将测试服务器的11111端口收到的数据,转发给到执行客户端中22222端口。为了实现基于adb forward的通信连接,如图4所示,所述实施方式具体执行下述步骤:
S1011.执行基于adb forward的通信命令以创建用于监听第一目标连接端口的第一监听服务,所述通信命令还包括第二目标端口。
所述第一目标端口和所述第二目标端口分别为待建立通信连接的两个端口。
延续上述举例,所述通信命令可以为adb forward tcp:11111 tcp:22222。其中,第一目标端口为11111端口,第二目标端口为22222端口
S1013.基于所述第二目标端口建立第二监听服务。
S1015.基于所述第一监听服务和所述第二监听服务建立通信连接。
请参考图5,在实际的通信过程中,第一监听服务由adb创建,其与第二监听服务的数据交互可以基于通用串行总线(Universal Serial Bus,USB)建立执行客户端与测试服务器的物理连接来实现,从而实现了执行客户端与测试服务器的数据互通。
S103.启动测试对象和与所述测试对象交互的测试任务执行器。
在一个可行的实施方式中,所述测试任务执行器可以由独立于测试对象的线程执行,所述线程通过与测试对象进行数据交互来运行测试任务。
在另一个可行的实施方式中,所述测试任务执行器以链接库或软件开发工具包的形式与测试对象一并打包发布,当测试对象运行时,所述测试任务执行器也可以被一并启动。软件开发工具包(Software Development Kit,SDK)可以被理解为软件工程师为特定的软件包、软件框架、硬件平台、操作***等建立应用软件时的开发工具的集合。
在一个优选的实施例中,可以在执行客户端界面设置调试开关,通过所述调试开关控制测试任务执行器是否与所述测试对象一并启动。若所述调试开关被打开,则所述测试任务执行器与所述测试对象一并启动。若所述调试开关被关闭,则所述测试对象被单独启动。
S105.所述测试任务执行器基于所述通信连接获取控制码,根据所述控制码打开所述控制码对应的测试接口,以便于所述测试接口通过所述控制码对应的测试逻辑,捕捉测试对象实时产生的测试数据。
具体地,控制码为测试服务器与测试任务执行器共同定义的测试协议,控制码与测试逻辑一一对应,不同的测试逻辑使用不同的测试接口进行封装,从而降低各个测试逻辑之间的耦合度,便于后期测试逻辑的维护与更新。所述测试逻辑可以由测试人员在充分了解测试对象和测试目的的基础上进行设计,为其生成封装测试接口,并分配控制码,将更新后的测试协议和后添加到测试任务执行器中,从而实现白盒测试功能。
所述测试逻辑由测试人员自行定义,因此可以充分满足对于运行中的测试对象的白盒测试需求,比如,所述测试逻辑可以包括功能测试逻辑和性能测试逻辑,所述功能测试逻辑收集测试对象运行过程中产生的测试数据以便于测试服务器根据所述测试数据判断所述测试对象的相关功能是否正常,所述性能测试逻辑收集测试对象运行过程中产生的测试数据以便于测试服务器根据所述测试数据判断所述测试对象的运行性能是否正常,所述功能测试逻辑和性能测试逻辑可以被封装于相同或不同测试接口。
在一个具体的实施例中,所述测试任务执行器包括数据采集线程和测试线程,所述数据采集线程用于与测试对象的运行线程交互以获取测试对象运行过程中产生的测试数据,所述测试线程用于根据控制码执行测试逻辑,通过与所述数据采集交互获取测试数据。
请参考图6,其示出了游戏场景中所述测试任务执行器的内部逻辑示意图。所述数据采集线程与游戏业务逻辑直接交互,采集游戏业务逻辑运行的数据存储于数据队列之中,由数据发送线程发送至测试服务器,测试线程通过数据接收线程接收来自测试服务器的控制码。所述数据发送线程与所述数据接收线程均基于所述通信连接运行。
S107.由所述测试任务执行器将所述测试数据发送至测试服务器,以便于所述测试服务器将所述测试数据进行处理分析后,渲染分析结果。
所述测试服务器中可以运行有测试任务控制器,所述测试任务控制器通过所述通信连接与所述测试任务执行器进行数据交互,所述测试任务控制器受控于测试人员,发布测试码并进行测试结果的处理分析和可视化渲染。
请参考图7,其示出了本发明实施例中运行于测试服务器中测试任务控制器与运行与执行客户端中的测试任务执行器之间的交互关系示意图。如图7所示,测试任务控制器与测试任务执行器通过adb forward socket进行通信,测试任务执行器接收测试服务器发布的的控制码并执行白盒测试,同时将采集的测试数据传送给测试服务器。
本发明另一实施例公开了一种白盒测试方法,如图8所示,所述方法以所述实施环境中的测试服务器为执行主体,所述方法包括:
S201.基于预设的通信协议建立与执行客户端的通信连接。
S203.响应于控制指令获取控制码,将所述控制码发送至执行客户端,以便于所述执行客户端在启动测试对象和与所述测试对象交互的测试任务执行器后,由所述测试任务执行器根据所述控制码打开所述控制码对应的测试接口,以便于所述测试接口通过所述控制码对应的测试逻辑,捕捉测试对象实时产生的测试数据。
S205.获取所述测试数据。
S207.对所述测试数据进行处理分析后,渲染分析结果。
具体地,本发明实施例可以通过图形用户界面(Graphical User Interfac,GUI)的方式渲染分析结果。图形用户界面是一种人与计算机通信的界面显示格式,允许用户使用鼠标等输入设备操纵屏幕上的图标或菜单选项,以选择命令、调用文件、启动程序或执行其它一些日常任务。与通过键盘输入文本或字符命令来完成例行任务的字符界面相比,图形用户界面有许多优点。图形用户界面由窗口、下拉菜单、对话框及其相应的控制机制构成。
所述测试服务器端,可以为用户提供友善的界面,通过所述界面发布控制指令,显示分析结果。请参考图9,其示出了测试服务器端中测试任务控制器示意图,所述测试任务控制器上设置有启动和停止按钮,测试任务发布按钮,第一显示界面和第二显示界面,所述启动和停止按钮用于控制测试过程的启停,测试任务发布按钮用于发布各种测试码,第一显示界面用于显示测试数据,第二显示界面用于显示测试数据的分析结果。
具体地,所述测试任务控制器可以运行通信线程、数据分析线程、交互线程和渲染线程。所述通信线程用于与执行客户端进行数据通信,所述交互线程用于通过与用户交互控制测试过程,所述数据分析线程用于对测试数据进行分析,所述渲染线程用于显示测试数据和所述数据分析线程的分析结果。请参考图10,其示出了测试任务控制器的逻辑图,测试人员只需要通过操作测试任务控制器的界面生成需要发送的控制码,点击发送按钮就可以将控制码发送到执行客户端。接收数据接口将接收到的数据存入数据队列之后,由数据分析线程去进行处理和分析。渲染获取分析出来的数据进行实时的展示,提供白盒化的测试数据。
请参考图11,其示出了基于本发明实施例提供的白盒测试方法进行测试的逻辑示意图。首先通过数据线建立执行客户端与测试服务器的物理连接,通过将执行客户端设置为调试模式,建立执行客户端与测试服务器的通信连接。在测试服务器的测试任务控制器的显示界面点击启动按钮开始测试流程。通过所述通信连接所述启动按钮对应的控制码被发送至执行客户端,被执行客户端中运行的测试任务执行器捕捉,所述测试任务执行器开启所述控制码对应的测试逻辑,所述测试逻辑接收测试对象运行时产生的测试数据,将所述测试数据传输至测试服务器的测试任务控制器之中,由测试任务控制器对测试数据进行处理、分析和显示。
本发明实施例通过在测试服务器端设计测试任务控制器,在执行客户端设计测试任务执行器,构建了一种适用于测试人员的测试框架,并提供了基于所述测试框架的测试方案,具体的测试逻辑和控制码可以由测试人员根据实际需求进行定义,渲染内容也可以进行自适应定义。通过这种测试框架测试人员既可以通过图形用户界面发送控制命令,使得执行客户端实施运行测试人员自定义功能,获取测试数据。又可以将获得的测试数据实时显示在图形用户界面之中。简单易用,测试效率高,有利于降低测试人员的测试压力。进一步地,本发明实施例提供的测试方案还具备下述有益效果:
(1)实现了白盒化的数据测试,只要是测试需要的数据都可以通过这种方案将数据实时显示到测试任务控制器的界面上,不再局限于传统的黑盒层面的测试。
(2)可以按照测试人员的需求扩展测试功能。
(3)通过直接从游戏内存中获取测试数据,可以直接验证代码层的功能,解决了配置层的静态工具无法验证代码层功能的问题。
(4)实时显示测试数据,所以测试效率很高,且数据详细,所以测试结果也会很准确,不会存在误差,从而显著提高了测试效率和准确率。
本发明实施例还提供了一种白盒测试装置,如图12所示,所述装置包括:
第一通信连接建立模块301,用于基于预设的通信协议建立与测试服务器的通信连接;
启动模块303,用于启动测试对象和与所述测试对象交互的测试任务执行器;
测试任务执行模块305,用于所述测试任务执行器基于所述通信连接获取控制码,根据所述控制码打开所述控制码对应的测试接口,以便于所述测试接口通过所述控制码对应的测试逻辑,捕捉测试对象实时产生的测试数据;
测试数据发布模块307,用于由所述测试任务执行器将所述测试数据发送至测试服务器,以便于所述测试服务器将所述测试数据进行处理分析后,渲染分析结果。
具体地,本发明实施例所述一种白盒测试装置与方法实施例均基于相同发明构思。
本发明实施例还提供了一种白盒测试装置,如图13所示,所述装置包括:
第二通信连接建立模块401,用于基于预设的通信协议建立与执行客户端的通信连接;
控制模块403,用于响应于控制指令获取控制码,将所述控制码发送至执行客户端,以便于所述执行客户端在启动测试对象和与所述测试对象交互的测试任务执行器后,由所述测试任务执行器根据所述控制码打开所述控制码对应的测试接口,以便于所述测试接口通过所述控制码对应的测试逻辑,捕捉测试对象实时产生的测试数据;
测试数据获取模块405,用于获取所述测试数据;
测试数据渲染模块407,用于对所述测试数据进行处理分析后,渲染分析结果。
具体地,本发明实施例所述一种白盒测试装置与方法实施例均基于相同发明构思。
本发明实施例还提供了一种计算机存储介质,所述计算机存储介质可以存储有多条指令,所述指令适于由处理器加载并执行本发明实施例所述的一种白盒测试方法的各种步骤,再此不再赘述。
进一步地,图14示出了一种用于实现本发明实施例所提供的方法的设备的硬件结构示意图,所述设备可以参与构成或包含本发明实施例所提供的装置。如图14所示,设备10可以包括一个或多个(图中采用102a、102b,……,102n来示出)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输装置106。除此以外,还可以包括:显示器、输入/输出接口(I/O接口)、通用串行总线(USB)端口(可以作为I/O接口的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图14所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,设备10还可包括比图14中所示更多或者更少的组件,或者具有与图14所示不同的配置。
应当注意到的是上述一个或多个处理器102和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到设备10(或移动设备)中的其他元件中的任意一个内。如本申请实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。
存储器104可用于存储应用软件的软件程序以及模块,如本发明实施例中所述的方法对应的程序指令/数据存储装置,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的一种白盒测试方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至设备10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括设备10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(NetworkInterfaceController,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(RadioFrequency,RF)模块,其用于通过无线方式与互联网进行通讯。
显示器可以例如触摸屏式的液晶显示器(LCD),该液晶显示器可使得用户能够与设备10(或移动设备)的用户界面进行交互。
需要说明的是:上述本发明实施例先后顺序仅仅为了描述,不代表实施例的优劣。且上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置和服务器实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种白盒测试方法,其特征在于,所述方法包括:
基于预设的通信协议建立与测试服务器的通信连接;
启动测试对象和与所述测试对象交互的测试任务执行器;
所述测试任务执行器基于所述通信连接获取控制码,根据所述控制码打开所述控制码对应的测试接口,以便于所述测试接口通过所述控制码对应的测试逻辑,捕捉测试对象实时产生的测试数据;
由所述测试任务执行器将所述测试数据发送至测试服务器,以便于所述测试服务器将所述测试数据进行处理分析后,渲染分析结果。
2.根据权利要求1所述的方法,其特征在于,所述基于预设的通信协议建立与测试服务器的通信连接,包括:
执行基于adb forward的通信命令以创建用于监听第一目标连接端口的第一监听服务,所述通信命令还包括第二目标端口;
基于所述第二目标端口建立第二监听服务;
基于所述第一监听服务和所述第二监听服务建立通信连接。
3.根据权利要求1所述的方法,其特征在于:
所述测试任务执行器由独立于测试对象的线程执行,所述线程通过与测试对象进行数据交互来运行测试任务;
或,
所述测试任务执行器以链接库或软件开发工具包的形式与测试对象一并打包发布,当测试对象运行时,所述测试任务执行器也被一并启动。
4.根据权利要求1所述的方法,其特征在于:
所述测试逻辑包括功能测试逻辑和性能测试逻辑,所述功能测试逻辑收集测试对象运行过程中产生的测试数据以便于测试服务器根据所述测试数据判断所述测试对象的相关功能是否正常,所述性能测试逻辑收集测试对象运行过程中产生的测试数据以便于测试服务器根据所述测试数据判断所述测试对象的运行性能是否正常;
所述功能测试逻辑和性能测试逻辑被封装于相同或不同测试接口。
5.一种白盒测试方法,其特征在于,所述方法包括:
基于预设的通信协议建立与执行客户端的通信连接;
响应于控制指令获取控制码,将所述控制码发送至执行客户端,以便于所述执行客户端在启动测试对象和与所述测试对象交互的测试任务执行器后,由所述测试任务执行器根据所述控制码打开所述控制码对应的测试接口,以便于所述测试接口通过所述控制码对应的测试逻辑,捕捉测试对象实时产生的测试数据;
获取所述测试数据;
对所述测试数据进行处理分析后,渲染分析结果。
6.一种白盒测试装置,其特征在于,所述装置包括:
第一通信连接建立模块,用于基于预设的通信协议建立与测试服务器的通信连接;
启动模块,用于启动测试对象和与所述测试对象交互的测试任务执行器;
测试任务执行模块,用于所述测试任务执行器基于所述通信连接获取控制码,根据所述控制码打开所述控制码对应的测试接口,以便于所述测试接口通过所述控制码对应的测试逻辑,捕捉测试对象实时产生的测试数据;
测试数据发布模块,用于由所述测试任务执行器将所述测试数据发送至测试服务器,以便于所述测试服务器将所述测试数据进行处理分析后,渲染分析结果。
7.根据权利要求6所述的装置,其特征在于,所述第一通信连接建立模块包括:
第一监听服务创建单元,用于执行基于adb forward的通信命令以创建用于监听第一目标连接端口的第一监听服务,所述通信命令还包括第二目标端口;
第二监听服务建立单元,用于基于所述第二目标端口建立第二监听服务;
连接单元,用于基于所述第一监听服务和所述第二监听服务建立通信连接。
8.一种白盒测试装置,其特征在于,所述装置包括:
第二通信连接建立模块,用于基于预设的通信协议建立与执行客户端的通信连接;
控制模块,用于响应于控制指令获取控制码,将所述控制码发送至执行客户端,以便于所述执行客户端在启动测试对象和与所述测试对象交互的测试任务执行器后,由所述测试任务执行器根据所述控制码打开所述控制码对应的测试接口,以便于所述测试接口通过所述控制码对应的测试逻辑,捕捉测试对象实时产生的测试数据;
测试数据获取模块,用于获取所述测试数据;
测试数据渲染模块,用于对所述测试数据进行处理分析后,渲染分析结果。
9.一种设备,其特征在于,所述设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求1-4任一项所述的一种白盒测试方法或权利要求5所述的一种白盒测试方法。
10.一种计算机存储介质,其特征在于,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行如权利要求1-4任一项所述的一种白盒测试方法或权利要求5所述的一种白盒测试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910508948.0A CN110334015B (zh) | 2019-06-13 | 2019-06-13 | 一种白盒测试方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910508948.0A CN110334015B (zh) | 2019-06-13 | 2019-06-13 | 一种白盒测试方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110334015A true CN110334015A (zh) | 2019-10-15 |
CN110334015B CN110334015B (zh) | 2024-02-13 |
Family
ID=68140435
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910508948.0A Active CN110334015B (zh) | 2019-06-13 | 2019-06-13 | 一种白盒测试方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110334015B (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090307763A1 (en) * | 2008-06-05 | 2009-12-10 | Fiberlink Communications Corporation | Automated Test Management System and Method |
US20130226810A1 (en) * | 2012-02-24 | 2013-08-29 | Wayne Moffett | System and method for certifying a will |
CN103973858A (zh) * | 2014-05-21 | 2014-08-06 | 重庆泰凯科技有限公司 | 移动终端的自动测试*** |
CN104978258A (zh) * | 2014-04-01 | 2015-10-14 | ***股份有限公司 | 软件自动化测试方法及*** |
CN106445817A (zh) * | 2016-09-09 | 2017-02-22 | 网易(杭州)网络有限公司 | 测试数据的处理方法、装置和*** |
US20170075790A1 (en) * | 2015-09-15 | 2017-03-16 | Linkedln Corporation | Integrating quality analysis with a code review tool |
US9600401B1 (en) * | 2016-01-29 | 2017-03-21 | International Business Machines Corporation | Automated GUI testing |
CN108345531A (zh) * | 2017-01-23 | 2018-07-31 | 阿里巴巴集团控股有限公司 | 一种测试方法、装置及*** |
CN108563579A (zh) * | 2018-04-23 | 2018-09-21 | 苏州科达科技股份有限公司 | 白盒测试方法、装置、***及存储介质 |
CN109101425A (zh) * | 2018-08-14 | 2018-12-28 | 阿里巴巴集团控股有限公司 | 一种动态化的页面ab测试的指标埋点方法和装置 |
CN109840206A (zh) * | 2018-12-26 | 2019-06-04 | 深圳壹账通智能科技有限公司 | 数据测试方法、装置、终端及存储介质 |
-
2019
- 2019-06-13 CN CN201910508948.0A patent/CN110334015B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090307763A1 (en) * | 2008-06-05 | 2009-12-10 | Fiberlink Communications Corporation | Automated Test Management System and Method |
US20130226810A1 (en) * | 2012-02-24 | 2013-08-29 | Wayne Moffett | System and method for certifying a will |
CN104978258A (zh) * | 2014-04-01 | 2015-10-14 | ***股份有限公司 | 软件自动化测试方法及*** |
CN103973858A (zh) * | 2014-05-21 | 2014-08-06 | 重庆泰凯科技有限公司 | 移动终端的自动测试*** |
US20170075790A1 (en) * | 2015-09-15 | 2017-03-16 | Linkedln Corporation | Integrating quality analysis with a code review tool |
US9600401B1 (en) * | 2016-01-29 | 2017-03-21 | International Business Machines Corporation | Automated GUI testing |
CN106445817A (zh) * | 2016-09-09 | 2017-02-22 | 网易(杭州)网络有限公司 | 测试数据的处理方法、装置和*** |
CN108345531A (zh) * | 2017-01-23 | 2018-07-31 | 阿里巴巴集团控股有限公司 | 一种测试方法、装置及*** |
CN108563579A (zh) * | 2018-04-23 | 2018-09-21 | 苏州科达科技股份有限公司 | 白盒测试方法、装置、***及存储介质 |
CN109101425A (zh) * | 2018-08-14 | 2018-12-28 | 阿里巴巴集团控股有限公司 | 一种动态化的页面ab测试的指标埋点方法和装置 |
CN109840206A (zh) * | 2018-12-26 | 2019-06-04 | 深圳壹账通智能科技有限公司 | 数据测试方法、装置、终端及存储介质 |
Non-Patent Citations (2)
Title |
---|
SADEEQ JAN等: "Automatic Generation of Tests to Exploit XML Injection Vulnerabilities in Web Applications", 《IEEE TRANSACTIONS ON SOFTWARE ENGINEERING》, pages 335 - 362 * |
张亚军等: "自动化白盒模糊测试技术研究", 《计算机科学》, pages 7 - 10 * |
Also Published As
Publication number | Publication date |
---|---|
CN110334015B (zh) | 2024-02-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108763086A (zh) | 基于远程真机的脚本录制方法、终端及计算机可读存储介质 | |
CN109634728A (zh) | 作业调度方法、装置、终端设备及可读存储介质 | |
CN105074671B (zh) | 用于在内核模块和设备驱动程序中检测并发编程错误的方法和*** | |
CN104391190B (zh) | 一种用于测量仪器的远程诊断***及诊断方法 | |
CN105004984A (zh) | 一种自动化芯片测试方法 | |
CN110162471A (zh) | 一种基于容器云的压力测试方法及*** | |
CN107463362A (zh) | 基于多个Jenkins的持续部署的方法和*** | |
CN108369502A (zh) | 作为部署的一部分的动态/按需打包 | |
CN110524543A (zh) | 一种基于操控一体的工业机器人控制装置及*** | |
CN106209515B (zh) | 接入网设备自动化测试*** | |
CN108804302A (zh) | 一种远程测试方法、***及相关设备 | |
CN111866160B (zh) | 多机控制方法、装置、设备及存储介质 | |
CN109308241A (zh) | 监听应用程序启动流程方法、装置、终端设备和存储介质 | |
US10536339B2 (en) | Systems and methods for system configuration for communication network devices | |
US8977968B2 (en) | Pseudo-remote terminal IOTA mobile diagnostics and electronic customer care | |
CN106100939A (zh) | 网络设备启动时间测试方法及测试控制台 | |
CN115561583A (zh) | 一种基于数字孪生技术的电力设备巡检方法、装置及*** | |
CN106815150B (zh) | 服务端接口测试***及方法 | |
CN107844486A (zh) | 一种用于客户端的分析网页问题的方法和*** | |
CN112486797A (zh) | 接口测试方法和装置 | |
CN106651650A (zh) | 联调测控装置及应用该装置的电力物联网联调测控*** | |
CN110334015A (zh) | 一种白盒测试方法、装置、设备及介质 | |
EP1895794B1 (en) | Remote management system and method for portable electronic devices | |
CN112306845B (zh) | 一种并发测试方法、装置、设备及介质 | |
CN210807344U (zh) | 一种远程fpga实验*** |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |