CN112148621A - 一种测试方法、装置及电子设备 - Google Patents
一种测试方法、装置及电子设备 Download PDFInfo
- Publication number
- CN112148621A CN112148621A CN202011097067.3A CN202011097067A CN112148621A CN 112148621 A CN112148621 A CN 112148621A CN 202011097067 A CN202011097067 A CN 202011097067A CN 112148621 A CN112148621 A CN 112148621A
- Authority
- CN
- China
- Prior art keywords
- test
- service system
- message
- obtaining
- messages
- 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
- 238000010998 test method Methods 0.000 title claims abstract description 6
- 238000012360 testing method Methods 0.000 claims abstract description 658
- 238000012545 processing Methods 0.000 claims abstract description 79
- 238000000034 method Methods 0.000 claims abstract description 56
- 230000026676 system process Effects 0.000 claims abstract description 20
- 238000004364 calculation method Methods 0.000 claims description 69
- 230000006870 function Effects 0.000 claims description 51
- 238000011990 functional testing Methods 0.000 claims description 14
- 238000012544 monitoring process Methods 0.000 claims description 13
- 238000005111 flow chemistry technique Methods 0.000 abstract description 24
- 238000010586 diagram Methods 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 3
- 230000002452 interceptive effect Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
Images
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
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
技术领域
本申请涉及系统测试技术领域,尤其涉及一种测试方法、装置及电子设备。
背景技术
越来越多的流计算场景出现在各行各业的业务系统中,如支付系统中,对5秒内某用户针对业务系统某项操作行为的计数计算,计算操作次数是否大于某值等。流计算也可以称为流处理,是指对大规模流动数据在不断变化的过程中实时进行计算分析,输出计算结果的计算方式,而流计算规则是指在不同接收流动数据的同时,按照设定的计算规则对实时数据流进行计算。而业务系统是否可以经受短时间的高频度操作以及能够实现相应的业务功能,这需要对业务系统的流计算能力进行相应的压力测试和功能测试。
目前,在对业务系统的流计算能力进行测试时,通常是按照每一个流计算规则的需求预先设计满足需求的测试用例,需要测试人员按照各流计算规则手工多次、频繁进行操作,例如,需要测试人员手动填写报文,发送服务请求,收集请求结果等。这样一系列的操作对于秒级多次操作的计算规则,很难进行测试,往往还有很多测试用例没有执行的情况下,就已经超过时间窗口的范围,无法实现流计算测试。
因此,亟需一种能够有效进行流计算测试的技术方案。
发明内容
有鉴于此,本申请提供一种测试方法、装置及电子设备,包括:
一种测试方法,所述方法包括:
获得测试参数及测试集合,所述测试集合中包含有多个测试报文;
按照所述测试参数,依次向业务系统发送所述测试集合中的测试报文,以使得所述业务系统处理所接收到的测试报文,所述测试报文对应的处理方式相同或不同;
获得所述业务系统处理所述测试报文所对应的测试结果。
上述方法,优选的,还包括:
获得测试指令,所述测试指令用于指示测试类型,所述测试类型为压力测试类型或功能测试类型;
其中,所述测试结果与所述测试类型相对应。
上述方法,优选的,在所述测试类型为压力测试类型的情况下,按照所述测试参数,依次向业务系统发送所述测试集合的测试报文,包括:
按照所述测试参数中与所述压力测试类型相对应的测试时间间隔,依次向业务系统发送测试集合中的目标测试报文;
其中,每次向所述业务系统发送的所述目标测试报文相同,所述目标测试报文为所述测试集合中的任一测试报文。
上述方法,优选的,获得所述业务系统处理所述测试报文所对应的测试结果,包括:
获得所述业务系统每次处理所述测试报文内的测试用例过程中的系统监控数据;
其中,所述系统监控数据至少包含处理器堆内存占用量、处理器非堆内存占用量、处理规则算子秒处理量、平均端到端时间延迟量和处理规则算子是否背压结果中的任意一种或任意多种的组合。
上述方法,优选的,在所述测试类型为功能测试类型的情况下,按照所述测试参数,依次向业务系统发送所述测试集合的测试报文,包括:
按照所述测试参数中与所述功能测试类型相对应的测试时间间隔,依次向业务系统发送测试集合中的每个测试报文;
其中,每次向所述业务系统发送的所述测试报文不同。
上述方法,优选的,获得所述业务系统处理所述测试报文所对应的测试结果,包括:
获得所述业务系统每次处理所述测试报文的测试用例后的系统计算结果;
将所述系统计算结果与所述测试报文中的预期计算结果进行比对,以得到功能测试结果,所述功能测试结果至少能够表征所述业务系统中与所述测试报文对应的功能是否正常。
上述方法,优选的,还包括:
至少根据所述测试结果,输出测试报告。
上述方法,优选的,获得测试集合,包括:
获得多个测试用例;
至少根据所述测试用例,生成每个所述测试用例各自对应的测试报文,所述测试报文组成测试集合。
一种测试装置,所述方法包括:
参数获得单元,用于获得测试参数及测试集合,所述测试集合中包含有多个测试报文;
报文处理单元,用于按照所述测试参数,依次向业务系统发送所述测试集合中的测试报文,以使得所述业务系统处理所接收到的测试报文,所述测试报文对应的处理方式相同或不同;
结果获得单元,用于获得所述业务系统处理所述测试报文所对应的测试结果。
一种电子设备,包括:
存储器,用于存储应用程序和所述应用程序运行所产生的数据;
处理器,用于执行所述应用程序,以实现:获得测试参数及测试集合,所述测试集合中包含有多个测试报文;按照所述测试参数,依次向业务系统发送所述测试集合中的测试报文,以使得所述业务系统处理所接收到的测试报文,所述测试报文对应的处理方式相同或不同;获得所述业务系统处理所述测试报文所对应的测试结果。
从上述技术方案可以看出,本申请公开的一种测试方法、装置及电子设备,在获得到测试参数之后,按照测试参数依次向业务系统发送测试集合中的多个测试报文,进而使得业务系统能够依次处理所接收到的测试报文,而测试报文对应的处理方式相同或不同,由此就可以获得到业务系统处理每个测试报文所对应的测试结果。可见,本申请中利用测试参数将多个测试报文传输给业务系统处理,就可以获得到业务系统处理测试报文所对应的测试结果,实现对业务系统进行流处理的测试。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例一提供的一种测试方法的流程图;
图2及图3分别为本申请实施例一提供的一种测试方法的另一流程图;
图4为本申请实施例二提供的一种测试装置的结构示意图;
图5为本申请实施例二提供的一种测试装置的另一结构示意图;
图6为本申请实施例三提供的一种电子设备的结构示意图;
图7为本申请实施例适用于支付系统的实现示例图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
如图1所示,为本申请实施例一提供的一种测试方法的实现流程图,该方法可以适用于能够与配置有业务系统的电子设备之间进行交互且能够进行数据处理的电子设备中,或者该方法可以适用于配置有业务系统且能够进行数据处理的电子设备中。本实施例中的技术方案主要用于对业务系统的流处理能力进行测试,具体可以适用于对业务系统的流处理进行压力测试、对业务系统的流处理进行功能测试等场景。
具体的,本实施例中的方法可以包括以下步骤:
步骤101:获得测试参数及测试集合。
其中,测试参数中可以包含有向业务系统发送测试报文的测试时间间隔,而测试集合中包含有多个测试报文。
需要说明的是,对业务系统进行测试的测试类型不同,相应的测试参数中的测试时间间隔可能相同也可能不同,这里的测试类型可以为压力测试类型或功能测试类型等等,其中,压力测试类型是指:测试在持续对业务系统增加业务处理量的情况下系统所在电子设备的内部资源消耗情况的测试类型;功能测试类型是指:对业务系统进行流处理过程中的各个功能是否能够被实现进行测试的测试类型。
基于此,测试参数中可以包含有测试类型为压力测试类型的情况下所对应的测试时间间隔,和/或,测试类型为功能测试类型的情况下所对应的测试时间间隔。
另外,测试参数中还可以包含流处理测试阈值,流处理测试阈值对应于相应的流处理方式,流处理方式也可以理解为流计算的计算方式,如对用户输入数据按照特定算法进行计算的计算方式、按照用户输入数据对指定的数据进行计算的计算方式、对用户操作次数进行统计的计算方式、判断用户操作次数是否大于次数阈值的计算方式等等,业务系统进行流程处理过程中,每一次处理的处理方式可以相同也可以不同,而测试参数中所包含的流处理测试阈值是针对每种类型的流处理方式的测试阈值,流处理测试阈值可以有一个或多个,用以表征测试的预期与真实测试之间的限值,如测试结果与测试预期之间的差值大于或等于流处理测试阈值的情况下,表征测试不通过,等等。
在一种实现方式中,本实施例中在获得测试参数时,可以在实现本实施例的电子设备上配置交互界面,用以接收用户所输入的测试参数;或者,可以通过输入输出接口读取预先配置的测试参数。
在一种实现方式中,本实施例中在获得测试集合时,可以通过输入输出接口直接读取存储区域中预先存储的多个测试报文,这些测试报文组成测试集合;或者,本实施例中可以首先获得多个测试用例,例如,通过导入包含测试用例的数据的表格文件,如Excel等,进而批量识别出可能对应于不同或相同流处理方式的测试用例,之后,至少根据识别出的测试用例来生成相应的测试报文,这些测试报文组成测试集合。
具体的,本实施例中在识别出测试用例之后,可以直接将测试用例进行报文生成,就可以得到测试报文;或者,本实施例中在识别出测试用例的同时,还识别出每个测试用例各自对应的预期计算结果,如每个测试用例在相应的流处理方式下的预期计算结果,基于此,本实施例中分别将每个测试用例和相应测试用例所对应的预期计算结果进行整合,以得到每个测试用例对应的测试报文。
步骤102:按照测试参数,依次向业务系统发送测试集合中的多个测试报文,以使得业务系统依次处理所接收到的测试报文。
其中,测试报文对应的处理方式相同或不同,也就是说,业务系统处理每个测试报文的流处理方式相同或不同,例如,业务系统对测试报文A进行a方式的处理、对测试报文B进行b方式的处理,等等。
具体的,本实施例中可以通过与业务系统之间的传输接口将测试集合中的多个测试报文按照测试参数中的测试时间间隔向业务系统进行发送,由此,业务系统对接收到的多个测试报文依次进行处理。
需要说明的是,业务系统可以按照所接收到的测试报文的顺序依次对测试报文进行处理,每处理完成一个测试报文再对下一个测试报文进行处理,实现流处理;或者,业务系统可以在每接收到一个测试报文的时候就启动一个进程对测试报文进行处理,基于此,业务系统中可能存在多个测试报文同时被处理的情况。
步骤103:获得业务系统处理测试报文所对应的测试结果。
其中,测试结果可以为业务系统处理测试报文的过程中所对应的压力测试类型对应的压力测试结果,或者,可以为业务系统处理测试报文之后所输出的功能测试类型所对应的功能测试结果。
从上述技术方案可以看出,本申请实施例一提供的一种测试方法中,在获得到测试参数之后,按照测试参数依次向业务系统发送测试集合中的多个测试报文,进而使得业务系统能够依次处理所接收到的测试报文,而测试报文对应的处理方式相同或不同,由此就可以获得到业务系统处理每个测试报文所对应的测试结果。可见,本实施例中利用测试参数将多个测试报文传输给业务系统处理,就可以获得到业务系统处理测试报文所对应的测试结果,实现对业务系统进行流处理的测试。
在一种实现方式中,本实施例在步骤102或步骤101之前,还可以包括以下步骤,如图2中所示:
步骤100:获得测试指令。
其中,测试指令用于指示测试类型,此时所指示的测试类型为压力测试类型或者功能测试类型。
具体的,本实施例中可以通过获得用户在交互界面上的输入操作来获得能够指示用户所需要测试类型的测试指令。
基于此,本实施例中在步骤103中所获得到的测试结果与测试指令中所指示的测试类型是相对应的。例如,在测试指令中指示为压力测试类型的情况下,步骤103中获得业务系统处理测试报文的过程中所对应的压力测试类型对应的压力测试结果;在测试指令中指示为功能测试类型的情况下,步骤103中获得业务系统处理测试报文之后所输出的功能测试类型所对应的功能测试结果。
具体实现如下:
在测试类型为压力测试类型的情况下,步骤102中在向业务系统发送测试报文时,具体通过以下方式实现:
按照测试参数中与压力测试类型相对应的测试时间间隔,依次向业务系统发送测试集合中的目标测试报文。
其中,每次向业务系统发送的目标测试报文相同,即发送给业务系统的每个测试报文都是同一报文,而目标测试报文为测试集合中的任一测试报文。
需要说明的是,测试参数中与压力测试类型相对应的测试时间间隔可以为一个或为多个,在压力测试类型对应的测试时间间隔为1个的情况下,每次间隔相同的时长向业务系统发送同一目标测试报文;而在压力测试类型对应的测试时间间隔为多个的情况下,每次向业务系统发送同一目标测试报文的间隔时长可以不同,具体可以为:与压力测试类型相对应的多个测试时间间隔为按照从大到小的顺序依次减小的测试时间间隔,基于此,本实施例中向业务系统发送目标测试报文的过程中,随着时间的推移,每次向业务系统发送同一目标测试报文的间隔时长是不断减小的,当然,与压力测试类型相对应的多个测试时间间隔也可以按照从小到大或者其他规则进行排序的。
基于此,步骤103中在获得测试结果时,可以通过以下方式实现:
获得业务系统每次处理测试报文内的测试用例过程中的系统监控数据;
其中,系统监控数据至少包含处理器堆内存占用量、处理器非堆内存占用量、处理规则算子秒处理量、平均端到端时间延迟量和处理规则算子是否背压结果中的任意一种或任意多种的组合。
例如,本实施例中对业务系统处理每个目标测试报文的过程中业务系统所在电子设备的系统监控数据,如中央处理器CPU(central processing unit)堆内存、非堆内存、规则算子秒处理量、平均端到端时间延时、算子是否背压等等。
在测试类型为功能测试类型的情况下,步骤102中在向业务系统发送测试报文时,具体通过以下方式实现:
按照测试参数中与功能测试类型相对应的测试时间间隔,依次向业务系统发送测试集合中的每个测试报文;
其中,每次向业务系统发送的所述测试报文不同。例如,本实施例中按照一定的顺序将测试集合中所有测试报文依次发送给业务系统,以便于业务系统对测试集合中的每个测试报文均进行处理。
需要说明的是,测试参数中与功能测试类型相对应的测试时间间隔可以为一个或为多个。在功能测试类型对应的测试时间间隔为1个的情况下,每次间隔相同的时长向业务系统发送测试集合中的一个测试报文,直到测试集合中的所有测试报文均被发送给业务系统,以便于业务系统对测试集合中的所有测试报文均进行处理,继而实现每个测试报文对应的功能的测试;而在功能测试类型对应的测试时间间隔为多个的情况下,每次向业务系统发送测试集合中的测试报文的间隔时长可以不同,具体可以为:与功能测试类型相对应的多个测试时间间隔为按照从测试报文的发送顺序进行排序,基于此,本实施例中向业务系统发送测试集合中的测试报文时,按照测试报文对应的测试功能所对应的测试时间间隔发送测试报文,每次向业务系统发送测试报文的间隔时长与所发送的测试报文所对应的测试功能相对应。
基于此,步骤103中在获得测试结果时,可以通过以下方式实现:
首先,获得业务系统每次处理测试报文的测试用例后的系统计算结果;之后,将系统计算结果与测试报文中的预期计算结果进行比对,以得到功能测试结果。
由此,功能测试结果至少能够表征业务系统中与测试报文对应的功能是否正常。例如,在系统计算结果与测试报文中的预期计算结果之间的差值没有超过测试参数中与测试报文对应的流处理测试阈值的情况下,功能测试结果表征业务系统中与测试报文对应的功能正常,否则,在系统计算结果与测试报文中的预期计算结果之间的差值超过测试参数中与测试报文对应的流处理测试阈值的情况下,功能测试结果表征业务系统中与测试报文对应的功能不正常。
在一种实现方式中,在步骤103之后,本实施例中的方法还可以包括以下步骤,如图3中所示:
步骤104:至少根据测试结果,输出测试报告。
其中,在测试结果为压力测试类型对应的压力测试结果的情况下,可以按照压力测试类型对应的报告格式,输出压力测试结果对应的测试报告,例如,将压力测试结果中的各项系统监控数据记录到表格文件中,进而生成表格形式的压力测试报告并输出。
而在测试结果为功能测试类型对应的功能测试结果的情况下,可以按照功能测试类型对应的报告格式,输出功能测试结果对应的测试报告,例如,将每种测试功能对应的功能测试结果按照相应流处理方式之间的逻辑顺序记录到表格文件中,进而生成表格形式的功能测试报告并输出。
需要说明的是,如果本申请中所涉及的测试报文对应于多个流处理方式,那么本实施例中在输出测试报告时,首先将对应于同一流处理方式的测试报文对应的测试结果进行整合,再按照流处理方式之间的逻辑顺序进行测试报告的生成,相应所生成的测试报告中包含有每个流处理方式分别对应的测试报告。
具体的,本实施例中可以将测试报告输出到显示屏中,以显示给用户;或者,将测试报告通过邮件或消息的方式输出给用户终端,以便于用户通过终端进行查看。
参考图4,为本申请实施例二提供的一种测试装置的结构示意图,该装置可以配置在能够与配置有业务系统的电子设备之间进行交互且能够进行数据处理的电子设备中,或者该装置可以配置在配置有业务系统且能够进行数据处理的电子设备中。本实施例中的技术方案主要用于对业务系统的流处理能力进行测试,具体可以适用于对业务系统的流处理进行压力测试、对业务系统的流处理进行功能测试等场景。
具体的,本实施例中的装置可以包括以下单元:
参数获得单元401,用于获得测试参数及测试集合,所述测试集合中包含有多个测试报文;
报文处理单元402,用于按照所述测试参数,依次向业务系统发送所述测试集合中的测试报文,以使得所述业务系统处理所接收到的测试报文,所述测试报文对应的处理方式相同或不同;
结果获得单元403,用于获得所述业务系统处理所述测试报文所对应的测试结果。
从上述技术方案可以看出,本申请实施例二的一种测试装置,在获得到测试参数之后,按照测试参数依次向业务系统发送测试集合中的多个测试报文,进而使得业务系统能够依次处理所接收到的测试报文,而测试报文对应的处理方式相同或不同,由此就可以获得到业务系统处理每个测试报文所对应的测试结果。可见,本申请中利用测试参数将多个测试报文传输给业务系统处理,就可以获得到业务系统处理测试报文所对应的测试结果,实现对业务系统进行流处理的测试。
在一种实现方式中,本实施例中还可以包括以下单元,如图2中所示:
指令获得单元404,用于:获得测试指令,所述测试指令用于指示测试类型,所述测试类型为压力测试类型或功能测试类型;其中,所述测试结果与所述测试类型相对应。
可选的,在所述测试类型为压力测试类型的情况下,报文处理单元402具体用于:按照所述测试参数中与所述压力测试类型相对应的测试时间间隔,依次向业务系统发送测试集合中的目标测试报文;其中,每次向所述业务系统发送的所述目标测试报文相同,所述目标测试报文为所述测试集合中的任一测试报文。
基于此,结果获得单元403具体用于:获得所述业务系统每次处理所述测试报文内的测试用例过程中的系统监控数据;其中,所述系统监控数据至少包含处理器堆内存占用量、处理器非堆内存占用量、处理规则算子秒处理量、平均端到端时间延迟量和处理规则算子是否背压结果中的任意一种或任意多种的组合。
可选的,在所述测试类型为功能测试类型的情况下,报文处理单元402具体用于:按照所述测试参数中与所述功能测试类型相对应的测试时间间隔,依次向业务系统发送测试集合中的每个测试报文;其中,每次向所述业务系统发送的所述测试报文不同。
基于此,结果获得单元403具体用于:获得所述业务系统每次处理所述测试报文的测试用例后的系统计算结果;将所述系统计算结果与所述测试报文中的预期计算结果进行比对,以得到功能测试结果,所述功能测试结果至少能够表征所述业务系统中与所述测试报文对应的功能是否正常。
在一种实现方式中,本实施例中的装置还可以包括以下单元,如图5中所示:
报告输出单元405,用于:至少根据所述测试结果,输出测试报告。
可选的,参数获得单元401在获得测试集合时,具体通过以下方式实现:获得多个测试用例;至少根据所述测试用例,生成每个所述测试用例各自对应的测试报文,所述测试报文组成测试集合。
需要说明的是,本实施例中各单元的具体实现可以参考前文中相应内容,此处不再详述。
参考图6,为本申请实施例三提供的一种电子设备的结构示意图,该电子设备可以为能够与配置有业务系统的电子设备之间进行交互且能够进行数据处理的电子设备,或者该电子设备可以为配置有业务系统且能够进行数据处理的电子设备中。本实施例中的技术方案主要用于对业务系统的流处理能力进行测试,具体可以适用于对业务系统的流处理进行压力测试、对业务系统的流处理进行功能测试等场景。
具体的,本实施例中的电子设备可以包括以下结构:
存储器601,用于存储应用程序和所述应用程序运行所产生的数据;
处理器602,用于执行所述应用程序,以实现:获得测试参数及测试集合,所述测试集合中包含有多个测试报文;按照所述测试参数,依次向业务系统发送所述测试集合中的测试报文,以使得所述业务系统处理所接收到的测试报文,所述测试报文对应的处理方式相同或不同;获得所述业务系统处理所述测试报文所对应的测试结果。
从上述技术方案可以看出,本申请实施例三提供的一种电子设备,在获得到测试参数之后,按照测试参数依次向业务系统发送测试集合中的多个测试报文,进而使得业务系统能够依次处理所接收到的测试报文,而测试报文对应的处理方式相同或不同,由此就可以获得到业务系统处理每个测试报文所对应的测试结果。可见,本实施例中利用测试参数将多个测试报文传输给业务系统处理,就可以获得到业务系统处理测试报文所对应的测试结果,实现对业务系统进行流处理的测试。
需要说明的是,本实施例中处理器的具体实现可以参考前文中相应内容,此处不再详述。
以电子设备为配置有支付系统的服务器为例,以下对本申请的技术方案进行举例说明:
首先,服务器中配置有本申请所实现的测试装置,该测试装置中集成了针对流计算规则的自动化压力测试、功能测试的功能,有效的解决了相关测试难点,提升了针对流计算规则的测试效率,提高测试准确度。
结合图7中所示的流程图,本申请所实现的测试装置中分设流计算规则测试配置模块、压力测试模块、功能测试模块及报告导出模块。其中,流计算规则测试配置模块主要在测试前首先进行流计算规则测试的相关参数进行配置,并加载excel中的测试用例及预期结果,识别并解析不同流计算规则的测试用例,形成测试报文。相应的,压力测试模块和功能测试模块分别按照测试的参数配置执行测试,对比测试结果与预期结果,输出测试通过情况与测试未通过原因等,最后通过报告导出模块输出测试报告。
具体如下:
1、在流计算规则测试配置模块中,预先设定针对不同流计算规则的测试参数,例如:流计算规则测试阈值、流计算规则测试时间间隔等参数。
2、预先通过导入包含有测试数据的excel文件,进而批量识别出各个流计算规则对应的测试用例,并解析测试用例及相应的预期结果,即前文中的预期计算结果,生成并输出相应的测试报文。
3、测试参数中设定有每条测试报文发送的时间间隔,以便于本申请所实现的测试装置能够将按照设定的间隔发送测试报文,进而实现对各流计算规则进行测试。
4、本申请所实现的测试装置通过压力测试模块和功能测试模块分别支持流计算规则的压力测试及功能测试,其中,在测试开始前,用户可以选择所需测试类型。
5、若选择压力测试,本申请所实现的测试装置将按照压力测试类型所设定的时间间隔发送同一测试报文:
其中,在业务系统接收到测试报文之后,对测试报文进行处理,与此同时,本申请所实现的测试装置采集每个测试报文处理过程中的流计算规则压力测试监控数据,包括CPU堆内存、非堆内存、规则算子秒处理量、平均端到端时间延时、算子是否背压等;之后,可以按照格式输出压力测试监控的结果,即测试报告。
6、若选择功能测试,循环执行每个测试用例,具体为:
6.1、本申请所实现的测试装置按功能测试类型所设定的时间间隔发送测试用例的测试报文,循环执行6.1至6.4的步骤,直到当前流计算规则对应的最后一个测试用例执行结束,进一步的,再将下一个流计算规则对应的测试用例依次发送给业务系统,循环执行6.1至6.4的步骤,直到所有流计算规则对应的所有测试用例均被执行结束。
6.2、获得相应测试报文对应的测试结果。
6.3、对比测试结果与预期结果,形成测试通过结果,若未通过,输出未通过测试的结果。
6.4、批量按照流计算规则输出当前流计算规则的测试结果至Excel中。
需要说明的是,本申请所实现的测试装置中可以只对同一个流计算规则进行测试,即本申请所实现的测试装置将一个流计算规则对应的多个测试报文按照时间间隔发送给业务系统,并获得相应的功能测试结果;或者,本申请所实现的测试装置中可以同时对多个流计算规则进行测试,即本申请所实现的测试装置将多个流计算规则对应的多个测试报文按照时间间隔发送给业务系统,并获得相应的功能测试结果。
基于此,所输出的测试结果中可以包含一个流计算规则对应的测试结果,也可以包含多个流计算规则对应的测试结果。
可见,本申请所实现的测试装置中,通过按流计算规则进行批量识别并解析出测试用例,能够降低流计算规则测试用例的撰写成本;并且本申请所实现的测试装置能够按流计算规则输出多测试案例结果,对每个规则的多个测试用例,统一输出测试结果,或返回测试未通过步骤及原因,提升缺陷发现及定位速度,另外,本申请所实现的测试装置能够同时支持对流计算规则的功能测试及压力测试。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种测试方法,其特征在于,所述方法包括:
获得测试参数及测试集合,所述测试集合中包含有多个测试报文;
按照所述测试参数,依次向业务系统发送所述测试集合中的测试报文,以使得所述业务系统处理所接收到的测试报文,所述测试报文对应的处理方式相同或不同;
获得所述业务系统处理所述测试报文所对应的测试结果。
2.根据权利要求1所述的方法,其特征在于,还包括:
获得测试指令,所述测试指令用于指示测试类型,所述测试类型为压力测试类型或功能测试类型;
其中,所述测试结果与所述测试类型相对应。
3.根据权利要求2所述的方法,其特征在于,在所述测试类型为压力测试类型的情况下,按照所述测试参数,依次向业务系统发送所述测试集合的测试报文,包括:
按照所述测试参数中与所述压力测试类型相对应的测试时间间隔,依次向业务系统发送测试集合中的目标测试报文;
其中,每次向所述业务系统发送的所述目标测试报文相同,所述目标测试报文为所述测试集合中的任一测试报文。
4.根据权利要求3所述的方法,其特征在于,获得所述业务系统处理所述测试报文所对应的测试结果,包括:
获得所述业务系统每次处理所述测试报文内的测试用例过程中的系统监控数据;
其中,所述系统监控数据至少包含处理器堆内存占用量、处理器非堆内存占用量、处理规则算子秒处理量、平均端到端时间延迟量和处理规则算子是否背压结果中的任意一种或任意多种的组合。
5.根据权利要求2所述的方法,其特征在于,在所述测试类型为功能测试类型的情况下,按照所述测试参数,依次向业务系统发送所述测试集合的测试报文,包括:
按照所述测试参数中与所述功能测试类型相对应的测试时间间隔,依次向业务系统发送测试集合中的每个测试报文;
其中,每次向所述业务系统发送的所述测试报文不同。
6.根据权利要求5所述的方法,其特征在于,获得所述业务系统处理所述测试报文所对应的测试结果,包括:
获得所述业务系统每次处理所述测试报文的测试用例后的系统计算结果;
将所述系统计算结果与所述测试报文中的预期计算结果进行比对,以得到功能测试结果,所述功能测试结果至少能够表征所述业务系统中与所述测试报文对应的功能是否正常。
7.根据权利要求1所述的方法,其特征在于,还包括:
至少根据所述测试结果,输出测试报告。
8.根据权利要求1所述的方法,其特征在于,获得测试集合,包括:
获得多个测试用例;
至少根据所述测试用例,生成每个所述测试用例各自对应的测试报文,所述测试报文组成测试集合。
9.一种测试装置,其特征在于,所述方法包括:
参数获得单元,用于获得测试参数及测试集合,所述测试集合中包含有多个测试报文;
报文处理单元,用于按照所述测试参数,依次向业务系统发送所述测试集合中的测试报文,以使得所述业务系统处理所接收到的测试报文,所述测试报文对应的处理方式相同或不同;
结果获得单元,用于获得所述业务系统处理所述测试报文所对应的测试结果。
10.一种电子设备,其特征在于,包括:
存储器,用于存储应用程序和所述应用程序运行所产生的数据;
处理器,用于执行所述应用程序,以实现:获得测试参数及测试集合,所述测试集合中包含有多个测试报文;按照所述测试参数,依次向业务系统发送所述测试集合中的测试报文,以使得所述业务系统处理所接收到的测试报文,所述测试报文对应的处理方式相同或不同;获得所述业务系统处理所述测试报文所对应的测试结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011097067.3A CN112148621A (zh) | 2020-10-14 | 2020-10-14 | 一种测试方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011097067.3A CN112148621A (zh) | 2020-10-14 | 2020-10-14 | 一种测试方法、装置及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112148621A true CN112148621A (zh) | 2020-12-29 |
Family
ID=73953061
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011097067.3A Pending CN112148621A (zh) | 2020-10-14 | 2020-10-14 | 一种测试方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112148621A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113852610A (zh) * | 2021-09-06 | 2021-12-28 | 招银云创信息技术有限公司 | 报文处理方法、装置、计算机设备和存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103326901A (zh) * | 2013-06-26 | 2013-09-25 | 国家电网公司 | 一种电力系统宽带网络性能测试方法及系统 |
CN106897206A (zh) * | 2015-12-18 | 2017-06-27 | 阿里巴巴集团控股有限公司 | 一种业务测试方法及装置 |
CN109933535A (zh) * | 2019-03-26 | 2019-06-25 | 北京金山云网络技术有限公司 | 测试用例的生成方法、装置和服务器 |
CN110399293A (zh) * | 2019-06-21 | 2019-11-01 | 平安科技(深圳)有限公司 | 系统测试方法、装置、计算机设备和存储介质 |
CN111159049A (zh) * | 2019-12-31 | 2020-05-15 | 中国银行股份有限公司 | 接口自动化测试方法及系统 |
CN111221739A (zh) * | 2020-01-10 | 2020-06-02 | 中国建设银行股份有限公司 | 业务测试方法、装置和系统 |
CN111324526A (zh) * | 2018-12-14 | 2020-06-23 | 北京金山云网络技术有限公司 | 接口测试系统、方法和服务器 |
CN111600781A (zh) * | 2020-07-27 | 2020-08-28 | 中国人民解放军国防科技大学 | 一种基于测试仪的防火墙系统稳定性测试方法 |
-
2020
- 2020-10-14 CN CN202011097067.3A patent/CN112148621A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103326901A (zh) * | 2013-06-26 | 2013-09-25 | 国家电网公司 | 一种电力系统宽带网络性能测试方法及系统 |
CN106897206A (zh) * | 2015-12-18 | 2017-06-27 | 阿里巴巴集团控股有限公司 | 一种业务测试方法及装置 |
CN111324526A (zh) * | 2018-12-14 | 2020-06-23 | 北京金山云网络技术有限公司 | 接口测试系统、方法和服务器 |
CN109933535A (zh) * | 2019-03-26 | 2019-06-25 | 北京金山云网络技术有限公司 | 测试用例的生成方法、装置和服务器 |
CN110399293A (zh) * | 2019-06-21 | 2019-11-01 | 平安科技(深圳)有限公司 | 系统测试方法、装置、计算机设备和存储介质 |
CN111159049A (zh) * | 2019-12-31 | 2020-05-15 | 中国银行股份有限公司 | 接口自动化测试方法及系统 |
CN111221739A (zh) * | 2020-01-10 | 2020-06-02 | 中国建设银行股份有限公司 | 业务测试方法、装置和系统 |
CN111600781A (zh) * | 2020-07-27 | 2020-08-28 | 中国人民解放军国防科技大学 | 一种基于测试仪的防火墙系统稳定性测试方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113852610A (zh) * | 2021-09-06 | 2021-12-28 | 招银云创信息技术有限公司 | 报文处理方法、装置、计算机设备和存储介质 |
CN113852610B (zh) * | 2021-09-06 | 2024-03-05 | 招银云创信息技术有限公司 | 报文处理方法、装置、计算机设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108255725B (zh) | 测试方法及装置 | |
CN109947641B (zh) | 自动化测试方法及装置 | |
CN110362473B (zh) | 测试环境的优化方法及装置、存储介质、终端 | |
CN109995614B (zh) | 一种α测试方法及装置 | |
CN111708650B (zh) | 一种业务应用系统高可用性分析方法及系统 | |
CN111190755B (zh) | 应用程序的功能异常处理方法及装置 | |
CN111045879B (zh) | 压力测试报告的生成方法、装置及存储介质 | |
CN110569159A (zh) | 挡板生成方法、装置、设备及计算机存储介质 | |
CN111124911A (zh) | 一种自动化测试方法、装置、设备及可读存储介质 | |
CN107203464B (zh) | 业务问题的定位方法以及装置 | |
CN110177024B (zh) | 热点设备的监控方法及客户端、服务端、系统 | |
CN112148621A (zh) | 一种测试方法、装置及电子设备 | |
CN111367782A (zh) | 回归测试数据自动生成的方法及装置 | |
CN113282460A (zh) | 分布式告警系统、方法和装置 | |
CN111131262B (zh) | 一种漏洞扫描方法及装置 | |
CN112948262A (zh) | 一种系统测试方法、装置、计算机设备和存储介质 | |
CN111176985B (zh) | 软件接口的性能测试方法及装置、计算机设备、存储介质 | |
CN111367795A (zh) | 基于benchmark服务的性能测试方法及相关设备 | |
CN115114032A (zh) | 一种消息校验方法、装置、设备、存储介质和产品 | |
CN112948276A (zh) | 模糊测试方法、装置和电子设备 | |
CN110362464B (zh) | 软件分析方法及设备 | |
CN112988591A (zh) | 一种计费逻辑验证方法、装置、设备及存储介质 | |
CN111488236A (zh) | 一种订单异常处理方法、服务器、存储介质及处理装置 | |
CN111708649B (zh) | 一种业务应用系统攻击检测方法及系统 | |
CN116991724A (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 |