CN109062806B - 一种程序测试方法、系统、装置及计算机可读存储介质 - Google Patents

一种程序测试方法、系统、装置及计算机可读存储介质 Download PDF

Info

Publication number
CN109062806B
CN109062806B CN201811075237.0A CN201811075237A CN109062806B CN 109062806 B CN109062806 B CN 109062806B CN 201811075237 A CN201811075237 A CN 201811075237A CN 109062806 B CN109062806 B CN 109062806B
Authority
CN
China
Prior art keywords
test
data interface
program
simulation
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.)
Active
Application number
CN201811075237.0A
Other languages
English (en)
Other versions
CN109062806A (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.)
Hangzhou Dt Dream Technology Co Ltd
Original Assignee
Hangzhou Dt Dream 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 Hangzhou Dt Dream Technology Co Ltd filed Critical Hangzhou Dt Dream Technology Co Ltd
Priority to CN201811075237.0A priority Critical patent/CN109062806B/zh
Publication of CN109062806A publication Critical patent/CN109062806A/zh
Application granted granted Critical
Publication of CN109062806B publication Critical patent/CN109062806B/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
    • G06F11/368Test management for test version control, e.g. updating test cases to a new software version
    • 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

一种程序测试方法、系统、装置及计算机可读存储介质
技术领域
本申请涉及测试技术领域,特别涉及一种程序测试方法、系统、装置及计算机可读存储介质。
背景技术
在当今信息化时代,人们通过各式各样的电子设备享受着无处不在的便利服务,在强劲的市场竞争中,如何能够给用户带来更好的使用体验,让用户满意度更高,是所有应用和服务提供商需要重点考虑的问题。
为了向用户提供使用体验更佳的应用或服务,现今大多数应用或大型Web服务都会在上线之前经过模拟上线测试,旨在通过模拟上线测试发现该应用或Web服务的实际兼容性、抗冲击性、第三方数据接口的调用情况以及容量上限和性能瓶颈等重要参数,以便将调整至最优的应用或Web应用呈现为用户,而不是被用户发现存在众多Bug,使得用户的使用体验较差。
现有技术中为了适配测试程序为被测程序提供的打桩数据,通常还需要对被测程序的源代码进行一定的修改,并在测试完成后,再将其修改的部分还原至原先的内容以适配实际应用环境,由此一来,就会导致可能至少存在测试版本和发布版本两个甚至更多个的被测程序,多版本被测程序的存在无形中增加了管理难度,也为使用错误的被测程序进行发布埋下了伏笔。
因此,如何克服现有为适配打桩数据需要对被测程序源代码进行修改,进而因存在多个版本的被测程序导致的各项技术缺陷,提供一种无需对被测程序源代码进行修改、被测程序版本单一的程序测试方法是本领域技术人员亟待解决的问题。
发明内容
本申请的目的是提供一种程序测试方法,使用模拟数据接口来模拟被测程序根据测试要求需要调用到的真实数据接口,并依照相同的处理逻辑进行响应,因此在使用由模拟数据接口生成的测试挡板的情况下,被测程序无需对适配打桩数据而对自身源代码进行修改,也就不会存在两个甚至更多个存在差异的测试版本与发布版本,管理难度更低,消除了可能使用测试版本进行发布的隐患。
本申请的另一目的在于提供了一种程序测试系统、装置及计算机可读存储介质。
为实现上述目的,本申请提供一种程序测试方法,该程序测试方法包括:
根据测试要求选取与真实数据接口相对应的模拟数据接口,并根据各所述模拟数据接口构建测试挡板;
将被测程序在测试时产生的测试数据发送至所述测试挡板,以利用所述测试挡板中的模拟数据接口模拟真实数据接口对所述测试数据做出响应。
可选的,该程序测试方法还包括:
当所述测试要求变更时,根据具体变更内容修改所述测试挡板的配置参数,得到新测试挡板;
以日志的形式记录每一个因配置参数修改而生成和替换的测试挡板。
可选的,该程序测试方法还包括:
当所述被测程序测试完成后,将所述被测程序与各所述模拟数据接口间的映射关系还原至对应的各真实数据接口。
可选的,该程序测试方法还包括:
实时监测所述测试数据对各所述模拟数据接口的使用情况;
当一个所述模拟数据接口的测试数据负载超过预设负载上限时,增加所述模拟数据接口的服务实例数量,直至所述服务实例数量达到预设的最大实例数;
当一个所述模拟数据接口的测试数据负载低于预设负载下限时,减少所述模拟数据接口的服务实例数量,直至所述服务实例数量达到预设的最小实例数。
可选的,该程序测试方法还包括:
为不同的模拟数据接口对应的服务实施例设置不同的延迟处理时间。
可选的,将所述被测程序与各所述模拟数据接口间的映射关系还原至对应的各真实数据接口,包括:
通过修改Host文件的方式将所述被测程序与各所述模拟数据接口间的映射关系还原至对应的各真实数据接口。
可选的,该程序测试方法还包括:
当任一所述模拟数据接口返回的数据异常时,通过预设路径返回异常警报。
为实现上述目的,本申请还提供了一种程序测试系统,该测试系统包括:
测试挡板构建单元,用于根据测试要求选取与真实数据接口相对应的模拟数据接口,并根据各所述模拟数据接口构建测试挡板;
被测数据发送单元,用于将被测程序在测试时产生的测试数据发送至所述测试挡板,以利用所述测试挡板中的模拟数据接口模拟真实数据接口对所述测试数据做出响应。
可选的,该程序测试系统还包括:
配置参数修改单元,用于当所述测试要求变更时,根据具体变更内容修改所述测试挡板的配置参数,得到新测试挡板;
修改记录单元,用于以日志的形式记录每一个因配置参数修改而生成和替换的测试挡板。
可选的,该程序测试系统还包括:
映射关系还原单元,用于当所述被测程序测试完成后,将所述被测程序与各所述模拟数据接口间的映射关系还原至对应的各真实数据接口。
可选的,该程序测试系统还包括:
负载监测单元,用于实时监测所述测试数据对各所述模拟数据接口的使用情况;
高负载处理单元,用于当一个所述模拟数据接口的测试数据负载超过预设负载上限时,增加所述模拟数据接口的服务实例数量,直至所述服务实例数量达到预设的最大实例数;
低负载处理单元,用于当一个所述模拟数据接口的测试数据负载低于预设负载下限时,减少所述模拟数据接口的服务实例数量,直至所述服务实例数量达到预设的最小实例数。
可选的,该程序测试系统还包括:
延迟设置单元,用于为不同的模拟数据接口对应的服务实施例设置不同的延迟处理时间。
可选的,所述映射关系还原单元包括:
Host修改子单元,用于通过修改Host文件的方式将所述被测程序与各所述模拟数据接口间的映射关系还原至对应的各真实数据接口。
可选的,该程序测试系统还包括:
异常警报返回单元,用于当任一所述模拟数据接口返回的数据异常时,通过预设路径返回异常警报。
为实现上述目的,本申请还提供了一种程序测试装置,该装置包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上述内容所描述的程序测试方法的步骤。
为实现上述目的,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述内容所描述的程序测试方法的步骤。
显然,本申请所提供的一种程序测试方法,使用模拟数据接口来模拟被测程序根据测试要求需要调用到的真实数据接口,并依照相同的处理逻辑进行响应,因此在使用由模拟数据接口生成的测试挡板的情况下,被测程序无需对适配打桩数据而对自身源代码进行修改,也就不会存在两个甚至更多个存在差异的测试版本与发布版本,管理难度更低,消除了可能使用测试版本进行发布的隐患。本申请同时还提供了一种程序测试系统、装置及计算机可读存储介质,具有上述有益效果,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的一种程序测试方法的流程图;
图2为本申请实施例提供的一种程序测试方法的流程图;
图3为在实施例一或二提供的程序测试方法基础上提供的一种服务实例数量弹性调整方法的流程图;
图4为本申请实施例提供的一种程序测试系统的结构框图。
图5为本申请实施例提供的一种压力测试系统的结构框图;
图6为图5所示压力测试系统提供的一种压力测试方法的流程图;
图7为本申请提供的一种压测挡板的内部结构流程图。
具体实施方式
本申请的核心是提供一种程序测试方法、系统、装置及计算机可读存储介质,使用模拟数据接口来模拟被测程序根据测试要求需要调用到的真实数据接口,并依照相同的处理逻辑进行响应,因此在使用由模拟数据接口生成的测试挡板的情况下,被测程序无需对适配打桩数据而对自身源代码进行修改,也就不会存在两个甚至更多个存在差异的测试版本与发布版本,管理难度更低,消除了可能使用测试版本进行发布的隐患。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
实施例一
以下结合图1,图1为本申请实施例提供的一种程序测试方法的流程图,其具体包括以下步骤:
S101:根据测试要求选取与真实数据接口相对应的模拟数据接口,并根据各模拟数据接口构建测试挡板;
本步骤旨在选取得到与真实数据接口相对应的模拟数据接口,其中,真实数据接口通常为一些封装好的、功能集成的第三方功能接口,用于在无需理解其具体工作原理的情况下可直接调用,相当于黑箱的概念,而真实数据接口则是指根据测试要求被测程序会使用到的数据接口,且这些数据接口是真实的,比如调用第三方地图接口来实现对测试位置数据进行定位,该第三方地图接口可以是各大电子地图厂商提供的,能够真正对位置数据提供相关服务,类似的还可以存在第三方数据计算接口、数据格式转换接口以及其它任何根据实际情况进行自定义的接口,这些第三方数据接口通常集成于被测程序的调用逻辑中,而现有技术采用了修改被测程序调用逻辑的方式来得到测试版本的被测程序,会导致产生与发布版本不同的测试版本。
模拟数据接口,并非指的是接收模拟量的数据接口,而是模拟真实数据接口得到的一个“假的”数据接口,这些模拟数据接口根据模拟程度的不同,可以实现是否被调用、如何调用、返回调用处理结果等不同层次的模拟程度,具体如何实现涉及到仿真算法,此处并非为本申请的重点讨论对象,本申请重在通过模拟数据接口来接管原先由集成于被测程序中的真实数据接口的数据处理任务,以无需对被测程序的源代码进行修改,防止出现多版本问题。
具体的,在模拟数据接口的数量和种类较多的情况下,可构建得到一个包含有各种类模拟数据接口的测试挡板,根据测试目的的不同,还可以进一步的得到包括压测挡板、负荷挡板在内的诸多类型的测试挡板,此处并不做具体限定。
S102:将被测程序在测试时产生的测试数据发送至测试挡板,以利用测试挡板中的模拟数据接口模拟真实数据接口对测试数据做出响应。
在S101的基础上,本步骤旨在将被测程序在测试时产生的测试数据发送至测试挡板,以利用测试挡板中的模拟数据接口模拟真实数据接口对测试数据做出响应。进一步的,在实际应用环境下,为了保证不出现多版本问题,通常被测程序在开发过程中会直接依照实际应用环境进行数据接口的设置,而不是优先考虑测试环境对数据接口的使用情况,而本申请提供的方案也正是为了此目的的实现,因此,本申请在将测试数据发送至测试挡板之前,还需要修改其数据发送路径,使用位于测试挡板中的模拟数据接口实现为测试数据的响应,而非走被测程序中的真实数据接口,如此操作后,也就无需对被测程序的源代码进行修改,在测试完成后,再通过简单的映射关系修改操作即可将数据与接口间的映射关系还原至被测程序中的真实数据接口,实现整体程序测试过程中不出现多版本问题。
映射关系的修改可通过多种方式实现,其中一种优选的方式为:在被测程序的本地Host文件(一种常用的参数配置文件)中将真实数据接口的路径修改为模拟数据接口的路径,并在测试完成后,还原Host文件中的路径参数即可。
进一步的,响应于可能会随时变更的测试要求,还可以根据具体变更内容对应修改测试挡板的配置参数,得到新测试挡板;并以日志的形式记录每一个因配置参数修改生成和替换的测试挡板。尤其在采用配置文件来实现对构建得到测试挡板的各部分进行部署时,可以基于该配置文件快速的实现参数的更改。
更进一步的,为了尽快完成模拟数据接口对数据的处理,还可以引入弹性机制,通过对各模拟数据接口的服务实例数量进行增加和减少,可实现针对系统资源使用情况的弹性处理;通过对各服务实例中待处理数据的数量进行负载均衡,实现将待测程序的请求流量均衡的分配至不同的挡板服务中等类似的弹性处理方式,同时,在模仿真实数据接口处理数据的过程方面,还可以引入在真实数据接口被调用过程中很难避免的延时,以增加仿真程度。
在复杂的实际应用场景下,会由于各种可能存在的影响因素导致模拟数据接口出错,使得其返回的数据明显与历史数据或其它类似模拟数据接口返回的数据存在差异,此时还可通过预设的各种路径向上反馈异常警报,以及时提醒相关技术人员进行异常查找和修复。其中,预设的路径包括且不限于邮件、弹窗、即时通讯类软件等。
基于上述技术方案,本申请实施例提供的一种程序测试方法,使用模拟数据接口来模拟被测程序根据测试要求需要调用到的真实数据接口,并依照相同的处理逻辑进行响应,因此在使用由模拟数据接口生成的测试挡板的情况下,被测程序无需对适配打桩数据而对自身源代码进行修改,也就不会存在两个甚至更多个存在差异的测试版本与发布版本,管理难度更低,消除了可能使用测试版本进行发布的隐患。
实施例二
以下结合图2,图2为本申请实施例提供的一种程序测试方法的流程图,本实施例区别于实施例一的部分,是新增了S203实现在测试完成后使该被测程序可基于真实数据接口完成数据处理的部分:
S201:根据测试要求选取与真实数据接口相对应的模拟数据接口,并根据各模拟数据接口构建测试挡板;
S202:将被测程序在测试时产生的测试数据发送至测试挡板,以利用测试挡板中的模拟数据接口模拟真实数据接口对测试数据做出响应;
S203:当被测程序测试完成后,将被测程序与各模拟数据接口间的映射关系还原至对应的各真实数据接口。
在被测程序测试完成后,也就意味着测试挡板中的模拟数据接口已经不再需要,为了后续得到一个真正的发布版本,还需要做脱离测试环境的最后一步,即恢复被测程序中各真实数据接口的调用。
实施例三
以下结合图3,图3为在实施例一或二提供的程序测试方法基础上提供的一种服务实例数量弹性调整方法的流程图,具体实施步骤如下:
S301:实时监测测试数据对各模拟数据接口的使用情况;
其中,该使用情况可包括多种含义,例如单位时间内测试数据的量级、单位时间内各模拟数据接口的数据处理速度等等。
S302:当一个模拟数据接口的测试数据负载超过预设负载上限时,增加模拟数据接口的服务实例数量,直至最大实例数;
S303:当一个模拟数据接口的测试数据负载低于预设负载下限时,减少模拟数据接口的服务实例数量,直至最小实例数。
需要说明的是,服务实例是使得对应模拟数据接口完成测试数据响应所构建得到的,一个模拟数据可根据剩余系统资源数新增或删除服务实例,以通过并行的方式加快测试数据的处理。同时,本实施例的S302和S303是基于S301使用情况的两个并列分支,而非如步骤名一样存在先后顺序。
实施例四
下面请参见图4,图4为本申请实施例提供的一种程序测试系统的结构框图,该程序测试系统可以包括:
测试挡板构建单元100,用于根据测试要求选取与真实数据接口相对应的模拟数据接口,并根据各模拟数据接口构建测试挡板;
被测数据发送单元200,用于将被测程序在测试时产生的测试数据发送至测试挡板,以利用测试挡板中的模拟数据接口模拟真实数据接口对测试数据做出响应。
进一步的,该程序测试系统还可以包括:
配置参数修改单元,用于当测试要求变更时,根据具体变更内容修改测试挡板的配置参数,得到新测试挡板;
修改记录单元,用于以日志的形式记录每一个因配置参数修改而生成和替换的测试挡板;
映射关系还原单元,用于当被测程序测试完成后,将被测程序与各模拟数据接口间的映射关系还原至对应的各真实数据接口。
进一步的,该程序测试系统还可以包括:
负载监测单元,用于实时监测测试数据对各模拟数据接口的使用情况;
高负载处理单元,用于当一个模拟数据接口的测试数据负载超过预设负载上限时,增加模拟数据接口的服务实例数量,直至服务实例数量达到预设的最大实例数;
低负载处理单元,用于当一个模拟数据接口的测试数据负载低于预设负载下限时,减少模拟数据接口的服务实例数量,直至服务实例数量达到预设的最小实例数;
延迟设置单元,用于为不同的模拟数据接口对应的服务实施例设置不同的延迟处理时间。
其中,映射关系还原单元可以包括:
Host修改子单元,用于通过修改Host文件的方式将被测程序与各模拟数据接口间的映射关系还原至对应的各真实数据接口。
更进一步的,该程序测试系统还可以包括:
异常警报返回单元,用于当任一模拟数据接口返回的数据异常时,通过预设路径返回异常警报。
上述各实施例可应用于各式需要对待上线程序进行测试的实际场景中,在根据不同实际应用场景进行特化的程序中,可灵活调整构成压测挡板的模拟接口参数和功能,此处并不做具体限定。
实施例五
本实施例在上述各实施例的基础上,结合具体应用场景,在对被测程序进行压力测试的目的下,提供了一种压力测试的方法,整个压力测试过程对被测程序不做修改,仅调整压测挡板服务,因此本实施例采用将压测挡板服务单独部署的方式来解决多版本问题,一种压力测试系统可参见图5。
如图5所示的压力测试系统中,一种使用压测挡板实现压力测试的流程可参见如图6所示的流程图:
1、准备压测环境:挑选压测工具,制定压测方案,书写压测脚本;
2、配置压测挡板接口:可以通过页面配置方式调整接口返回数据策略,支持动态生成基本数据格式,支持使用自定义脚本语言返回数据;其中,脚本支持js,python,ruby,scala,groovy,perl,tcl等常用解释型语言;
3、通过修改本地host文件,将外部资源接口域名映射成压测挡板服务的IP地址(如果第三方服务没有提供域名,则修改服务IP地址为挡板IP地址)。
4、开始压测:压测过程中,被测程序会调用到压测挡板中的模拟服务接口。
为了应付压力测试中的大并发场景,本实施例也提供了一种基于访问流量进行弹性伸缩的功能,压测挡板的弹性伸缩策略可以按照以下方式进行。
1、配置弹性策略:可以根据系统资源使用情况配置弹性策略,超过配置阈值则增加服务实例个数,低于配置阈值则减少服务实例个数;
2、启动监控服务:监控服务负责轮询收集系统资源使用数据,并与步骤1的配置相比对,如果满足实例扩张条件则调用系统接口进行实例扩张。反之则进行实例缩减;
3、挡板服务实例增加后,服务分发模块使用流量的负载均衡策略,将待测程序的请求流量均衡分配到不同的挡板服务实例中。
这样便完成了根据外界请求的实际压力变化情况,来动态调整压测挡板的服务实例个数,最终促使了整个测试过程运行更加流畅。
基于上述内容,本申请还提供了一种如图7所示的压测挡板,其中,压测挡板由服务分发模块、挡板服务模块、监控服务模块、弹性配置模块组成,其中,挡板服务模块中可包括于模拟数据接口数量相同的挡板服务,服务分发模块则用于将从待测程序产生的测试数据进行分布给各挡板服务对应的服务实例,监控服务和弹性配置模块通过监控系统资源(resource)的使用情况对挡板服务对应的服务实例数(scale)进行调整。
因为情况复杂,无法一一列举进行阐述,本领域技术人员应能意识到根据本申请提供的基本方法原理结合实际情况可以存在很多的例子,在不付出足够的创造性劳动下,应均在本申请的保护范围内。
基于上述实施例,本申请还提供了一种程序测试装置,该程序测试装置可以包括存储器和处理器,其中,该存储器中存有计算机程序,该处理器调用该存储器中的计算机程序时,可以实现上述实施例所提供的步骤。当然,该程序测试装置还可以包括各种必要的网络接口、电源以及其它零部件等。
本申请还提供了一种计算机可读存储介质,其上存有计算机程序,该计算机程序被执行终端或处理器执行时可以实现上述实施例所提供的步骤。该存储介质可以包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random AccessMemory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本文中应用了具体个例对本申请的原理及实施方式进行了阐述,且各个实施例间为递进关系,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,可参见对应的方法部分说明。以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。

Claims (9)

1.一种程序测试方法,其特征在于,包括:
根据测试要求选取与真实数据接口相对应的模拟数据接口,并根据各所述模拟数据接口构建测试挡板;其中,所述模拟数据接口基于相应的真实数据接口利用仿真算法构建得到;
修改测试数据的发送路径,将被测程序在测试时产生的测试数据发送至所述测试挡板,以利用所述测试挡板中的模拟数据接口通过内置的仿真算法模拟真实数据接口对所述测试数据做出响应;其中,所述模拟数据接口用于接管原先由集成于被测程序中的真实数据接口的数据处理任务;
当所述被测程序测试完成后,将所述被测程序与各所述模拟数据接口间的映射关系还原至对应的各真实数据接口。
2.根据权利要求1所述的程序测试方法,其特征在于,还包括:
当所述测试要求变更时,根据具体变更内容修改所述测试挡板的配置参数,得到新测试挡板;
以日志的形式记录每一个因配置参数修改而生成和替换的测试挡板。
3.根据权利要求1所述的程序测试方法,其特征在于,还包括:
实时监测所述测试数据对各所述模拟数据接口的使用情况;
当一个所述模拟数据接口的测试数据负载超过预设负载上限时,增加所述模拟数据接口的服务实例数量,直至所述服务实例数量达到预设的最大实例数;
当一个所述模拟数据接口的测试数据负载低于预设负载下限时,减少所述模拟数据接口的服务实例数量,直至所述服务实例数量达到预设的最小实例数。
4.根据权利要求3所述的程序测试方法,其特征在于,还包括:
为不同的模拟数据接口对应的服务实施例设置不同的延迟处理时间。
5.根据权利要求1至4任一项所述的程序测试方法,其特征在于,将所述被测程序与各所述模拟数据接口间的映射关系还原至对应的各真实数据接口,包括:
通过修改Host文件的方式将所述被测程序与各所述模拟数据接口间的映射关系还原至对应的各真实数据接口。
6.根据权利要求5所述的程序测试方法,其特征在于,还包括:
当任一所述模拟数据接口返回的数据异常时,通过预设路径返回异常警报。
7.一种程序测试系统,其特征在于,包括:
测试挡板构建单元,用于根据测试要求选取与真实数据接口相对应的模拟数据接口,并根据各所述模拟数据接口构建测试挡板;其中,所述模拟数据接口基于相应的真实数据接口利用仿真算法构建得到;
被测数据发送单元,用于修改测试数据的发送路径,将被测程序在测试时产生的测试数据发送至所述测试挡板,以利用所述测试挡板中的模拟数据接口通过内置的仿真算法模拟真实数据接口对所述测试数据做出响应;其中,所述模拟数据接口用于接管原先由集成于被测程序中的真实数据接口的数据处理任务;
映射还原模块,用于当所述被测程序测试完成后,将所述被测程序与各所述模拟数据接口间的映射关系还原至对应的各真实数据接口。
8.一种程序测试装置,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至6任一项所述的程序测试方法的步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述的程序测试方法的步骤。
CN201811075237.0A 2018-09-14 2018-09-14 一种程序测试方法、系统、装置及计算机可读存储介质 Active CN109062806B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811075237.0A CN109062806B (zh) 2018-09-14 2018-09-14 一种程序测试方法、系统、装置及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811075237.0A CN109062806B (zh) 2018-09-14 2018-09-14 一种程序测试方法、系统、装置及计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN109062806A CN109062806A (zh) 2018-12-21
CN109062806B true CN109062806B (zh) 2021-03-23

Family

ID=64761695

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811075237.0A Active CN109062806B (zh) 2018-09-14 2018-09-14 一种程序测试方法、系统、装置及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN109062806B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110109827A (zh) * 2019-04-12 2019-08-09 平安普惠企业管理有限公司 针对页面的线上预警方法及相关装置
CN112633908B (zh) * 2019-10-09 2024-02-20 上海哔哩哔哩科技有限公司 广告测试对象生成方法、装置以及计算机设备
CN111209212B (zh) * 2020-01-17 2023-10-27 中国工商银行股份有限公司 主机联机程序测试方法、装置及系统
CN111309624B (zh) * 2020-03-02 2023-07-11 北京创鑫旅程网络技术有限公司 测试方法、装置、设备及存储介质
CN113821386A (zh) * 2020-06-19 2021-12-21 顺丰科技有限公司 性能测试方法、装置、网络设备及计算机可读存储介质
CN112035303B (zh) * 2020-09-01 2021-08-24 腾讯科技(深圳)有限公司 一种数据测试方法、装置、计算机及可读存储介质
CN114610409A (zh) * 2022-03-14 2022-06-10 中原银行股份有限公司 基于Webpack的调用系统、方法及电子设备
CN116627851B (zh) * 2023-07-24 2023-10-20 恒生电子股份有限公司 接口测试方法以及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102981947A (zh) * 2011-09-07 2013-03-20 阿里巴巴集团控股有限公司 一种测试中准备数据的方法及系统
CN104461903A (zh) * 2014-12-26 2015-03-25 北京奇虎科技有限公司 基于浏览器的测试客户端的方法和装置
CN105138448A (zh) * 2014-06-05 2015-12-09 北京畅游天下网络技术有限公司 一种在前端测试页面的方法和装置
CN108199921A (zh) * 2017-12-29 2018-06-22 上海瑞家信息技术有限公司 一种模拟测试的方法、装置及存储介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101271423B (zh) * 2008-05-19 2010-06-16 中兴通讯股份有限公司 一种软件接口测试方法及系统
CN105354143A (zh) * 2015-12-02 2016-02-24 北京奇虎科技有限公司 一种用于应用程序的测试方法及装置
GB201605360D0 (en) * 2016-03-30 2016-05-11 Microsoft Technology Licensing Llc Local chat service simulator for bot development
CN108241762A (zh) * 2016-12-26 2018-07-03 乐视汽车(北京)有限公司 用于自动驾驶仿真系统的测试系统和测试方法
CN106959926A (zh) * 2017-05-09 2017-07-18 山东浪潮商用系统有限公司 一种面向软件升级的软件测试模块及方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102981947A (zh) * 2011-09-07 2013-03-20 阿里巴巴集团控股有限公司 一种测试中准备数据的方法及系统
CN105138448A (zh) * 2014-06-05 2015-12-09 北京畅游天下网络技术有限公司 一种在前端测试页面的方法和装置
CN104461903A (zh) * 2014-12-26 2015-03-25 北京奇虎科技有限公司 基于浏览器的测试客户端的方法和装置
CN108199921A (zh) * 2017-12-29 2018-06-22 上海瑞家信息技术有限公司 一种模拟测试的方法、装置及存储介质

Also Published As

Publication number Publication date
CN109062806A (zh) 2018-12-21

Similar Documents

Publication Publication Date Title
CN109062806B (zh) 一种程序测试方法、系统、装置及计算机可读存储介质
CN101930400B (zh) Sdk自动化测试系统及方法
CN106294179B (zh) 应用程序开发过程中的模拟测试方法及服务器
CN105302722B (zh) Cts自动测试方法及装置
CN111597110B (zh) 页面测试方法、装置、电子设备及存储介质
CN110011875B (zh) 拨测方法、装置、设备及计算机可读存储介质
CN107608609B (zh) 一种事件对象发送方法与装置
CN113434355B (zh) 模块验证方法、uvm验证平台、电子设备及存储介质
CN104580302A (zh) 云服务管理系统及云联云管理系统
CN113806037A (zh) 服务的调用方法、装置、存储介质及电子设备
CN111651140B (zh) 基于工作流的服务方法及装置
CN105786636B (zh) 一种系统修复方法及装置
CN103701867A (zh) 一种处理调用请求的方法、系统及中心服务器
CN110046100B (zh) 一种分组测试的方法、电子设备及介质
CN112650689A (zh) 测试方法、装置、电子设备及存储介质
CN102984282B (zh) 智能终端获取云存储文件的媒体数据的方法和装置
CN111176891A (zh) 一种基板管理控制器配置信息的恢复方法、装置及设备
CN114003293B (zh) 接口管理方法、装置、电子设备以及可读存储介质
CN110933070A (zh) 一种用户识别方法、系统、设备及计算机可读存储介质
CN103019927B (zh) 一种性能测试方法和系统
CN114328196A (zh) 数据防泄漏系统的测试方法、装置、设备及存储介质
CN114116244A (zh) 数据处理的方法、装置及系统、电子设备及存储介质
CN110618881B (zh) 一种模拟消息队列的方法及系统
CN108845845B (zh) 一种快捷键创建方法、装置、电子设备及存储介质
CN111797025A (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
GR01 Patent grant
GR01 Patent grant