CN115994079A - 测试方法、装置、电子设备、存储介质及程序产品 - Google Patents
测试方法、装置、电子设备、存储介质及程序产品 Download PDFInfo
- Publication number
- CN115994079A CN115994079A CN202111215601.0A CN202111215601A CN115994079A CN 115994079 A CN115994079 A CN 115994079A CN 202111215601 A CN202111215601 A CN 202111215601A CN 115994079 A CN115994079 A CN 115994079A
- Authority
- CN
- China
- Prior art keywords
- data set
- test
- service
- sample data
- 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
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明实施例公开了一种测试方法、装置、电子设备、存储介质及程序产品,该测试方法通过生成样本数据集合,将样本数据集合存储至基准数据库,根据样本数据集合生成测试用例,当目标程序的版本发生变更,触发版本变更后的目标程序运行测试用例后,确定测试用例对应的链路标识,根据链路标识快捷地从基准数据库中获取对应的样本数据集合,便于将测试数据集合与样本数据集合进行比对,得到测试结果。上述测试方法可以实现快捷的全链路级的自动化测试,达到精细化测试的效果,有利于提高测试结果的准确性和可靠性,提高目标程序运行的稳定性和鲁棒性,本发明实施例提供的测试方法可应用于云技术、人工智能、智慧交通、辅助驾驶等程序的测试场景。
Description
技术领域
本发明涉及数据处理技术领域,特别是涉及一种测试方法、装置、电子设备、存储介质及程序产品。
背景技术
随着互联网通信技术的不断发展,基于互联网通信技术,利用不同的程序提供各类业务服务已经成为主流趋势。为保证业务功能的有效实现,需要对目标程序进行相关测试。
相关技术中,对目标程序的运行情况进行测试往往需要人工编写测试用例,运行测试用例后,通过该测试用例的实际运行结果与测试用例中的预期运行结果进行比对,来确定目标程序的运行情况,通过上述方式对目标程序进行测试,测试结果的可靠性有待提高。
发明内容
以下是对本文详细描述的主题的概述。本概述并非是为了限制权利要求的保护范围。
本发明实施例提供了一种测试方法、装置、电子设备、存储介质及程序产品,可以实现快捷的全链路级的自动化测试,达到精细化测试的效果,有利于提高测试结果的准确性和可靠性,提高目标程序运行的稳定性和鲁棒性。
一方面,本发明实施例提供了一种测试方法,包括:
生成样本数据集合,将所述样本数据集合存储至基准数据库,所述样本数据集合包括处理目标程序的业务请求时调用的多个服务模块的处理数据,每个所述服务模块的所述处理数据均包括链路标识,所述链路标识用于标识由多个所述服务模块形成的服务调用链路;
根据所述样本数据集合生成测试用例;
当所述目标程序的版本发生变更,触发版本变更后的目标程序运行所述测试用例,得到测试数据集合,确定所述测试用例对应的所述链路标识,根据所述链路标识从所述基准数据库中获取对应的所述样本数据集合,将所述测试数据集合与所述样本数据集合进行比对,得到测试结果。
另一方面,本发明实施例还提供了一种测试装置,包括:
数据生成模块,用于生成样本数据集合,将所述样本数据集合存储至基准数据库,所述样本数据集合包括处理目标程序的业务请求时调用的多个服务模块的处理数据,每个所述服务模块的所述处理数据均包括链路标识,所述链路标识用于标识由多个所述服务模块形成的服务调用链路;
用例生成模块,用于根据所述样本数据集合生成测试用例;
数据比对模块,用于当所述目标程序的版本发生变更,触发版本变更后的目标程序运行所述测试用例,得到测试数据集合,确定所述测试用例对应的所述链路标识,根据所述链路标识从所述基准数据库中获取对应的所述样本数据集合,将所述测试数据集合与所述样本数据集合进行比对,得到测试结果。
进一步,上述数据生成模块具体用于:
获取所述服务调用链路中每个服务模块的请求数据,将所述请求数据转发至对应的服务模块;
获取基于所述请求数据返回的应答数据,将所述应答数据转发至对应的服务模块;
根据预设数据类型将每个所述服务模块的所述请求数据和所述应答数据进行合并,得到每个所述服务模块的所述处理数据;
将多个所述服务模块的所述处理数据合并得到所述样本数据集合。
进一步,上述数据生成模块具体用于:
调用目标函数对所述样本数据集合进行序列化处理,得到目标数据集合;
获取基于预设文件格式进行编译的目标文件,根据所述目标文件将所述目标数据集合转化成目标文件格式;
将转化成所述目标文件格式的所述目标数据集合存储至所述基准数据库。
进一步,上述测试装置还包括数据萃取模块,上述数据萃取模块用于:
将所述样本数据集合添加至任务列表中;
响应于任务处理指令,从所述任务列表中获取所述样本数据集合,将所述样本数据集合发送至线程池中;
响应于线程处理指令,从所述线程池中提取出所述样本数据集合,对所述样本数据集合进行校验。
进一步,上述数据萃取模块具体用于以下至少之一:
根据所述样本数据集合将所述目标程序处理所述业务请求时调用的多个所述服务模块进行串联,得到所述服务调用链路,将所述服务调用链路与预设调用链路进行比对,确定所述服务调用链路的完整性;
或者,
从所述样本数据集合中提取出用于标识所述样本数据集合的第一标签,从所述基准数据库中提取出多个第二标签,根据所述第一标签与多个所述第二标签之间的匹配关系,确定所述样本数据集合在所述基准数据库中的存储状态,所述存储状态为已存储于所述基准数据库或者未存储于所述基准数据库。
进一步,上述用例生成模块具体用于:
根据所述样本数据集合得到所述服务调用链路中每个所述服务模块的请求数据和应答数据,以及所述服务调用链路对应的所述链路标识;
获取预设用例模板,将所述请求数据和所述应答数据添加至所述预设用例模板中对应的位置,得到所述测试用例;
根据所述链路标识对所述测试用例进行标识。
进一步,上述用例生成模块还用于:
将所述服务调用链路中每个所述服务模块的所述应答数据进行合并,得到结果模拟数据;
生成所述结果模拟数据对应的结果模拟标识;
根据所述结果模拟数据以及所述结果模拟标识生成键值对,将所述键值对添加至所述测试用例中。
进一步,上述数据比对模块还用于:
触发版本变更后的所述目标程序根据所述测试用例生成测试请求;
确定处理所述测试请求时当前调用的第一服务模块,获取所述第一服务模块旁路的第二服务模块的模拟状态,所述模拟状态用于表征所述第二服务模块返回至所述第一服务模块的应答数据需要进行模拟或者不需要进行模拟;
当所述模拟状态表征所述第二服务模块返回至所述第一服务模块的应答数据需要进行模拟,根据所述结果模拟标识获取所述结果模拟数据,将所述结果模拟数据作为所述第二服务模块返回至所述第一服务模块的应答数据。
进一步,上述数据比对模块还用于:
根据预设频率在持续集成平台中运行所述测试用例;
累计所述测试用例在所述持续集成平台中的运行成功次数;
当所述运行成功次数大于或者等于预设次数阈值,将所述测试用例添加至所述持续集成平台的用例库。
进一步,上述数据比对模块还用于:
获取所述测试用例在所述持续集成平台中成功运行的历史运行时间,根据所述历史运行时间确定目标运行时间;
获取在所述目标运行时间运行所述测试用例所得到的基准数据集合,利用所述基准数据集合更新所述基准数据库中的所述样本数据集合。
进一步,上述数据比对模块还用于:
将所述测试数据集合与所述样本数据集合中对应相同服务模块的请求数据进行比对;
或者,
将所述测试数据集合与所述样本数据集合中对应相同服务模块的应答数据进行比对。
进一步,上述数据比对模块还用于:
根据预设筛选规则从所述测试数据集合与所述样本数据集合中筛选出待剔除数据,将所述待剔除数据进行剔除;
其中,所述根据预设筛选规则从所述测试数据集合与所述样本数据集合中筛选出待剔除数据,包括以下至少之一:
将数据属性为随机数的数据作为所述待剔除数据,从所述测试数据集合与所述样本数据集合中筛选出所述待剔除数据;
或者,
利用通配符从所述测试数据集合与所述样本数据集合中筛选出所述待剔除数据;
或者,
从目标类型的数据中提取出可变字符串,将所述可变字符串作为所述待剔除数据,从所述测试数据集合与所述样本数据集合中筛选出所述待剔除数据。
进一步,所述目标程序在第一操作环境中生成所述业务请求,所述目标程序在第二操作环境中运行所述测试用例,上述数据生成模块还用于:
确定所述业务请求的请求类型;
根据预设的业务分类规则,确定所述请求类型的风险等级;
当所述风险等级小于或者等于预设等级阈值,将所述样本数据集合确定为待生成数据集合。
另一方面,本发明实施例还提供了一种电子设备,包括存储器、处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述的测试方法。
另一方面,本发明实施例还提供了一种计算机可读存储介质,所述存储介质存储有程序,所述程序被处理器执行实现上述的测试方法。
另一方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行实现上述的测试方法。
本发明实施例至少包括以下有益效果:本发明实施例通过生成样本数据集合,将样本数据集合存储至基准数据库,根据样本数据集合生成测试用例,由于样本数据集合包括处理目标程序的业务请求时调用的多个服务模块的处理数据,因此,当目标程序的版本发生变更,触发版本变更后的目标程序运行测试用例后,可以实现目标程序在整条服务调用链路中的测试,进而得到测试数据集合;接着,确定测试用例对应的链路标识,由于每个服务模块的处理数据均包括链路标识,且链路标识用于标识多个服务模块形成的服务调用链路,因此,可以根据链路标识快捷地从基准数据库中获取对应的样本数据集合,便于将测试数据集合与样本数据集合进行比对,得到测试结果。可见,本发明实施例提供的测试方法可以实现快捷的全链路级的自动化测试,达到精细化测试的效果,有利于提高测试结果的准确性和可靠性,提高目标程序运行的稳定性和鲁棒性。
本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。
图1为本发明实施例提供的一种实施环境的示意图;
图2为本发明实施例提供的测试系统的架构图;
图3为本发明实施例提供的测试方法的流程图;
图4为本发明实施例提供的处理数据管理界面示意图;
图5为本发明实施例提供的中转抓包服务的处理过程示意图;
图6为本发明实施例提供的数据萃取服务的处理过程示意图;
图7为本发明实施例提供的用例生成服务的处理过程示意图;
图8为本发明实施例提供的持续集成流水线的部分示意图;
图9为本发明实施例提供的自动化执行模块的处理过程示意图;
图10为本发明实施例提供的测试用例统计界面示意图;
图11为本发明实施例提供的测试方法的整体工作原理示意图;
图12为本发明实施例提供的测试方法的完整流程图;
图13为本发明实施例提供的服务调用链路的例子示意图;
图14为本发明实施例提供的测试装置的结构示意图;
图15为本发明实施例提供的服务器的部分的结构框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
对本发明实施例进行进一步详细说明之前,对本发明实施例中涉及的名词和术语进行说明,本发明实施例中涉及的名词和术语适用于如下的解释:
持续集成(Continuousintegration,CI),是指频繁自动地将代码集成到主干和生产环境,从而可以确定新代码和原有代码能否正确地集成在一起。
每日构建(Dailybuild),一种定时触发的持续集成方法。
测试用例(Test Case),指对一项特定的程序产品进行测试任务的描述,体现测试方案、方法、技术和策略等。
使用对象,可以是目标程序的使用者,或者,也可以是目标程序的账号。
相关技术中,对目标程序的运行情况进行测试往往需要人工编写测试用例,运行测试用例后,通过该测试用例的实际运行结果与测试用例中的预期运行结果进行比对,来确定目标程序的运行情况,然而,采用人工编写的测试用例得到的测试结果,其可靠性有待提高,例如,人工编写测试用例容易出现错漏的情况,又或者,人工编写测试用例往往只能考虑目标程序整体的运行情况,无法更加细节化地进行测试。
基于此,本发明实施例提供了一种测试方法、装置、电子设备、存储介质及程序产品,可以实现快捷的全链路级的自动化测试,达到精细化测试的效果,有利于提高测试结果的准确性和可靠性,提高目标程序运行的稳定性和鲁棒性。
本发明实施例提供的测试方法可应用于云技术、人工智能、智慧交通、辅助驾驶等程序的测试场景,下面结合附图详细说明本发明实施例提供的测试方法的具体原理。
参照图1,图1为本发明实施例提供的一种实施环境的示意图,该实施环境包括服务器101和终端102,其中,终端102和服务器101之间通过通信网络103连接。
服务器101可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。
另外,服务器101还可以是区块链网络中的一个节点服务器。
终端102可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表、车载终端等,但并不局限于此。终端102以及服务器101可以通过有线或无线通信方式进行直接或间接地连接,本发明实施例在此不做限制。
其中,图1所示的终端102可以是用于进行测试的终端,终端102可以在测试环境中运行待测的目标程序,然后向服务器101发送业务请求,服务器101在处理业务请求的过程中生成包含有链路标识的样本数据集合,将样本数据集合存储至基准数据库,然后根据样本数据集合生成测试用例,当目标程序的版本发生变更,触发版本变更后的目标程序运行测试用例,服务器101即得到测试数据集合,然后确定测试用例对应的链路标识,根据链路标识从基准数据库中获取对应的样本数据集合,将测试数据集合与样本数据集合进行比对,得到测试结果。
可以理解的是,终端102也可以在正式环境中运行待测的目标程序。
另外,目标程序也可以直接运行于服务器101中,此时可以仅利用服务器101完成对目标程序的测试。
参照图2,图2为本发明实施例提供的测试系统的架构图,本发明实施例提供的测试系统的架构包括中转抓包服务、数据萃取服务、用例生成服务以及自动化执行模块,自动化执行模块主要包括有用例运行服务、数据比对服务、数据读取服务、配置中心以及报告生成服务。中转抓包服务主要用于捕获处理目标程序的业务请求时调用的多个服务模块的处理数据,生成样本数据集合并对样本数据集合进行存储;数据萃取服务主要用于根据预设筛选规则对样本数据集合进行校验筛选;用例生成服务主要用于自动生成测试用例;自动化执行模块主要用于进行测试用例准入、数据比对、噪音处理、测试报告生成等。其中,中转抓包服务、数据萃取服务、用例生成服务以及自动化执行模块之间相互联动,实现自动化测试,具体地,中转抓包服务的样本数据集合会自动传递至数据萃取服务进行校验,符合条件的样本数据集合会自动传递至用例生成服务生成测试用例,自动化执行模块会持续监控目标程序的版本,一旦目标程序的版本发生变更,自动化执行模块便会触发版本变更后的目标程序运行测试用例,以得到测试结果。
基于图1所示的实施环境以及图2所示的测试系统架构,下面详细说明本发明实施例提供的测试方法的原理。参照图3,图3为本发明实施例提供的测试方法的流程图,示例性地,该测试方法可以由图1的服务器101执行,或者可以由图1的终端102执行,或者也可以由图1的服务器101以及终端102共同执行,下面以该测试方法由服务器101执行为例子进行说明,该测试方法包括但不限于以下步骤301至步骤303。
步骤301:生成样本数据集合,将样本数据集合存储至基准数据库。
本步骤可以由图2所示的中转抓包服务执行,其中,样本数据集合用于后续自动生成测试用例,样本数据集合由服务器在处理目标程序的业务请求时生成,目标程序即待测试的程序,目标程序的业务请求用于在目标程序中实现相应的功能,例如推广信息显示、即时通信消息发送、快捷支付、游戏操作等等。
在一种可能的实现方式中,服务器接收到业务请求后,需要通过服务接口来调用对应的服务,进而处理该业务请求,该服务一般设置有多个服务模块,即需要调用多个服务模块来处理该业务请求,此时,多个服务模块可以形成服务调用链路,例如,在处理业务请求的过程中调用了服务模块S1、服务模块S2、服务模块S3和服务模块S4,S1-S2-S3-S4可以形成服务调用链路,当然,服务调用链路中服务模块的顺序以及数量需要根据实际情况确定,并且,处理同一个业务请求可以调用多条服务调用链路。相应地,在本发明实施例中,样本数据集合包括处理目标程序的业务请求时调用的多个服务模块的处理数据,其中,每个服务模块的处理数据可以为请求数据或者应答数据,请求数据即某个服务模块发送至下游服务模块的数据,应答数据即某个服务模块发送至上游服务模块的数据,以上述服务调用链路S1-S2-S3-S4为例进行说明,服务模块S2的请求数据为发送至服务模块S3的数据,而服务模块S2的请求数据为发送至服务模块S1的数据。可以理解的是,对于服务模块S1来说,其应答数据可以为返回至目标程序的数据,即可以是整个服务的服务接口的返回数据。而对于服务模块S4来说,其处理数据可以只包括返回数据。
另外,每个服务模块的处理数据均包括链路标识,链路标识用于标识多个服务模块形成的服务调用链路,以上述服务调用链路S1-S2-S3-S4为例进行说明,服务模块S1的处理数据、服务模块S2的处理数据、服务模块S3的处理数据以及服务模块S4的处理数据均包括有同一个链路标识,因此,可以利用链路标识快捷准确地确定上述服务调用链路S1-S2-S3-S4。
在生成样本数据集合后,可以将样本数据集合存储至基准数据库,基准数据库用于存储作为后续测试对比基准的数据,从而便于在后续从基准数据库中读取样本数据集合进行数据比对。在实际应用中,样本数据集合的数量可以为多个,因此基准数据库中可以存储有多个作为后续测试对比基准的数据。
步骤302:根据样本数据集合生成测试用例。
本步骤可以由图2所示的用例生成服务执行,具体地,可以先根据样本数据集合得到服务调用链路中每个服务模块的请求数据和应答数据,以及服务调用链路对应的链路标识,然后获取预设用例模板,将请求数据和应答数据添加至预设用例模板中对应的位置,即可得到测试用例,接着再根据链路标识对测试用例进行标识。
其中,通过预设用例模板来生成测试用例,可以实现测试用例的自动化生成,具有效率高的优点。预设用例模板中可以设置有请求数据和应答数据的相应字段,在生成测试用例时,将请求数据或者应答数据添加至对应的字段中即可。
示例性地,请求数据或者应答数据可以包括服务模块名称、接口名称、接口标识、请求来源IP地址、请求来源端口、请求目的IP地址、请求目的端口、请求原文、应答原文、请求类型、路由值、请求解析明文、应答解析明文、链路标识、请求时间中的一种或者多种,本发明实施例不做限定。基于此,预设用例模板中也可以相应设置有多个不同的字段,将请求数据或者应答数据添加至对应的字段中,可以将对应的数据添加至对应的字段中,例如可以是将服务模块名称添加至服务模块名称字段中、将接口名称添加至接口名称字段中,以此类推。
另外,预设用例模板的形式可以为表格、代码等,本发明实施例不做限定。
步骤303:当目标程序的版本发生变更,触发版本变更后的目标程序运行测试用例,得到测试数据集合,确定测试用例对应的链路标识,根据链路标识从基准数据库中获取对应的样本数据集合,将测试数据集合与样本数据集合进行比对,得到测试结果。
其中,目标程序的版本发生变更,可以是目标程序的至少一部分代码进行更新。本步骤可以由图2所示的自动化执行模块执行,具体地,当目标程序的版本发生变更时,会触发版本变更后的目标程序运行测试用例,得到测试数据集合,测试数据集合即测试用例的运行结果,与样本数据集合相类似,测试数据集合也包括在运行测试用例时调用的多个服务模块的处理数据。
接着,由于基准数据库存储有多个样本数据集合,因此先通过确定该测试用例对应的链路标识,根据该链路标识从基准数据库中获取对应的样本数据集合,再将测试数据集合与样本数据集合进行比对。具体地,由于测试数据集合和样本数据集合均包括多个服务模块的处理数据,因此在将测试数据集合与样本数据集合进行比对时,可以分别将每个服务模块对应的处理数据进行比对,即将测试数据集合与样本数据集合中对应相同服务模块的请求数据进行比对,或者将测试数据集合与样本数据集合中对应相同服务模块的应答数据进行比对,例如,以上述服务调用链路S1-S2-S3-S4为例进行说明,样本数据集合中对应服务模块S1的请求数据为Req1、应答数据为Res1,测试数据集合中对应服务模块S1的请求数据为Req2、应答数据为Res2,则将Req1与Req2进行比对,将Res1与Res2进行比对,其他服务模块的处理数据的比对原理相类似,在此不再赘述。在本发明实施例中,既比对测试数据集合和样本数据集合中的请求数据,也比对测试数据集合和样本数据集合中的应答数据,可以通过比对应答数据来进行针对不同类型目标程序的运行校验,具有业务相关性,从而实现对目标程序的精细化测试,例如通过比对测试数据集合和样本数据集合中的应答数据,可以实现业务请求处理过程中的日志检查。
上述步骤301至步骤303通过生成样本数据集合,将样本数据集合存储至基准数据库,根据样本数据集合生成测试用例,由于样本数据集合包括处理目标程序的业务请求时调用的多个服务模块的处理数据,因此,当目标程序的版本发生变更,触发版本变更后的目标程序运行测试用例后,可以实现目标程序在整条服务调用链路中的测试,进而得到测试数据集合;接着,确定测试用例对应的链路标识,由于每个服务模块的处理数据均包括链路标识,且链路标识用于标识多个服务模块形成的服务调用链路,因此,可以根据链路标识快捷地从基准数据库中获取对应的样本数据集合,便于将测试数据集合与样本数据集合进行比对,得到测试结果。可见,本发明实施例提供的测试方法可以实现快捷的全链路级的自动化测试,达到精细化测试的效果,有利于提高测试结果的准确性和可靠性,提高目标程序运行的稳定性和鲁棒性。
其中,目标程序可以在第一操作环境中生成业务请求,而该目标程序在第二操作环境中运行测试用例,或者,目标程序也可以在第二操作环境生成业务请求以及运行测试用例。其中,第一操作环境为正式环境,正式环境即使用对象正常使用目标程序的环境,第二操作环境为测试环境,测试环境即为测试该目标程序专门搭建的环境。相关技术中,为了提高目标程序的使用稳定性,一般情况下会在测试环境中生成业务请求以及运行测试用例。
而在本发明实施例中,目标程序在第一操作环境中生成业务请求,相应地,在生成样本数据集合之前,先确定业务请求的请求类型,根据预设的业务分类规则,确定请求类型的风险等级,当风险等级小于或者等于预设等级阈值,将样本数据集合确定为待生成数据集合。例如,业务请求的请求类型可以是支付请求、信息发送请求、推广信息拉取请求、游戏操作请求等等。业务分类规则包含了不同请求类型的业务请求所对应的风险等级,例如,根据风险由高到低进行排序,风险等级可以依次为三级、二级和一级,上述支付请求、信息发送请求的风险等级可以为三级,推广信息拉取请求的风险等级可以为二级,游戏操作请求的风险等级可以为一级。预设等级阈值可以为二级,基于此,则当业务请求的请求类型为推广信息拉取请求或者游戏操作请求时,才生成该业务请求对应的样本数据集合,既可以使得样本数据集合的来源更加丰富,提高测试的可靠性,也可以降低在正式环境中生成业务请求对目标程序的使用稳定性的影响。
可以理解的是,上述业务分类规则以及预设等级阈值可以根据实际情况而定,本发明实施例不做限定。
在一种可能的实现方式中,上述步骤301中,生成样本数据集合,具体可以获取服务调用链路中每个服务模块的请求数据,将请求数据转发至对应的服务模块,获取基于请求数据返回的应答数据,将应答数据转发至对应的服务模块,根据预设数据类型将每个服务模块的请求数据和应答数据进行合并,得到每个服务模块的处理数据,将多个服务模块的处理数据合并得到样本数据集合。
相关技术中,一般采用双引擎回归的测试方式来获取样本数据,该测试方式基于双引擎回归平台,双引擎回归平台是一个将某个使用对象正常使用目标程序的过程中产生的数据复制后作为样本数据的测试平台,然而,这种方式灵活性差,由于需要进行数据复制,目标程序的代码需要进行改造,因此具有业务侵入性。而在本发明实施例中,中转抓包服务作为请求数据或者应答数据的中转站,对请求数据或者应答数据进行转发,因此对于目标程序来说,无须任何的代码改造,可见,本发明实施例中在生成样本数据集合时不具有业务侵入性,从而能够降低开发接入成本,并且提高测试方法的通用性。
另外,在生成样本数据集合以后,还可以通过图形操作界面对样本数据集合进行管理。例如,参照图4,图4为本发明实施例提供的处理数据管理界面示意图,其中,可以通过服务模块名称、接口名称、路由值、链路标识、请求来源IP地址、请求来源端口、请求目的IP地址、请求目的端口、请求时间等信息检索出对应的样本数据集合,检索出对应的样本数据集合后,可以显示数据信息区域,该数据信息区域用于显示样本数据集合中的具体数据,例如服务模块名称、接口名称、状态、路由值、链路标识、请求来源IP地址、请求来源端口、请求目的IP地址、请求目的端口、业务请求耗时、环境类型、所属容器、数据创建时间等等,并且,数据信息区域中可以设置有操作按钮401,通过对操作按钮401进行导出、复制等操作。另外,数据信息区域中还设置有明文显示子区域402,明文显示子区域402用于显示请求数据或者应答数据的解析明文,可以通过点击“请求解析明文”或者“应答解析明文”进行切换显示。并且,明文显示子区域402中可以设置有复制按钮403,通过复制按钮403可以对解析明文进行复制,从而便于进行后续的数据处理,提高效率。
在一种可能的实现方式中,上述步骤301中,将样本数据集合存储至基准数据库,具体可以调用目标函数对样本数据集合进行序列化处理,得到目标数据集合,获取基于预设文件格式进行编译的目标文件,根据目标文件将目标数据集合转化成目标文件格式,将转化成目标文件格式的目标数据集合存储至基准数据库。
具体地,对样本数据集合进行序列化处理,有利于提高数据的扩展性,缩小数据的占用空间,提高存储效率。其中,目标函数可以采用Protobuf的ParseFromString函数,Protobuf是一个具有高效的协议数据交换格式工具库,目标文件的预设文件格式可以是Protobuf格式,将目标数据集合转化成目标文件格式,可以是将目标数据集合转化成json格式。可以理解的是,本发明实施例并不对目标函数、预设文件格式以及目标文件格式做限定。
下面结合附图整体说明本发明实施例中中转抓包服务的工作过程。参照图5,图5为本发明实施例提供的中转抓包服务的处理过程示意图,中转抓包服务的处理过程主要包括数据抓取阶段和数据处理阶段,首先,在数据抓取阶段,中转抓包服务获取请求数据,然后将请求数据转发至对应的服务模块,再获取对应的服务模块返回的应答数据,将所有请求数据以及应答数据统一用ServiceProto对象存储,生成样本数据集合,并将样本数据集合发布至redis消息队列中。然后,在数据处理阶段,订阅对应的redis消息队列,从redis消息队列中提取出样本数据集合,对样本数据集合进行解析,解析方式对应上述ServiceProto对象的存储方式,解析后得到多个服务模块的请求数据以及应答数据,并且,每个服务模块的请求数据以及应答数据均包括链路标识,然后,再利用Protobuf的ParseFromString函数和预先编译好的Protobuf格式文件,将请求数据以及应答数据转化成json格式,存储至基准数据库中,请求数据和应答数据的具体字段前面已经进行详细描述,在此不再赘述。其中,中转抓包服务在生成样本数据集合以后,将样本数据集合发布至redis消息队列中,一方面,可以便于在数据处理阶段订阅对应的redis消息队列,从而自redis消息队列中提取出样本数据集合,另一方面,也可以供数据萃取服务从redis消息队列中提取出样本数据集合进行数据的校验筛选,从而可以使得测试的处理过程更加简洁流畅,提高测试效率。
在一种可能的实现方式中,将样本数据集合存储至基准数据库之前,可以先对样本数据集合进行校验,当样本数据集合校验通过,再将该样本数据集合存储至基准数据库。对于图5所示的中转抓包服务处理过程来说,即当样本数据集合校验通过,才在数据处理阶段订阅对应的redis消息队列,从而自redis消息队列中提取出样本数据集合。
具体地,可以将样本数据集合添加至任务列表中,响应于任务处理指令,从任务列表中获取样本数据集合,将样本数据集合发送至线程池中,响应于线程处理指令,从线程池中提取出样本数据集合,对样本数据集合进行校验。基于任务列表、线程池的方式来对样本数据集合进行校验,可以实现样本数据集合校验的异步处理,使得样本数据集合的校验效率更高。
具体地,对样本数据集合进行校验,可以是根据样本数据集合将目标程序处理业务请求时调用的多个服务模块进行串联,得到服务调用链路,将服务调用链路与预设调用链路进行比对,确定服务调用链路的完整性。其中,如前所述,由于样本数据集合包括有服务模块名称,因此将多个服务模块串联即可得到服务调用链路,预设调用链路即目标程序的业务请求被正常处理时的调用链路。因此,通过将服务调用链路与预设调用链路进行比对,确定目标程序处理业务请求时的服务调用链路的服务调用模块是否缺失,或者确定服务调用模块是否调用错误,从而确定服务调用链路的完整性。通过对服务调用链路的完整性进行校验,提高后续根据样本数据集合生成测试用例、将测试数据集合与样本数据集合进行比对的可靠性,从而提高测试方法整体的可靠性。
在确定服务调用链路完整的前提下,再将样本数据集合存储至基准数据库,以及后续根据样本数据集合生成测试用例。
另外,对样本数据集合进行校验,也可以是从样本数据集合中提取出用于标识样本数据集合的第一标签,从基准数据库中提取出多个第二标签,根据第一标签与多个第二标签之间的匹配关系,确定样本数据集合在基准数据库中的存储状态,存储状态为已存储于基准数据库或者未存储于基准数据库。其中,样本数据集合还可以包括上述第一标签,由于基准数据库中可以存储有多个样本数据集合,已存储于基准数据库中的样本数据集合的标签为第二标签,通过第一标签与多个第二标签之间的匹配关系,可以确定样本数据集合是否已经存储于基准数据库中,具体地,当第一标签与某个第二标签相匹配时,则表明该样本数据集合已经存储于基准数据库中,那么该样本数据集合为旧数据,可以将该样本数据集合舍弃。另外,除了直接利用第一标签标识样本数据集合以外,也可以利用第一标签分别标识不同服务模块的请求数据和应答数据,后续再与第二标签比对的原理相类似,在此不再赘述。通过采用第一标签和第二标签的方式,可以简单快捷地判断出样本数据集合是否为新数据,从而减少样本数据集合的重复存储以及测试用例的重复生成,减少无效处理,提高测试效率,以及降低基准数据库的空间占用。
在确定样本数据集合为新数据的前提下,再将样本数据集合存储至基准数据库,以及后续根据样本数据集合生成测试用例。
可以理解的是,上述两种样本数据集合的校验方式可以选择至少一种执行,即可以仅校验服务调用链路的完整性;或者,也可以仅校验样本数据集合是否为新数据;或者,既校验服务调用链路的完整性,也校验样本数据集合是否为新数据。
上述对样本数据集合进行校验可以由数据萃取服务完成,上述数据萃取服务可以为多线程服务,其包含了多个类服务,下面结合附图整体说明本发明实施例中数据萃取服务的工作过程。参照图6,图6为本发明实施例提供的数据萃取服务的处理过程示意图,数据萃取服务包括的多个类服务具体为启动类服务、进程服务类服务、消息中心类服务、任务管理类服务和任务处理类服务。具体地,可以先通过启动类服务初始化日志库(logger)以及样本数据集合的校验规则(前述的服务调用链路完整性以及样本数据集合的存储状态),然后启动进程服务类服务,通过进程服务类服务初始化消息中心类服务以及任务处理类服务;接着,通过进程服务类服务初始化redis服务、注册redis频道以及消息监听器、启动消息处理线程处理redis订阅消息、处理redis订阅消息并将样本数据集合添加至任务列表中,消息中心类服务用于接收redis订阅消息;接着,通过进程服务类服务启动任务处理线程,响应于任务处理指令,从任务列表中获取待处理任务(样本数据集合)放入线程池中,任务管理类服务用于维护任务列表,管理待处理任务;最后,响应于线程处理指令,任务处理类服务从线程池中提取出样本数据集合,通过校验规则校验样本数据集合是否为新数据,通过校验规则校验样本数据集合的服务调用链路的完整性,将通过校验的样本数据集合作为新测试用例的生成对象,添加至任务列表中,等待下一步测试用例的生成。通过多个类服务来对样本数据集合进行校验,实现样本数据校验的异步处理,可以提高样本数据校验的效率。
在实际的测试过程中,考虑到某些类型的目标程序运行时,可能会存在调用的某些服务模块的应答数据的随机性或者特异性较高,例如,某个目标应用程序具备邮件自动发送功能,每天下午五点会自动从服务器中获取邮件进行发送,当对该目标程序进行测试时,则需要等待至下午五点,才能测试该目标应用程序是否能够准时并且成功调用服务器中的相应的服务模块来进行邮件的获取与发送,明显降低了测试效率。
基于此,在步骤302中,根据样本数据集合生成测试用例,具体还可以将服务调用链路中每个服务模块的应答数据进行合并,得到结果模拟数据,生成结果模拟数据对应的结果模拟标识,根据结果模拟数据以及结果模拟标识生成键值对,将键值对添加至测试用例中。
其中,结果模拟数据用于在测试时模拟对应的服务模块的应答数据,当某个服务模块的应答数据的随机性或者特异性较高时,在运行测试用例的过程中可以利用该结果模拟数据来代替对应的服务模块的应答数据,从而提高测试效率。
具体地,键值对可以用于表征结果模拟数据以及结果模拟标识之间的对应关系,结果模拟标识可以作为“键”,结果模拟数据可以作为“值”,结果模拟标识可以包括在测试请求中,结果模拟数据可以存储于基准数据库中。当已知结果模拟标识时,可以根据结果模拟标识与结果模拟数据的对应关系从基准数据库中获取对应的结果模拟数据。
相应地,基于上述结果模拟数据的处理过程,在步骤303中,触发版本变更后的目标程序运行测试用例,具体可以是触发版本变更后的目标程序根据测试用例生成测试请求,确定处理测试请求时当前调用的第一服务模块,获取第一服务模块旁路的第二服务模块的模拟状态,当模拟状态表征第二服务模块返回至第一服务模块的应答数据需要进行模拟,根据结果模拟标识获取结果模拟数据,将结果模拟数据作为第二服务模块返回至第一服务模块的应答数据。
其中,模拟状态用于表征第二服务模块返回至第一服务模块的应答数据需要进行模拟或者不需要进行模拟。第一服务模块旁路的第二服务模块,表示第二服务模块为第一服务模块的下游服务模块,或者,在某些情况下,也可以表示第二服务模块为第一服务模块的并列服务模块。由于测试用例中包括有结果模拟数据以及结果模拟标识生成的键值对,在运行测试用例过程中,当确认某个服务模块的应答数据需要进行模拟时,则可以从测试请求中提取出结果模拟标识,根据该结果模拟标识获取对应的结果模拟数据,来代替该服务模块的应答数据。
例如,以上述服务调用链路S1-S2-S3-S4为例进行说明,假设当前调用的第一服务模块为服务模块S3,则第二服务模块为服务模块S4,当服务模块S4的应答数据需要模拟时,从测试请求中提取出服务模块S4对应的结果模拟标识,根据该结果模拟标识从基准数据库中获取对应的结果模拟数据,作为服务模块S4的应答数据返回至服务模块S3。
下面结合附图整体说明本发明实施例中用例生成服务的工作过程。参照图7,图7为本发明实施例提供的用例生成服务的处理过程示意图,上述用例生成服务也可以包含多个类服务,具体包括用例生成方法类服务、用例生成控制类服务以及模拟数据生成类服务,用例生成方法类服务用于暴露用例生成方法以及模拟数据生成方法,用例生成控制类服务调用该用例生成方法,接收数据萃取服务传递的样本数据集合,根据预设用例模板生成测试用例,根据链路标识存储该测试用例。模拟数据生成类服务调用模拟数据生成方法,根据链路标识获取处理业务请求的过程中所有旁路的服务模块的应答数据,将这些应答数据保存成结果模拟数据,并生成对应的结果模拟标识,作为测试用例中的一个键值对。后续运行测试用例时,当存在服务模块需要进行应答数据的模拟,则通过模拟服务(附图未展示)提取出测试请求中的结果模拟标识,根据结果模拟标识获取对应的结果模拟数据作为应答数据。
本发明实施例提供的测试方法可以基于持续集成平台实现,以提高测试方法的自动化程度。当目标程序更新后的代码提交至持续集成平台后,持续集成平台即触发版本变更后的目标程序运行测试用例。其中,持续集成平台中可以设置有用例库,用例库可以用于存储多个测试用例,当目标程序的代码更新后,持续集成平台可以自动从用例库中获取并运行测试用例,达到自动化测试的效果。基于此,在触发版本变更后的目标程序运行测试用例之前,可以先根据预设频率在持续集成平台中运行测试用例,并累计测试用例在持续集成平台中的运行成功次数,当运行成功次数大于或者等于预设次数阈值,将测试用例添加至持续集成平台的用例库。
其中,根据预设频率在持续集成平台中运行测试用例,可以通过每日构建实现。当某个测试用例运行成功次数大于或者等于预设次数阈值,表明该测试用例运行稳定,可以添加至用例库中用于后续的测试。预设次数阈值可以根据实际情况设置,例如可以是5次、10次等,本发明实施例不做限定。
另外,还可以获取测试用例在持续集成平台中成功运行的历史运行时间,根据历史运行时间确定目标运行时间,获取在目标运行时间运行测试用例所得到的基准数据集合,利用基准数据集合更新基准数据库中的样本数据集合。其中,目标运行时间可以是测试用例最近一次在持续集成平台中成功运行的时间,例如当前时间是1月5日12时,历史运行时间为1月1日15时、1月2日22时、1月4日10时,则目标运行时间为1月4日10时,那么在1月4日10时该测试用例运行得到的测试数据集合即为基准数据集合,将该基准数据集合替换基准数据库中原本对应的样本数据集合,从而保持基准数据库的数据活性,提高测试的可靠性。可以理解的是,上述利用基准数据集合更新基准数据库中的样本数据集,可以每天执行一次,也可以每周执行一次,视实际需求而定,本发明实施例不做限定。
下面结合附图详细说明测试用例自动执行、自动加入用例库的实现方式。参照图8,图8为本发明实施例提供的持续集成流水线的部分示意图。持续集成流水线可以理解为持续集成的不同阶段的步骤所形成的流程。图8中示例性地展示了持续集成流水线中的两个阶段:构建触发节点以及构建环境阶段。
首先,在构建触发阶段中,可以设置手动触发持续集成平台进行持续集成,或者,通过每日构建的方式触发持续集成平台进行持续集成(例如每天6点)。
而在构建环境阶段,首先拉取持续集成脚本代码,初始化持续集成环境;然后,获取目标程序更新的代码,若目标程序更新的代码拉取失败,则执行清理操作后再次尝试,从而提高目标程序更新的代码的获取稳定性。
然后,开始编译部署更新代码后的目标程序,运行稳定的测试用例自动加入至用例库中。
然后,自动从用例库中获取并运行测试用例,进行单元测试以及集成测试,其中单元测试是针对目标程序的程序模块进行正确性检验的测试工作,集成测试是在单元测试的基础上,将所有的程序模块进行有序的、递增的测试,通过进行单元测试和集成测试,可以从不同的细粒度对目标程序进行测试,有利于提高测试的可靠性。
然后,对用例库中的数据进行还原,由于测试过程中可能会产生一些脏数据,影响用例库中测试用例的准确性,因此通过对用例库中的数据进行还原,有利于提高用例库的可靠性。
然后,收集本次测试的代码覆盖率以及增量覆盖率;
最后,自动输出测试结果并进行显示,测试结果可以包括但不限于上述代码覆盖率、增量覆盖率、样本数据集合的具体数据内容、服务调用链路、测试用例的参数等等。
在一种可能的实现方式中,在步骤303中,将测试数据集合与样本数据集合进行比对之前,还可以根据预设筛选规则从测试数据集合与样本数据集合中筛选出待剔除数据,从而进行噪音处理,达到减少噪音的效果,从而提高测试数据集合与样本数据集合的比对准确性。
例如,可以将数据属性为随机数的数据作为待剔除数据,从测试数据集合与样本数据集合中筛选出待剔除数据。具体地,由于在不同的测试中,数据属性为随机数的数据会产生变化,因此基准数据库中的样本数据集合也会随之改变,例如使用对象标识、时间戳、令牌(token)等数据可以作为待剔除数据。此时如果直接进行比对,则会影响测试数据集合与样本数据集合的比对准确性。通过将数据属性为随机数的数据作为待剔除数据,可以降低数据属性为随机数的数据对比对准确性的影响。
又例如,可以利用通配符从测试数据集合与样本数据集合中筛选出待剔除数据。具体地,通配符可以用于代替一个完整的字符,例如“A?”中的“?”为通配符,“A?”代表开头为“A”的所有字符。通过通配符的方式来筛选待剔除数据,可以根据实际需求简便快捷地对待剔除数据进行筛选,具体的待剔除数据可以根据实际情况而定,本发明实施例不再赘述。通过通配符的方式确定待剔除数据,可以降低特定数据对比对准确性的影响。
又例如,可以从目标类型的数据中提取出可变字符串,将可变字符串作为待剔除数据,从测试数据集合与样本数据集合中筛选出待剔除数据。具体地,目标类型可以是list、json或者url等类型的数据,这种类型的数据会包含有可变字符串,以url数据为例进行说明,url数据的格式一般为“http://www.abc.com/XX”,“XX”作为url数据的后缀,通过该url数据访问同一个网页时,其后缀“XX”是可变的,此时“XX”为上述的可变字符串,可能会对测试结果造成影响。通过将可变字符串作为待剔除数据,可以降低目标类型的数据对比对准确性的影响。
可以理解的是,上述三种筛选方式可以选择一种或者多种来对待剔除数据进行筛选,本发明实施例不做限定。
下面结合附图详细说明自动化执行模块的工作过程。参照图9,图9为本发明实施例提供的自动化执行模块的处理过程示意图。首先,响应于目标程序的代码更新,自动化执行模块启动持续集成任务,用例运行服务从用例库中获取测试用例,运行测试用例,得到测试数据集合,并将测试数据集合存储在测试数据库中。数据比对服务调用数据读取服务,将链路标识传递至数据读取服务,数据读取服务通过测试数据集合的链路标识,从测试数据库中读取测试数据集合(请求数据+应答数据),并通过测试用例对应的链路标识,从基准数据库中读取样本数据集合(请求数据+应答数据),再将测试数据集合以及样本数据集合传递给数据比对服务,数据比对服务将测试数据集合与样本数据集合进行比对,输出比对结果。然后,报告生成服务可以根据比对结果生成可视化的测试报告。另外,可以在配置中心中配置预设筛选规则,以供数据比对服务在将测试数据集合与样本数据集合比对时进行噪音处理。并且,可以利用上一次运行成功的主干代码的持续集成所得到的测试数据集合来更新样本数据集合,也可以在根据测试报告确定目标程序的代码更新通过的前提下,基于代码更新后的目标程序得到更新的样本数据集合,从而保持样本数据集合的活性。
具体地,参照图10,图10为本发明实施例提供的测试用例统计界面示意图,在测试报告中可以包含上述测试用例统计,具体可以展示持续集成平台的用例库中的测试用例总数以及涉及的服务调用链路总数,还可以细化展示加入持续集成平台的测试用例数量以及属于短链路的服务调用链路数量。并且,在测试用例总数的显示区域中设置有第一跳转按钮1001,通过点击该第一跳转按钮1001,可以显示不同版本的目标程序在测试时自动生成的测试用例总数;而在服务调用链路总数的显示区域中设置有第二跳转按钮1002,通过点击该第二跳转按钮1002,可以显示服务模块的总数,从而达到统计数据的精细化显示。另外,还可以详细地显示测试用例的具体参数,例如用例标识、用例名称、测试用例对应的链路标识、样本数据集合的第一标签、测试用例对应的服务模块、持续集成版本号、添加至持续集成平台的用例库的时间、首次运行成功时的持续集成版本号以及用例详情介绍等。通过可视化地展示测试用例的相关信息,便于对测试用例进行维护以及管理,有利于提高测试的可靠性。
需要补充说明的是,测试报告中除了包括上述测试用例统计以外,还可以包括自动绘制的服务调用链路,从而直观地展示目标程序调用的服务模块的情况。
下面结合附图详细说明本发明实施例提供的测试系统的整体工作原理。参照图11,图11为本发明实施例提供的测试系统的服务交互示意图,该测试系统在运行时主要包括生成测试用例阶段和运行测试用例阶段。
在生成测试用例时,中转抓包服务获取测试环境中多个服务模块的处理数据,生成样本数据集合后将样本数据集合传递至数据萃取服务,并将样本数据集合存储至基准数据库中;数据萃取服务对样本数据集合进行校验,校验通过的样本数据集合传递至用例生成服务;用例生成服务中的用例生成控制类服务根据样本数据集合生成测试用例,并将样本数据集合对应的链路标识传递至模拟数据生成类服务,模拟数据生成类服务根据链路标识从基准数据库中获取对应的应答数据,并根据该应答数据生成结果模拟标识,将该结果模拟标识与结果模拟数据的键值对传递至用例生成控制类服务,用例生成控制类服务将结果模拟标识添加至测试用例中,将测试用例添加至用例库,并通过用例标识对测试用例进行标识。
在运行测试用例时,用例运行服务先根据链路标识生成用例运行调度表,再根据用例运行调度表自动运行测试用例,得到测试数据集合,用例运行服务将测试数据集合的链路标识传递至数据比对服务,数据比对服务调用数据读取服务,将链路标识传递至数据读取服务,数据读取服务通过测试数据集合的链路标识,从测试数据库中读取测试数据集合,并通过测试用例对应的链路标识,从基准数据库中读取样本数据集合,再将测试数据集合以及样本数据集合传递给数据比对服务,数据比对服务结合预设筛选规则将测试数据集合与样本数据集合进行比对,将比对结果传递至报告生成服务,最后生成测试报告。
图11所示的测试系统可以实现处理数据的自动抓取、测试用例的自动生成、自动运行以及测试结果的自动输出,实现快捷的全链路级的自动化测试,有利于提高测试结果的准确性和可靠性,提高目标程序运行的稳定性和鲁棒性。
另外,参照图12,图12为本发明实施例提供的测试方法的完整流程图,该测试方法包括但不限于以下步骤1201至步骤1211:
步骤1201:通过每日构建触发持续集成流水线;
步骤1202:编译目标程序,获取编译目标程序过程中调用的多个服务模块的请求数据和应答数据,根据多个服务模块的请求数据和应答数据生成样本数据集合,将样本数据集合发布至消息队列中;
步骤1203:从消息队列中获取样本数据集合,根据样本数据集合得到服务调用链路;
步骤1204:判断服务调用链路是否完整,若是,跳转步骤1205,否则跳转步骤1201;
步骤1205:判断样本数据集合是否为新数据,若是,跳转步骤1206,否则跳转步骤1201;
步骤1206:将样本数据集合存储至基准数据库;
步骤1207:根据样本数据集合生成测试用例;
步骤1208:判断目标程序的版本是否发生变更,若是,跳转步骤1209,否则结束流程;
步骤1209:运行测试用例,得到测试数据集合,将测试数据集合存储至测试数据库;
步骤1210:根据样本数据集合对应的链路标识从基准数据库获取样本数据集合,根据测试数据集合对应的链路标识从测试数据库获取测试数据集合;
步骤1211:根据预设筛选规则将样本数据集合和测试数据集合进行比对,根据比对结果生成测试报告。
上述步骤1201至步骤1211中,根据多个服务模块的请求数据和应答数据生成样本数据集合的具体方式、判断服务调用链路是否完整的具体方式、判断样本数据集合是否为新数据的具体方式、根据样本数据集合生成测试用例的具体方式、根据预设筛选规则将样本数据集合和测试数据集合进行比对的具体方式,前面已经进行详细描述,在此不再赘述。基于持续集成平台,可以实现快捷的全链路级的自动化测试,达到精细化测试的效果,有利于提高测试结果的准确性和可靠性,提高目标程序运行的稳定性和鲁棒性。
可以理解的是,虽然上述各个流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本实施例中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,上述流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时间执行完成,而是可以在不同的时间执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
下面以一实际例子说明本发明实施例提供的测试方法的原理。目标程序可以是即时通信客户端,业务请求可以是推广信息获取请求,推广信息可以是广告,广告的具体形式可以是文字、图片中的一种或者多种,获取广告后可以在即时通信客户端的聊天场景、信息浏览场景中进行推送展示。
目标程序的代码会通过每日构建进行编译,生成业务请求并发送至服务器,参照图13,图13为本发明实施例提供的服务调用链路的例子示意图,服务器根据该业务请求先调用广告拉取入口模块,广告拉取入口模块具有三个下游模块:广告拉取逻辑层模块、白名单权限获取模块以及应用程序信息获取模块,广告拉取逻辑层模块具有两个下游模块:广告单元状态获取模块以及广告引擎精排模块,广告引擎精排具有六个下游模块:使用对象新鲜度获取模块、使用对象画像信息获取模块、广告粗排结果获取模块、广告键值对数据批量获取模块、广告排序得分获取模块、广告键值对数据获取模块,使用对象画像信息获取模块具有一个下游模块:动态画像信息获取模块。其中,广告引擎精排模块结合广告粗排结果获取模块获取的预设数量(例如100条)的广告、使用对象新鲜度模块获取的使用对象新鲜度、动态画像信息获取模块获取的画像信息、广告键值对数据批量获取模块或者广告键值对数据获取模块获取的广告键值对、广告排序得分获取模块获取的广告排序得分,从该预设数量的广告中确定最适合的目标广告,将该目标广告按照服务调用链路返回至广告拉取入口模块,服务器再将该目标广告发送至目标程序进行展示。另外,处理上述业务请求的过程中,还可以通过白名单权限获取模块判断使用对象是否有权限拉取广告,通过应用程序信息获取模块确定目标程序的相关信息(例如名称、版本等),通过广告单元状态获取模块判断广告单元是否正常工作。
上述服务模块之间的请求数据以及应答数据会被存储于基准数据库中,并用于测试用例的自动生成,在目标程序的维护过程中,目标程序对应上述业务请求的功能模块的代码需要进行更新,更新的代码被提交到持续集成平台后,便会触发持续集成平台运行上述测试用例,得到基于更新代码后的目标程序调用上述服务模块时产生的请求数据以及应答数据,再与基准数据库中的请求数据以及应答数据进行对应比对,得到测试结果。其中,测试结果中可以展示图13所示的自动生成的服务调用链路。
参照图14,图14为本发明实施例提供的测试装置的结构示意图,该测试装置包括:
数据生成模块1401,用于生成样本数据集合,将样本数据集合存储至基准数据库,样本数据集合包括处理目标程序的业务请求时调用的多个服务模块的处理数据,每个服务模块的处理数据均包括链路标识,链路标识用于标识多个服务模块形成的服务调用链路;
用例生成模块1402,用于根据样本数据集合生成测试用例;
数据比对模块1403,用于当目标程序的版本发生变更,触发版本变更后的目标程序运行测试用例,得到测试数据集合,确定测试用例对应的链路标识,根据链路标识从基准数据库中获取对应的样本数据集合,将测试数据集合与样本数据集合进行比对,得到测试结果。
进一步,上述数据生成模块1401具体用于:
获取服务调用链路中每个服务模块的请求数据,将请求数据转发至对应的服务模块;
获取基于请求数据返回的应答数据,将应答数据转发至对应的服务模块;
根据预设数据类型将每个服务模块的请求数据和应答数据进行合并,得到每个服务模块的处理数据;
将多个服务模块的处理数据合并得到样本数据集合。
进一步,上述数据生成模块1401具体用于:
调用目标函数对样本数据集合进行序列化处理,得到目标数据集合;
获取基于预设文件格式进行编译的目标文件,根据目标文件将目标数据集合转化成目标文件格式;
将转化成目标文件格式的目标数据集合存储至基准数据库。
进一步,上述测试装置还包括数据萃取模块1404,上述数据萃取模块1404用于:
将样本数据集合添加至任务列表中;
响应于任务处理指令,从任务列表中获取样本数据集合,将样本数据集合发送至线程池中;
响应于线程处理指令,从线程池中提取出样本数据集合,对样本数据集合进行校验。
进一步,上述数据萃取模块1404具体用于以下至少之一:
根据样本数据集合将目标程序处理业务请求时调用的多个服务模块进行串联,得到服务调用链路,将服务调用链路与预设调用链路进行比对,确定服务调用链路的完整性;
或者,
从样本数据集合中提取出用于标识样本数据集合的第一标签,从基准数据库中提取出多个第二标签,根据第一标签与多个第二标签之间的匹配关系,确定样本数据集合在基准数据库中的存储状态,存储状态为已存储于基准数据库或者未存储于基准数据库。
进一步,上述用例生成模块1402具体用于:
根据样本数据集合得到服务调用链路中每个服务模块的请求数据和应答数据,以及服务调用链路对应的链路标识;
获取预设用例模板,将请求数据和应答数据添加至预设用例模板中对应的位置,得到测试用例;
根据链路标识对测试用例进行标识。
进一步,上述用例生成模块1402还用于:
将服务调用链路中每个服务模块的应答数据进行合并,得到结果模拟数据;
生成结果模拟数据对应的结果模拟标识;
根据结果模拟数据以及结果模拟标识生成键值对,将键值对添加至测试用例中。
进一步,上述数据比对模块1403还用于:
触发版本变更后的目标程序根据测试用例生成测试请求;
确定处理测试请求时当前调用的第一服务模块,获取第一服务模块旁路的第二服务模块的模拟状态,模拟状态用于表征第二服务模块返回至第一服务模块的应答数据需要进行模拟或者不需要进行模拟;
当模拟状态表征第二服务模块返回至第一服务模块的应答数据需要进行模拟,根据结果模拟标识获取结果模拟数据,将结果模拟数据作为第二服务模块返回至第一服务模块的应答数据。
进一步,上述数据比对模块1403还用于:
根据预设频率在持续集成平台中运行测试用例;
累计测试用例在持续集成平台中的运行成功次数;
当运行成功次数大于或者等于预设次数阈值,将测试用例添加至持续集成平台的用例库。
进一步,上述数据比对模块1403还用于:
获取测试用例在持续集成平台中成功运行的历史运行时间,根据历史运行时间确定目标运行时间;
获取在目标运行时间运行测试用例所得到的基准数据集合,利用基准数据集合更新基准数据库中的样本数据集合。
进一步,上述数据比对模块1403还用于:
将测试数据集合与样本数据集合中对应相同服务模块的请求数据进行比对;
或者,
将测试数据集合与样本数据集合中对应相同服务模块的应答数据进行比对。
进一步,上述数据比对模块1403还用于:
根据预设筛选规则从测试数据集合与样本数据集合中筛选出待剔除数据,将待剔除数据进行剔除;
其中,根据预设筛选规则从测试数据集合与样本数据集合中筛选出待剔除数据,包括以下至少之一:
将数据属性为随机数的数据作为待剔除数据,从测试数据集合与样本数据集合中筛选出待剔除数据;
或者,
利用通配符从测试数据集合与样本数据集合中筛选出待剔除数据;
或者,
从目标类型的数据中提取出可变字符串,将可变字符串作为待剔除数据,从测试数据集合与样本数据集合中筛选出待剔除数据。
进一步,目标程序在第一操作环境中生成业务请求,目标程序在第二操作环境中运行测试用例,上述数据生成模块1401还用于:
确定业务请求的请求类型;
根据预设的业务分类规则,确定请求类型的风险等级;
当风险等级小于或者等于预设等级阈值,将样本数据集合确定为待生成数据集合。
上述测试装置1400与测试方法基于相同的发明构思,数据生成模块1401通过生成样本数据集合,将样本数据集合存储至基准数据库,用例生成模块1402根据样本数据集合生成测试用例,由于样本数据集合包括处理目标程序的业务请求时调用的多个服务模块的处理数据,因此,数据比对模块1403在当目标程序的版本发生变更时,触发版本变更后的目标程序运行测试用例后,可以实现目标程序在整条服务调用链路中的测试,进而得到测试数据集合;接着,确定测试用例对应的链路标识,由于每个服务模块的处理数据均包括链路标识,且链路标识用于标识多个服务模块形成的服务调用链路,因此,可以根据链路标识快捷地从基准数据库中获取对应的样本数据集合,便于将测试数据集合与样本数据集合进行比对,得到测试结果。可见,本发明实施例提供的测试装置可以实现快捷的全链路级的自动化测试,达到精细化测试的效果,有利于提高测试结果的准确性和可靠性,提高目标程序运行的稳定性和鲁棒性。
本发明实施例用于执行测试方法的电子设备可以是服务器,参照图15,图15为本发明实施例提供的服务器1500的部分的结构框图,服务器1500可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(Central Processing Units,简称CPU)1522(例如,一个或一个以上处理器)和存储器1532,一个或一个以上存储应用程序1542或数据1544的存储介质1530(例如一个或一个以上海量存储装置)。其中,存储器1532和存储介质1530可以是短暂存储或持久存储。存储在存储介质1530的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器1522可以设置为与存储介质1530通信,在服务器1500上执行存储介质1530中的一系列指令操作。
服务器1500还可以包括一个或一个以上电源1526,一个或一个以上有线或无线网络接口1550,一个或一个以上输入输出接口1558,和/或,一个或一个以上操作系统1541,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
服务器中的处理器可以用于执行测试方法。
本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质用于存储程序代码,程序代码用于执行前述各个实施例的执行测试方法。
本发明实施例还公开了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存介质中。计算机设备的处理器可以从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行前述各个实施例的执行测试方法。
本发明的说明书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或装置不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或装置固有的其它步骤或单元。
应当理解,在本发明中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
应了解,在本发明实施例的描述中,多个(或多项)的含义是两个以上,大于、小于、超过等理解为不包括本数,以上、以下、以内等理解为包括本数。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机装置(可以是个人计算机,服务器,或者网络装置等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
还应了解,本发明实施例提供的各种实施方式可以任意进行组合,以实现不同的技术效果。
以上是对本发明的较佳实施进行了具体说明,但本发明并不局限于上述实施方式,熟悉本领域的技术人员在不违背本发明精神的共享条件下还可作出种种等同的变形或替换,这些等同的变形或替换均包括在本发明权利要求所限定的范围内。
Claims (17)
1.一种测试方法,其特征在于,包括:
生成样本数据集合,将所述样本数据集合存储至基准数据库,所述样本数据集合包括处理目标程序的业务请求时调用的多个服务模块的处理数据,每个所述服务模块的所述处理数据均包括链路标识,所述链路标识用于标识由多个所述服务模块形成的服务调用链路;
根据所述样本数据集合生成测试用例;
当所述目标程序的版本发生变更,触发版本变更后的目标程序运行所述测试用例,得到测试数据集合,确定所述测试用例对应的所述链路标识,根据所述链路标识从所述基准数据库中获取对应的所述样本数据集合,将所述测试数据集合与所述样本数据集合进行比对,得到测试结果。
2.根据权利要求1所述的测试方法,其特征在于,所述生成样本数据集合,包括:
获取所述服务调用链路中每个服务模块的请求数据,将所述请求数据转发至对应的服务模块;
获取基于所述请求数据返回的应答数据,将所述应答数据转发至对应的服务模块;
根据预设数据类型将每个所述服务模块的所述请求数据和所述应答数据进行合并,得到每个所述服务模块的所述处理数据;
将多个所述服务模块的所述处理数据合并得到所述样本数据集合。
3.根据权利要求1所述的测试方法,其特征在于,所述将所述样本数据集合存储至基准数据库,包括:
调用目标函数对所述样本数据集合进行序列化处理,得到目标数据集合;
获取基于预设文件格式进行编译的目标文件,根据所述目标文件将所述目标数据集合转化成目标文件格式;
将转化成所述目标文件格式的所述目标数据集合存储至所述基准数据库。
4.根据权利要求1至3任意一项所述的测试方法,其特征在于,所述将所述样本数据集合存储至基准数据库之前,所述测试方法还包括:
将所述样本数据集合添加至任务列表中;
响应于任务处理指令,从所述任务列表中获取所述样本数据集合,将所述样本数据集合发送至线程池中;
响应于线程处理指令,从所述线程池中提取出所述样本数据集合,对所述样本数据集合进行校验。
5.根据权利要求4所述的测试方法,其特征在于,所述对所述样本数据集合进行校验,包括以下至少之一:
根据所述样本数据集合将所述目标程序处理所述业务请求时调用的多个所述服务模块进行串联,得到所述服务调用链路,将所述服务调用链路与预设调用链路进行比对,确定所述服务调用链路的完整性;
或者,
从所述样本数据集合中提取出用于标识所述样本数据集合的第一标签,从所述基准数据库中提取出多个第二标签,根据所述第一标签与多个所述第二标签之间的匹配关系,确定所述样本数据集合在所述基准数据库中的存储状态,所述存储状态为已存储于所述基准数据库或者未存储于所述基准数据库。
6.根据权利要求1所述的测试方法,其特征在于,所述根据所述样本数据集合生成测试用例,包括:
根据所述样本数据集合得到所述服务调用链路中每个所述服务模块的请求数据和应答数据,以及所述服务调用链路对应的所述链路标识;
获取预设用例模板,将所述请求数据和所述应答数据添加至所述预设用例模板中对应的位置,得到所述测试用例;
根据所述链路标识对所述测试用例进行标识。
7.根据权利要求6所述的测试方法,其特征在于,所述根据所述样本数据集合生成测试用例,还包括:
将所述服务调用链路中每个所述服务模块的所述应答数据进行合并,得到结果模拟数据;
生成所述结果模拟数据对应的结果模拟标识;
根据所述结果模拟数据以及所述结果模拟标识生成键值对,将所述键值对添加至所述测试用例中。
8.根据权利要求7所述的测试方法,其特征在于,所述触发版本变更后的目标程序运行所述测试用例,包括:
触发版本变更后的所述目标程序根据所述测试用例生成测试请求;
确定处理所述测试请求时当前调用的第一服务模块,获取所述第一服务模块旁路的第二服务模块的模拟状态,所述模拟状态用于表征所述第二服务模块返回至所述第一服务模块的应答数据需要进行模拟或者不需要进行模拟;
当所述模拟状态表征所述第二服务模块返回至所述第一服务模块的应答数据需要进行模拟,根据所述结果模拟标识获取所述结果模拟数据,将所述结果模拟数据作为所述第二服务模块返回至所述第一服务模块的应答数据。
9.根据权利要求1所述的测试方法,其特征在于,所述触发版本变更后的目标程序运行所述测试用例之前,所述测试方法还包括:
根据预设频率在持续集成平台中运行所述测试用例;
累计所述测试用例在所述持续集成平台中的运行成功次数;
当所述运行成功次数大于或者等于预设次数阈值,将所述测试用例添加至所述持续集成平台的用例库。
10.根据权利要求9所述的测试方法,其特征在于,所述测试方法还包括:
获取所述测试用例在所述持续集成平台中成功运行的历史运行时间,根据所述历史运行时间确定目标运行时间;
获取在所述目标运行时间运行所述测试用例所得到的基准数据集合,利用所述基准数据集合更新所述基准数据库中的所述样本数据集合。
11.根据权利要求1所述的测试方法,其特征在于,所述将所述测试数据集合与所述样本数据集合进行比对,包括以下至少之一:
将所述测试数据集合与所述样本数据集合中对应相同服务模块的请求数据进行比对;
或者,
将所述测试数据集合与所述样本数据集合中对应相同服务模块的应答数据进行比对。
12.根据权利要求1或11所述的测试方法,其特征在于,所述将所述测试数据集合与所述样本数据集合进行比对之前,所述测试方法还包括:
根据预设筛选规则从所述测试数据集合与所述样本数据集合中筛选出待剔除数据,将所述待剔除数据进行剔除;
其中,所述根据预设筛选规则从所述测试数据集合与所述样本数据集合中筛选出待剔除数据,包括以下至少之一:
将数据属性为随机数的数据作为所述待剔除数据,从所述测试数据集合与所述样本数据集合中筛选出所述待剔除数据;
或者,
利用通配符从所述测试数据集合与所述样本数据集合中筛选出所述待剔除数据;
或者,
从目标类型的数据中提取出可变字符串,将所述可变字符串作为所述待剔除数据,从所述测试数据集合与所述样本数据集合中筛选出所述待剔除数据。
13.根据权利要求1所述的测试方法,其特征在于,所述目标程序在第一操作环境中生成所述业务请求,所述目标程序在第二操作环境中运行所述测试用例,所述生成样本数据集合之前,所述测试方法还包括:
确定所述业务请求的请求类型;
根据预设的业务分类规则,确定所述请求类型的风险等级;
当所述风险等级小于或者等于预设等级阈值,将所述样本数据集合确定为待生成数据集合。
14.一种测试装置,其特征在于,包括:
数据生成模块,用于生成样本数据集合,将所述样本数据集合存储至基准数据库,所述样本数据集合包括处理目标程序的业务请求时调用的多个服务模块的处理数据,每个所述服务模块的所述处理数据均包括链路标识,所述链路标识用于标识由多个所述服务模块形成的服务调用链路;
用例生成模块,用于根据所述样本数据集合生成测试用例;
数据比对模块,用于当所述目标程序的版本发生变更,触发版本变更后的目标程序运行所述测试用例,得到测试数据集合,确定所述测试用例对应的所述链路标识,根据所述链路标识从所述基准数据库中获取对应的所述样本数据集合,将所述测试数据集合与所述样本数据集合进行比对,得到测试结果。
15.一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至13任意一项所述的测试方法。
16.一种计算机可读存储介质,所述存储介质存储有程序,其特征在于,所述程序被处理器执行时实现权利要求1至13任意一项所述的测试方法。
17.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至13任意一项所述的测试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111215601.0A CN115994079A (zh) | 2021-10-19 | 2021-10-19 | 测试方法、装置、电子设备、存储介质及程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111215601.0A CN115994079A (zh) | 2021-10-19 | 2021-10-19 | 测试方法、装置、电子设备、存储介质及程序产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115994079A true CN115994079A (zh) | 2023-04-21 |
Family
ID=85994015
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111215601.0A Pending CN115994079A (zh) | 2021-10-19 | 2021-10-19 | 测试方法、装置、电子设备、存储介质及程序产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115994079A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117155485A (zh) * | 2023-10-23 | 2023-12-01 | 东莞信宝电子产品检测有限公司 | 一种经典蓝牙自动化测试方法、系统及介质 |
CN117435510A (zh) * | 2023-12-20 | 2024-01-23 | 深圳市智慧城市科技发展集团有限公司 | 自动化测试方法、终端设备及计算机可读存储介质 |
-
2021
- 2021-10-19 CN CN202111215601.0A patent/CN115994079A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117155485A (zh) * | 2023-10-23 | 2023-12-01 | 东莞信宝电子产品检测有限公司 | 一种经典蓝牙自动化测试方法、系统及介质 |
CN117435510A (zh) * | 2023-12-20 | 2024-01-23 | 深圳市智慧城市科技发展集团有限公司 | 自动化测试方法、终端设备及计算机可读存储介质 |
CN117435510B (zh) * | 2023-12-20 | 2024-04-02 | 深圳市智慧城市科技发展集团有限公司 | 自动化测试方法、终端设备及计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10642913B2 (en) | Intent and bot based query guidance | |
CN108365971A (zh) | 日志解析方法、设备及计算机可读介质 | |
US20170109668A1 (en) | Model for Linking Between Nonconsecutively Performed Steps in a Business Process | |
US20170109667A1 (en) | Automaton-Based Identification of Executions of a Business Process | |
CN113987074A (zh) | 分布式服务全链路监控方法、装置、电子设备及存储介质 | |
US20230289828A1 (en) | Data processing method, computer device, and readable storage medium | |
CN113590497A (zh) | 业务服务的测试方法、装置、电子设备及存储介质 | |
CN115994079A (zh) | 测试方法、装置、电子设备、存储介质及程序产品 | |
US11567735B1 (en) | Systems and methods for integration of multiple programming languages within a pipelined search query | |
CN109656792A (zh) | 基于网络调用日志的应用性能分析方法、装置、计算机设备及存储介质 | |
CN111639902A (zh) | 基于kafka的数据审核方法、控制装置及计算机设备、存储介质 | |
CN113391901A (zh) | Rpa机器人的管理方法、装置、设备及存储介质 | |
US20170109640A1 (en) | Generation of Candidate Sequences Using Crowd-Based Seeds of Commonly-Performed Steps of a Business Process | |
CN112182025A (zh) | 日志分析方法、装置、设备与计算机可读存储介质 | |
US20170109670A1 (en) | Crowd-Based Patterns for Identifying Executions of Business Processes | |
CN111538616A (zh) | 异常定位方法、装置、系统与计算机可读存储介质 | |
CN113419964B (zh) | 一种测试案例生成方法、装置、计算机设备及存储介质 | |
JP6070338B2 (ja) | 多階層システムに含まれる処理システムの分類装置及び多階層システムに含まれる処理システムの分類プログラム並びに多階層システムに含まれる処理システムの分類方法 | |
CN112800340A (zh) | 任务推送方法、装置、电子设备和存储介质 | |
CN113918534A (zh) | 一种策略处理系统及方法 | |
CN112799797A (zh) | 一种任务管理的方法和装置 | |
CN113535594B (zh) | 业务场景测试用例的生成方法、装置、设备和存储介质 | |
CN115438994B (zh) | 一种基于c2m的服装定制业务处理系统的生成方法及装置 | |
CN115396319B (zh) | 数据流分片方法、装置、设备及存储介质 | |
CN113342795B (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40085241 Country of ref document: HK |