CN108304313B - 一种用于数据测试的装置、客户端及方法 - Google Patents

一种用于数据测试的装置、客户端及方法 Download PDF

Info

Publication number
CN108304313B
CN108304313B CN201710024392.9A CN201710024392A CN108304313B CN 108304313 B CN108304313 B CN 108304313B CN 201710024392 A CN201710024392 A CN 201710024392A CN 108304313 B CN108304313 B CN 108304313B
Authority
CN
China
Prior art keywords
test
data
network request
development tool
tool module
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.)
Active
Application number
CN201710024392.9A
Other languages
English (en)
Other versions
CN108304313A (zh
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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201710024392.9A priority Critical patent/CN108304313B/zh
Publication of CN108304313A publication Critical patent/CN108304313A/zh
Application granted granted Critical
Publication of CN108304313B publication Critical patent/CN108304313B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • 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

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

一种用于数据测试的装置、客户端及方法
技术领域
本申请涉及计算机数据测试技术领域,特别涉及一种用于数据测试的装置、客户端及方法。
背景技术
测试是移动客户端产品开发的重要环节。客户端测试过程经常需要依赖服务端的数据,但是实际测试中,经常会出现服务端与客户端并行开发或服务端开发滞后的问题。
mock测试是指在测试过程中,对于某些不容易构造或者不容易获取的对象,用一个虚拟的对象来创建以便测试的测试方法。通常,这个虚拟的对象称为mock对象。mock对象可以作为真实对象在调试期间的代替品。
现有的用于客户端数据测试的方法通常需要修改客户端的网络设置以连接mockserver(测试服务器)。具体地可以包括:修改客户端网络代理,以连接mock server或第三方工具;mock server或第三方工具监听客户端的网络请求,当收到客户端发出的网络请求时将预先设置好的mock数据进行返回;客户端接收mock数据进行解析,以完成数据测试。
发明人发现现有技术中至少存在如下问题:由于现有技术需要修改客户端的代理设置,所以增加了mock测试的前置工作;同时,mock测试的开启和关闭依赖网络代理设置,难以实现自动化测试。因此,现有的客户端数据测试方法执行效率较低。
发明内容
本申请实施例的目的是提供一种用于数据测试的装置、客户端及方法,以提高客户端数据测试的执行效率。
为解决上述技术问题,本申请实施例提供一种用于数据测试的装置、客户端及方法是这样实现的:
一种用于数据测试的客户端,包括:
目标应用;
文件存储装置,用于存储针对所述目标应用的测试数据;
测试开发工具模块,用于获取所述目标应用的网络请求,判断是否对所述获取的网络请求进行数据测试,若判断结果为是,所述测试开发工具模块获取与所述网络请求对应的测试数据,并将获取的测试数据返回至所述目标应用。
一种用于数据测试的装置,所述用于数据测试的装置装载于需要进行数据测试的目标应用所在的客户端上;或者,所述数据测试装置为与所述客户端建立了通信连接的终端;
所述用于数据测试的装置包括:
文件存储装置,用于存储测试数据;
测试开发工具模块,用于获取所述目标应用的网络请求,判断是否对所述获取的网络请求进行数据测试,若判断结果为是,所述测试开发工具模块获取与所述网络请求对应的测试数据,并将获取的测试数据返回至所述目标应用。
一种用于数据测试的方法,包括:
所述测试开发工具模块获取客户端中目标应用的网络请求;
所述测试开发工具模块判断是否对所述网络请求进行数据测试,若判断结果为是,所述测试开发工具模块获取与所述网络请求对应的测试数据;
所述测试开发工具模块反馈所述测试数据给所述目标应用;
所述测试开发工具模块设置于所述客户端上,或者,所述测试开发工具模块不设置于所述客户端且与所述客户端建立通信连接。
由以上本申请实施例提供的技术方案可见,本申请实施例提供的用于数据测试的装置、客户端及方法中,测试开发工具模块可以拦截获取客户端上目标应用发出的网络请求,从而判断对于目标应用发出的网络请求是否需要进行数据测试,当需要进行数据测试时,可以获取预先存储的测试数据。由于不需要通过更改网络代理的方式来获取网络请求,减少来测试前置工作可以提高测试执行效率。同时,可以通过可调用的代码化启动/关闭命令来实现在客户端或客户端外部随时打开/关闭测试开发工具模块,提高来数据测试的便捷性和效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请用于数据测试的客户端一个实施例的结构示意图;
图2是本申请用于数据测试的客户端另一个实施例的结构示意图;
图3是本申请用于数据测试的装置一个实施例的结构示意图;
图4是本申请用于数据测试的装置另一个实施例的结构示意图;
图5是本申请用于数据测试的方法一个实施例的流程图;
图6是本申请用于数据测试的方法另一实施例的流程图。
具体实施方式
本申请实施例提供一种用于数据测试的装置、客户端及方法。
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
本申请提供一种用于数据测试的客户端的实施例。参照图1和图2,本申请用于数据测试的客户端100可以包括:目标应用101、测试开发工具模块102、文件存储装置103。
在一个实施方式中,所述用于数据测试的客户端100可以是可移动设备。例如,可以是智能携带终端、平板设备、车载设备、智能可穿戴设备等。所述用于数据测试的客户端100还可以是桌面设备,诸如,桌面个人计算机(PC机)、一体机、智能自助终端等。
所述目标应用101可以是需要进行数据测试的应用程序。
所述测试开发工具模块102,可以用于获取所述目标应用101的网络请求并提供用于测试的测试数据。
在一个实施方式中,所述测试开发工具模块102可以为独立的模块装载于所述客户端100中。例如,所述测试开发工具模块102可以为装载于所述客户端100上的应用程序。参照图1,所述测试开发工具模块102可以是图1中的“mock应用程序”。
在另一个实施方式中,所述测试开发工具模块102可以为集成于所述目标应用101中的测试开发工具包。例如,参照图2,所述测试开发工具模块102可以为集成于所述目标应用101中的mock sdk(mock software development kit,mock开发工具包)。
通过将所述测试开发工具模块设置在所述客户端上,可以保证对应用程序进行数据测试在客户端即可实现,不需要更改客户端的网络代理来连接到用于数据测试的服务器,减少了测试前置工作,可以提高测试执行效率。
测试开发工具模块102启动时,可以对客户端进行数据测试。当测试开发工具模块102关闭时,停止对客户端进行数据测试。所述测试开发工具模块102可以在接收到启动/关闭命令后启动/关闭所述测试开发工具模块102。所述启动/关闭命令可以利用代码化语言实现。例如,在一个场景中,测试开发工具模块102的启动命令为:当目标应用启动时,启动所述测试开发工具模块102;那么,当检测到目标应用启动时,所述测试开发工具模块102相当于接收到了启动命令,可以启动所述测试开发工具模块102。在另一个场景中,所述测试开发工具模块102为目标应用中的测试开发工具包时,所述测试开发工具模块102可以在所述目标应用101的启动/关闭时作为所述目标应用的一部分实现启动/关闭。在另一个场景中,还可以通过调用命令的方式来实现所述测试开发工具模块102的启动/关闭,例如,可以调用代码化的启动命令来启动所述测试开发工具模块。通过可调用的代码化启动/关闭命令,可以实现在客户端或客户端外部随时打开/关闭测试开发工具模块102,从而可以提高数据测试的便捷性和效率。
所述测试开发工具模块102启动时可以获取所述目标应用101的网络请求。在一个实施方式中,所述获取目标应用的网络请求可以利用hook(钩子)技术来实现。所述hook技术可以是一种用于改变API(Application Programming Interface,应用程序编程接口)执行结果的技术。通常,可以通过xposed/dexposed框架来实现hook技术。利用所述hook技术,可以获取所述目标应用发出的网络请求。
所述测试开发工具模块102还可以用于判断是否对所述获取的网络请求进行数据测试,具体地,可以判断所述网络请求是否为预设的网络请求。若判断结果为是,所述测试开发工具模块102可以获取与所述网络请求对应的测试数据,并将所述获取的测试数据返回至所述目标应用101。例如,在一个应用场景中,需要对客户端目标应用中的“12点时发出提醒”的功能进行数据测试,那么所述目标应用可以发出“获取当前时间”的网络请求。所述测试开发工具模块102在获取目标应用发出的网络请求后,可以判断该网络请求是否为“获取当前时间”的请求,若是,那么,所述测试开发工具模块102可以获取与该网络请求对应的测试数据,例如,预先设置的“当前时间为12点”的数据,并可以将该数据返回至所述目标应用。
在另一个实施方式中,若判断是否对所述获取的网络请求进行数据测试的判断结果为否,所述测试开发工具模块102可以用于透传所述目标应用101的网络请求,所述目标应用101可以接收与所述网络请求对应的真实反馈数据。
所述文件存储装置103可以为具有存储功能的存储介质。例如,可以是硬盘、光盘、内存条、可移动存储装置等。
所述文件存储装置103可以用于存储测试数据。例如,可以包括用于测试所述目标应用101的mock对象等。所述文件存储装置103中存储的测试数据可以通过数据通信的方式进行更改或替换。
在一个实施方式中,所述客户端可以所述测试开发工具模块102启动时,将所述文件存储装置103中的测试数据加载至所述客户端的内存中。那么,当是否对所述获取的网络请求进行数据测试的判断结果为是时,所述测试开发工具模块102可以获取所述客户端的内存中与所述网络请求数据对应的测试数据。通过将测试数据预先加载至客户端的内存中,当需要获取测试数据时,可以直接从客户端的内存中读取,可以提高读取测试数据的速度。
在另一个实施方式中,所述客户端还可以在是否对所述获取的网络请求进行数据测试的判断结果为是时,将所述文件存储装置103中的测试数据加载至所述客户端的内存中。那么,所述测试开发工具模块102可以获取所述客户端的内存中与所述网络请求数据对应的测试数据。由于所述测试数据在需要时才加载至内存中,因此在其他时间可以通过数据通信的方式对测试数据实时进行更改或替换,可以保证测试数据的实时性。
在另一个实施方式中,所述测试开发工具模块102还可以用于根据预设规则拦截数据。所述预设规则可以包括:拦截网络请求数据或者拦截真实反馈数据。
若所述预设规则为拦截网络请求数据,所述测试开发工具模块102可以拦截所述网络请求的数据。那么,所述测试开发工具模块102可以获取与所述网络请求数据对应的测试数据,并将所述获取的测试数据反馈给所述目标应用101。
若所述预设规则为拦截真实反馈数据,所述测试开发工具模块102可以用于透传所述目标应用101的网络请求,接收与所述网络请求对应的真实反馈数据,并拦截所述真实反馈数据。那么,所述测试开发工具模块102可以获取与所述网络请求数据对应的测试数据,并将所述获取的测试数据反馈给所述目标应用101。
本申请实施例还提供一种用于数据测试的装置,参照图3和图4,所述用于数据测试的装置可以包括:测试开发工具模块102和文件存储装置103。
参照图3,在一个实施方式中,所述用于数据测试的装置所在的终端可以是需要进行数据测试的目标应用所在的客户端。例如,所述数据测试装置可以为装载于所述客户端的应用程序。将所述数据测试装载与所述目标应用所在的客户端上,可以保证在客户端直接实现对目标进行数据测试,提高了测试执行效率。
参照图4,在另一个实施方式中,所述数据测试装置所在的终端可以为独立的终端,并与需要进行数据测试的目标应用所在的客户端建立通信连接。例如,所述数据测试装置可以为与客户端建立了通信连接的终端。在本实施方式中,所述数据测试装置虽然不是设置在客户端上,但其与所述客户端直接建立了通信连接,可以直接获取所述客户端的网络请求,因此,可以直接实现对客户端目标应用的数据测试,而不需要更改客户端的网络代理来连接到用于数据测试的服务器,减少了测试前置工作,可以提高测试执行效率。
所述测试开发工具模块102可以在接收到启动/关闭命令后启动/关闭所述测试开发工具模块102。所述测试开发工具模块102启动后,可以用于获取目标应用的网络请求,并判断是否对所述获取的网络请求进行数据测试。例如,可以判断所述网络请求是否为预设的网络请求。若判断结果为是,所述测试开发工具模块102可以获取与所述网络请求数据对应的测试数据,并将获取的测试数据返回至所述目标应用。若判断结果为否,所述测试开发工具模块102可以透传所述目标应用的网络请求;那么,所述目标应用可以获取与所述网络请求对应的真实反馈数据。
在一种实施方式中,启动所述测试开发工具模块102时,所述用于数据测试的装置加载所述文件存储装置103中的测试数据至所述用于数据测试的装置所在终端的内存中。那么,所述测试开发工具模块102获取与所述网络请求对应的测试数据,可以包括:所述测试开发工具模块102从所述终端的内存中读取与所述网络请求对应的测试数据。
在另一种实施方式中,当所述测试开发工具模块102判断是否对所述获取的网络请求进行数据测试的判断结果为是时,所述用于数据测试的装置加载所述文件存储装置103中的测试数据至所述用于数据测试的装置所在终端的内存中。那么,所述测试开发工具模块102获取与所述网络请求对应的测试数据,可以包括:所述测试开发工具模块102从所述终端的内存中读取与所述网络请求对应的测试数据。
在另一实施方式中,所述测试开发工具模块102还可以用于根据预设规则拦截数据。所述预设规则可以包括:拦截网络请求数据或者拦截真实反馈数据。
若所述预设规则为拦截网络请求数据,所述测试开发工具模块102可以用于拦截所述网络请求的数据。那么,测试开发工具模块102可以所述获取所述测试数据,并将所述获取的测试数据反馈给所述目标应用。
若所述预设规则为拦截真实反馈数据,所述测试开发工具模块102可以用于透传所述目标应用的网络请求,接收与所述网络请求对应的真实反馈数据,并拦截所述真实反馈数据。那么,所述测试开发工具模块102可以获取所述测试数据,并将所述获取的测试数据反馈给所述目标应用。
所述文件存储装置103,可以用于存储测试数据。所述文件存储装置103可以通过数据通信的方式更改或替换存储的测试数据。
上述实施例提供的用于数据测试的客户端以及用于数据测试的装置,测试开发工具模块可以获取客户端上目标应用发出的网络请求,从而判断对于目标应用发出的网络请求是否需要进行数据测试,当需要进行数据测试时,可以获取预先存储的测试数据,本申请提供的用于数据测试的客户端及装置,不需要通过更改网络代理的方式来获取网络请求,减少来测试前置工作可以提高测试执行效率。同时,可以通过可调用的代码化启动/关闭命令来实现在客户端或客户端外部随时打开/关闭测试开发工具模块,提高来数据测试的便捷性和效率。
本申请实施例还提供一种用于数据测试的方法。图5是本申请用于数据测试的一个方法实施例的流程图。参照图5,所述用于数据测试的方法可以包括以下步骤。
S501:测试开发工具模块获取客户端中目标应用的网络请求。
所述测试开发模块所在的终端可以是所述客户端。例如,所述测试开发模块可以是设置于所述目标应用中的模块,或者可以是设置于所述客户端上且独立于所述目标应用的模块。
所述测试开发模块所在的终端还可以是与所述客户端建立了通信连接的独立终端。
所述测试开发工具模块启动时,可以对客户端进行数据测试。当所述测试开发工具模块关闭时,停止对客户端进行数据测试。所述测试开发工具模块可以在接收到启动/关闭命令后启动/关闭所述测试开发工具模块。所述启动/关闭命令可以利用代码化语言实现。
可以将需要进行数据测试的应用程序称为目标应用。
所述测试开发工具模块启动时可以获取所述目标应用的网络请求。在一个实施方式中,所述获取目标应用的网络请求可以利用hook(钩子)技术来实现。
S502:所述测试开发工具模块判断是否对所述网络请求进行数据测试,若判断结果为是,所述测试开发工具模块获取与所述网络请求对应的测试数据。
获取所述网络请求后,所述测试开发工具模块可以判断是否对所述网络请求进行数据测试。例如,可以判断所述网络请求是否为预设的网络请求。若判断结果为是,所述测试开发工具模块可以获取与所述网络请求对应的测试数据。若所述测试开发工具模块判断是否对所述网络请求进行数据测试的判断结果为否,所述测试开发工具模块可以透传所述目标应用的网络请求。那么,所述目标应用可以接收与所述网络请求对应的真实反馈数据。
在一个实施方式中,所述方法还可以包括:启动所述测试开发工具模块时,所述测试开发工具模块所在的终端加载所述文件存储装置中的测试数据至所述终端的内存中。那么,所述测试开发工具模块获取与所述网络请求对应的测试数据,可以具体为:所述测试开发工具模块获取所述客户端的内存中加载的测试数据。所述文件存储装置可以用于存储测试数据。
在另一个实施方式中,当所述测试开发工具模块判断是否对所述获取的网络请求进行数据测试的判断结果为是时,所述方法还可以包括:所述测试开发工具模块所在的终端加载所述文件存储装置中与所述网络请求对应的测试数据至所述终端的内存中。那么,所述测试开发工具模块获取与所述网络请求对应的测试数据,可以具体为:所述测试开发工具模块获取所述客户端的内存中加载的测试数据。
S503:所述测试开发工具模块反馈所述测试数据给所述目标应用。
所述测试开发工具模块获取与所述网络请求对应的测试数据后,可以反馈所述测试数据给所述目标应用。
在另一个实施方式中,所述方法还可以包括:所述测试开发工具模块根据预设规则拦截数据。所述预设规则可以包括:拦截网络请求数据或者拦截真实反馈数据。
若所述预设规则为拦截网络请求数据,那么,所述测试开发工具模块根据预设规则拦截数据可以包括:所述测试开发工具模块拦截所述网络请求的数据。
若所述预设规则为拦截真实反馈数据,那么,所述测试开发工具模块根据预设规则拦截数据可以包括:所述测试开发工具模块透传所述目标应用的网络请求,接收与所述网络请求对应的真实反馈数据,拦截所述真实反馈数据。
本申请实施例还提供一种用于数据测试的方法。图6是本申请用于数据测试的另一方法实施例的流程图。本申请实施方式中,测试开发工具模块可以为mock app,目标应用可以为图6中的目标app。启动所述mock app可以对所述目标app进行数据测试。当所述目标app启动后,所述mock app可以获取所述目标app发出的网络请求。可以判断是否对对所述网络请求进行数据测试,例如,可以判断所述网络请求是否为预设的网络请求。若判断结果为是,则表示需要对所述网络请求进行数据测试。可以进一步判断当前数据测试模式是否为实时数据测试的模式,若数据测试不是实时数据测试的模式,可以将文件存储装置中存储的测试数据一次性加载至mock app所在的终端的内存中,并读取所述内存中的与所述网络请求对应的测试数据返回给所述目标app。若数据测试是实时数据测试的模式,可以判断内存中是否存储有测试数据,若内存中已经存储了测试数据,可以读取所述内存中与所述网络请求对应的测试数据返回给所述目标app;若内存中没有测试数据,可以将读取文件存储装置中与所述网络请求对应的测试数据返回给所述目标app。进一步地,在获取与所述网络请求对应的测试数据之前,还可以判断是否拦截网络请求数据或者是否拦截真实反馈数据,若拦截网络请求数据,那么,mock app可以拦截所述网络请求。若拦截真实反馈数据,那么所述mock app可以透传所述网络请求,并拦截与所述网络请求对应的真实反馈数据。
上述实施例公开的用于数据测试的方法是本申请的用于数据测试的客户端或装置实施例执行数据测试的过程,可以实现本申请客户端或装置实施例的技术效果。相似或相同之处可以互相参考。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片2。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog2。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。
本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。该计算机软件产品可以包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。该计算机软件产品可以存储在内存中,内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括短暂电脑可读媒体(transitory media),如调制的数据信号和载波。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本申请可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
虽然通过实施例描绘了本申请,本领域普通技术人员知道,本申请有许多变形和变化而不脱离本申请的精神,希望所附的权利要求包括这些变形和变化而不脱离本申请的精神。

Claims (31)

1.一种用于数据测试的客户端,其特征在于,包括:
目标应用;
文件存储装置,用于存储针对所述目标应用的测试数据;
测试开发工具模块,用于获取所述目标应用的网络请求,判断是否对所述获取的网络请求进行数据测试,若判断结果为是,所述测试开发工具模块获取与所述网络请求对应的测试数据,并将获取的测试数据返回至所述目标应用;其中,判断是否对所述获取的网络请求进行数据测试,包括:判断所述网络请求是否为预设的网络请求,若判断结果为是,则判定对所述获取的网络请求进行数据测试。
2.根据权利要求1所述的客户端,其特征在于,若判断是否对所述获取的网络请求进行数据测试的判断结果为否,所述测试开发工具模块用于透传所述目标应用的网络请求,所述目标应用接收与所述网络请求对应的真实反馈数据。
3.根据权利要求1所述的客户端,其特征在于,所述测试开发工具模块为独立的模块装载于所述客户端中;或者,所述测试开发工具模块为集成于所述目标应用中的测试开发工具包。
4.根据权利要求1所述的客户端,其特征在于,所述测试开发工具模块在接收到启动/关闭命令后启动/关闭所述测试开发工具模块。
5.根据权利要求1所述的客户端,其特征在于,所述测试开发工具模块用于获取与所述网络请求对应的测试数据包括:所述测试开发工具模块用于获取所述客户端的内存中与所述网络请求对应的测试数据所述测试数据包括:从所述文件存储装置中加载至所述内存的测试数据;所述测试数据是在启动所述测试开发工具模块时加载的。
6.根据权利要求1所述的客户端,其特征在于,所述测试开发工具模块获取与所述网络请求对应的测试数据包括:所述测试开发工具模块获取所述客户端的内存中与所述网络请求对应的测试数据;所述测试数据包括:从所述文件存储装置加载至所述内存的测试数据;所述测试数据是在判断结果为是时加载的。
7.根据权利要求1所述的客户端,其特征在于,所述测试开发工具模块用于判断是否对所述获取的网络请求进行数据测试,包括:所述测试开发工具模块用于判断所述网络请求是否为预设的网络请求。
8.根据权利要求1所述的客户端,其特征在于,所述测试开发工具模块还用于根据预设规则拦截数据;所述预设规则包括:拦截网络请求数据或者拦截真实反馈数据。
9.根据权利要求8所述的客户端,其特征在于,若所述预设规则为拦截网络请求数据,所述测试开发工具模块用于根据预设规则拦截数据包括:所述测试开发工具模块用于拦截所述网络请求的数据。
10.根据权利要求8所述的客户端,其特征在于,若所述预设规则为拦截真实反馈数据,所述测试开发工具模块用于根据预设规则拦截数据包括:所述测试开发工具模块用于透传所述目标应用的网络请求,接收与所述网络请求对应的真实反馈数据,拦截所述真实反馈数据。
11.根据权利要求1所述的客户端,其特征在于,所述文件存储装置通过数据通信的方式更改或替换存储的测试数据。
12.一种用于数据测试的装置,其特征在于,所述用于数据测试的装置装载于需要进行数据测试的目标应用所在的客户端上;或者,所述数据测试装置为与所述客户端建立了通信连接的终端;
所述用于数据测试的装置包括:
文件存储装置,用于存储测试数据;
测试开发工具模块,用于获取所述目标应用的网络请求,判断是否对所述获取的网络请求进行数据测试,若判断结果为是,所述测试开发工具模块获取与所述网络请求对应的测试数据,并将获取的测试数据返回至所述目标应用;其中,判断是否对所述获取的网络请求进行数据测试,包括:判断所述网络请求是否为预设的网络请求,若判断结果为是,则判定对所述获取的网络请求进行数据测试。
13.根据权利要求12所述的装置,其特征在于,若判断是否对所述获取的网络请求进行数据测试的判断结果为否,所述测试开发工具模块用于透传所述目标应用的网络请求。
14.根据权利要求12所述的装置,其特征在于,所述测试开发工具模块在接收到启动/关闭命令后启动/关闭所述测试开发工具模块。
15.根据权利要求12所述的装置,其特征在于,所述测试开发工具模块用于获取与所述网络请求对应的测试数据,包括:
所述测试开发工具模块从所述用于数据测试的装置所在终端的内存中读取与所述网络请求对应的测试数据;所述测试数据包括:从所述文件存储装置中加载至所述内存的测试数据;所述测试数据是在启动所述测试开发工具模块时加载的。
16.根据权利要求12所述的装置,其特征在于,所述测试开发工具模块用于获取与所述网络请求对应的测试数据,包括:所述测试开发工具模块从所述用于数据测试的装置所在终端的内存中读取与所述网络请求对应的测试数据;所述测试数据包括:从所述文件存储装置中加载至所述内存的测试数据;所述测试数据是在判断结果为是时加载的。
17.根据权利要求12所述的装置,其特征在于,所述测试开发工具模块用于判断是否对所述获取的网络请求进行数据测试,包括:所述测试开发工具模块用于判断所述网络请求是否为预设的网络请求。
18.根据权利要求12所述的装置,其特征在于,所述文件存储装置通过数据通信的方式更改或替换存储的测试数据。
19.根据权利要求12所述的装置,其特征在于,所述用于数据测试的装置所在的终端为需要进行数据测试的目标应用所在的客户端;或者,所述数据测试装置所在的终端为与客户端建立了通信连接的终端。
20.根据权利要求12所述的装置,其特征在于,所述测试开发工具模块还用于根据预设规则拦截数据;所述预设规则包括:拦截网络请求数据或者拦截真实反馈数据。
21.根据权利要求20所述的装置,其特征在于,若所述预设规则为拦截网络请求数据,所述测试开发工具模块用于根据预设规则拦截数据包括:所述测试开发工具模块用于拦截所述网络请求的数据。
22.根据权利要求20所述的装置,其特征在于,若所述预设规则为拦截真实反馈数据,所述测试开发工具模块用于根据预设规则拦截数据:所述测试开发工具模块用于透传所述目标应用的网络请求,接收与所述网络请求对应的真实反馈数据,拦截所述真实反馈数据。
23.一种用于数据测试的方法,其特征在于,包括:
测试开发工具模块获取客户端中目标应用的网络请求;
所述测试开发工具模块判断是否对所述网络请求进行数据测试,若判断结果为是,所述测试开发工具模块获取与所述网络请求对应的测试数据;其中,判断是否对所述获取的网络请求进行数据测试,包括:判断所述网络请求是否为预设的网络请求,若判断结果为是,则判定对所述获取的网络请求进行数据测试;
所述测试开发工具模块反馈所述测试数据给所述目标应用;
所述测试开发工具模块设置于所述客户端上,或者,所述测试开发工具模块不设置于所述客户端且与所述客户端建立通信连接。
24.根据权利要求23所述的方法,其特征在于,若所述测试开发工具模块判断是否对所述网络请求进行数据测试的判断结果为否,所述测试开发工具模块透传所述目标应用的网络请求。
25.根据权利要求23所述的方法,其特征在于,所述测试开发工具模块获取客户端中目标应用的网络请求利用hook技术来实现。
26.根据权利要求23所述的方法,其特征在于,所述判断是否对所述获取的网络请求进行数据测试,具体包括:判断所述网络请求是否为预设的网络请求。
27.根据权利要求23所述的方法,其特征在于,所述方法还包括:启动所述测试开发工具模块时,所述测试开发工具模块所在的终端加载文件存储装置中的测试数据至所述终端的内存中;所述文件存储装置用于存储测试数据;
那么,所述测试开发工具模块获取与所述网络请求对应的测试数据,包括:所述测试开发工具模块获取所述终端的内存中与所述网络请求对应的测试数据。
28.根据权利要求23所述的方法,其特征在于,当所述测试开发工具模块判断是否对所述获取的网络请求进行数据测试的判断结果为是时,所述方法还包括:所述测试开发工具模块所在的终端加载文件存储装置中的与所述网络请求对应的测试数据至所述终端的内存中;所述文件存储装置用于存储测试数据;
那么,所述测试开发工具模块获取与所述网络请求对应的测试数据,包括:所述测试开发工具模块获取所述终端的内存中与所述网络请求对应的测试数据。
29.根据权利要求23所述的方法,其特征在于,在所述测试开发工具模块反馈所述测试数据给所述目标应用之前,所述方法还包括:所述测试开发工具模块根据预设规则拦截数据;所述预设规则包括:拦截网络请求数据或者拦截真实反馈数据。
30.根据权利要求23所述的方法,其特征在于,
若预设规则为拦截网络请求数据,那么,所述测试开发工具模块根据预设规则拦截数据包括:所述测试开发工具模块拦截所述网络请求的数据。
31.根据权利要求23所述的方法,其特征在于,若预设规则为拦截真实反馈数据,那么,所述测试开发工具模块根据预设规则拦截数据包括:所述测试开发工具模块透传所述目标应用的网络请求,接收与所述网络请求对应的真实反馈数据,拦截所述真实反馈数据。
CN201710024392.9A 2017-01-13 2017-01-13 一种用于数据测试的装置、客户端及方法 Active CN108304313B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710024392.9A CN108304313B (zh) 2017-01-13 2017-01-13 一种用于数据测试的装置、客户端及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710024392.9A CN108304313B (zh) 2017-01-13 2017-01-13 一种用于数据测试的装置、客户端及方法

Publications (2)

Publication Number Publication Date
CN108304313A CN108304313A (zh) 2018-07-20
CN108304313B true CN108304313B (zh) 2022-05-27

Family

ID=62872286

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710024392.9A Active CN108304313B (zh) 2017-01-13 2017-01-13 一种用于数据测试的装置、客户端及方法

Country Status (1)

Country Link
CN (1) CN108304313B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112148580B (zh) * 2019-06-26 2024-01-30 腾讯科技(深圳)有限公司 测试方法、装置及电子设备
CN110489332B (zh) * 2019-07-19 2023-09-08 珠海金山数字网络科技有限公司 一种填充测试数值方法及系统
CN113609010A (zh) * 2021-07-29 2021-11-05 挂号网(杭州)科技有限公司 一种基于浏览器客户端的测试方法及装置
CN116662207A (zh) * 2023-07-24 2023-08-29 北京银联金卡科技有限公司 一种针对区块链网络进行模糊测试的方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102904774A (zh) * 2012-09-28 2013-01-30 用友软件股份有限公司 终端、服务器和服务器性能测试方法
CN103905258A (zh) * 2012-12-24 2014-07-02 百度国际科技(深圳)有限公司 一种客户端数据上传功能的测试方法及装置
CN104461903A (zh) * 2014-12-26 2015-03-25 北京奇虎科技有限公司 基于浏览器的测试客户端的方法和装置
CN105005521A (zh) * 2015-06-26 2015-10-28 腾讯科技(北京)有限公司 测试方法及装置
CN106055480A (zh) * 2016-06-02 2016-10-26 腾讯科技(深圳)有限公司 一种调试网页的方法及终端

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9396091B2 (en) * 2014-09-29 2016-07-19 Sap Se End-to end, lifecycle aware, API management
CN105988922B (zh) * 2015-02-06 2018-11-06 阿里巴巴集团控股有限公司 应用程序的测试方法、装置及服务器
CN106294179B (zh) * 2016-08-22 2018-01-19 上海亿账通互联网科技有限公司 应用程序开发过程中的模拟测试方法及服务器

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102904774A (zh) * 2012-09-28 2013-01-30 用友软件股份有限公司 终端、服务器和服务器性能测试方法
CN103905258A (zh) * 2012-12-24 2014-07-02 百度国际科技(深圳)有限公司 一种客户端数据上传功能的测试方法及装置
CN104461903A (zh) * 2014-12-26 2015-03-25 北京奇虎科技有限公司 基于浏览器的测试客户端的方法和装置
CN105005521A (zh) * 2015-06-26 2015-10-28 腾讯科技(北京)有限公司 测试方法及装置
CN106055480A (zh) * 2016-06-02 2016-10-26 腾讯科技(深圳)有限公司 一种调试网页的方法及终端

Also Published As

Publication number Publication date
CN108304313A (zh) 2018-07-20

Similar Documents

Publication Publication Date Title
CN109189682B (zh) 一种脚本录制方法和装置
CN106970873B (zh) 线上mock测试方法、装置及系统
CN108304313B (zh) 一种用于数据测试的装置、客户端及方法
CN107526625B (zh) 一种基于字节码检查的Java智能合约安全检测方法
US8972975B1 (en) Bounded installation time optimization of applications
CN104932972B (zh) 一种反动态调试应用程序的方法及装置
CN110750437B (zh) 一种设备调试方法、装置、设备及系统
CN107479868B (zh) 一种界面加载方法、装置及设备
TWI684916B (zh) 函式選取方法和伺服器
US10162616B2 (en) System for binary translation version protection
CN112541166A (zh) 一种方法、系统和计算机可读存储介质
CN111273965B (zh) 一种容器应用启动方法、系统、装置及电子设备
CN110955624B (zh) 一种pcie设备的热插拔方法、装置和系统
WO2023217118A1 (zh) 一种代码测试、测试用例生成的方法及装置
US20230367936A1 (en) Verification method, electronic device and storage medium
CN111078435A (zh) 业务处理方法、装置及电子设备
US11544092B2 (en) Model specific register (MSR) instrumentation
CN110874322B (zh) 一种用于应用程序的测试方法及测试服务器
CN113556260A (zh) 一种流量监控方法、装置、存储介质及电子设备
WO2015006923A1 (en) Techniques for dynamically redirecting device driver operations to user space
CN110347471B (zh) 层级式显示组件系统、显示组件调用方法和装置
WO2013117142A1 (en) File processing method and system
CN111796864A (zh) 一种数据校验的方法及装置
US9720713B2 (en) Using hardware transactional memory for implementation of queue operations
Wu et al. The study of android parallel programming based on the dual-core cortex-A9

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