通讯压力测试方法及电子设备与流程

文档序号:33176656发布日期:2023-02-04 03:48阅读:53来源:国知局
通讯压力测试方法及电子设备与流程

1.本技术属于计算机技术领域,具体涉及一种通讯压力测试方法及电子设备。


背景技术:

2.通讯压力测试,是确立通讯系统稳定性的一种测试方法,通过通讯压力测试可以更清楚的了解通讯系统的通讯压力情况。通过测试得到的通讯压力情况,将有效指导通讯系统中各通讯任务的字节、校验、间隔配置,提高通讯算力的利用率,以确定通讯传输任务的相关标准,指导程序设计,避免在不佳的条件运行。
3.相关技术方案中,在对测试设备的通讯压力进行测试时,一般是在正常的数据传输任务中,直接加入通讯压力测试任务。但是,这样在对测试设备的通讯压力进行测试时,会影响原来设备的正常数据传输任务。
4.需要说明的是,在上述背景技术部分公开的信息仅用于加强对本技术的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。


技术实现要素:

5.本技术的目的在于提供一种通讯压力测试方法及电子设备,可以实现对测试设备进行通讯压力测试时减少对数据传输任务的影响。
6.本技术的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本技术的实践而习得。
7.根据本技术实施例的一个方面,提供通讯压力测试方法,应用于测试设备,通讯压力测试方法包括:
8.获取测试设备的数据传输任务和通讯压力测试任务,数据传输任务用于传输待传输数据,通讯压力测试任务用于传输预设的测试数据以对测试设备进行通讯压力测试,待传输数据和测试数据为不同的数据;
9.将通讯压力测试任务和数据传输任务并行执行,得到测试设备的通讯压力测试结果。
10.根据本技术实施例的一个方面,提供一种通讯压力测试装置,通讯压力测试装置包括:
11.获取模块,用于获取测试设备的数据传输任务和通讯压力测试任务,数据传输任务用于传输待传输数据,通讯压力测试任务用于传输预设的测试数据以对测试设备进行通讯压力测试,待传输数据和测试数据为不同的数据;
12.测试模块,用于将通讯压力测试任务和数据传输任务并行执行,得到测试设备的通讯压力测试结果。
13.根据本技术实施例的一个方面,提供一种计算机可读介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如以上技术方案中的通讯压力测试方法。
14.根据本技术实施例的一个方面,提供一种电子设备,该电子设备包括:处理器;以
及存储器,用于存储处理器的可执行指令;其中,处理器被配置为经由执行可执行指令来执行如以上技术方案中的通讯压力测试方法。
15.根据本技术实施例的一个方面,提供一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行如以上技术方案中的通讯压力测试方法。
16.在本技术实施例提供的技术方案中,通过将数据传输任务和通讯压力测试任务并行执行,也就是将数据传输任务和通讯压力测试任务在各自的线程中运行,以实现在进行通讯压力测试任务的同时进行数据传输任务,在尽可能不影响数据正常传输的情况下,提升了测试设备的工作效率。
17.此外,在一些通讯压力测试方案中,测试设备通常是基于测试设备的待传输数据进行通讯压力测试。因此,开发人员在编写相应的通讯压力测试任务时,需要对待传输数据进行适配,根据待传输数据编写相应的通讯压力测试任务,可移植性较差,一旦更换了测试设备,待传输数据的类型发生了改变,则之前编写的通讯压力测试任务可能就无法运行了。
18.而在本技术实施例提供的方法中,测试设备在执行通讯压力测试任务时,可以通过传输预设的测试数据以进行通讯压力测试。也即是说,通讯压力测试任务的执行不依赖待传输数据,不需要对待传输数据进行适配,从而极大地提高了通讯压力测试任务的可移植性,避免开发人员重复开发,降低人力和物力的消耗。
19.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本技术。
附图说明
20.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本技术的实施例,并与说明书一起用于解释本技术的原理。显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
21.图1示意性地示出了相关技术方案的系统架构框图。
22.图2示意性地示出了应用本技术技术方案的示例性系统架构框图。
23.图3示意性地示出了本技术一实施例提供的通讯压力测试方法步骤流程图。
24.图4示意性地示出了本技术一实施例中实现步骤s302的具体流程图。
25.图5示意性地示出了本技术一实施例中实现步骤s402的具体流程图。
26.图6示意性地示出了本技术一实施例中实现步骤s502的具体流程图。
27.图7示意性地示出了本技术另一实施例中实现步骤s402的具体流程图。
28.图8示意性地示出了本技术另一实施例中实现步骤s402的具体流程图。
29.图9示意性地示出了本技术实施例提供的通讯压力测试装置的结构框图。
30.图10示意性示出了适于用来实现本技术实施例的电子设备的结构框图。
具体实施方式
31.现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形
式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本技术将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。
32.此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本技术的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本技术的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本技术的各方面。
33.附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
34.附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
35.参见图1,图1示意性地示出了相关技术方案的系统架构框图。在相关技术方案中在对测试设备的通讯压力进行测试时,常采用的做法是在正常的数据传输任务中,直接加入通讯压力测试任务,即将测试设备获取到的数据传输任务和通讯压力测试任务组合成一个任务,再通过缓冲器发送给接收设备,进而完成数据的传输和测试。这样,对于通讯量比较大的情况来说,容易出现超时出错等问题。
36.为了解决上述问题,本技术提出了一种通讯压力测试方法,该通讯压力测试方法所采用的系统架构,参见图2,图2示意性地示出了应用本技术技术方案的示例性系统架构框图。在该系统架构中,数据传输任务与通讯压力测试任务并行执行,也就是将数据传输任务和通讯压力测试任务在各自的线程中运行。在数据传输任务为基础任务之外额外施加通讯,这样,既可以兼容传统的单类测试,也可以人为制造通讯压力,通过多机收发的方式也可以模拟多测试设备通讯仲裁、多中断互相挤占、前后台任务频繁切换等极端情况,使信号不仅来源于单一数据接口,从而测试了mcu中不同的软硬件部分。
37.需要说明的是,在通讯压力测试系统通讯中,测试设备(即发送设备)中的多个线程的任务和数据一般会经过对应的发送缓存器,再发送给其他设备(即接收设备)。本技术将数据传输任务与通讯压力测试任务并行执行后的数据发送给缓存器,与相关技术方案中,在正常的数据传输任务中,直接加入通讯压力测试任务,再发送给缓存器,其测试结果相同。故可以通过并行执行数据传输任务和通讯压力测试任务,以模拟通讯传输。另外,在对测试设备的性能进行测试时,可以让接收设备的性能高于测试设备,或者,让接收设备的运算和内存资源消耗明显低于测试设备,以测得测试设备通讯时的极限。
38.在相关技术中,通讯压力测试往往是针对测试设备和接收设备的通讯需求进行单独设计和添加对应的测试任务,而且往往仅运行测试任务,无法有效模拟出真实的运行情况。其中,相关技术中的测试任务是通过定制性编程的方式,在已有的传输任务中,加入部分计算或判断代码,以得到测试结果,其设计的代码需要根据已有的传输任务进行定制化设计,不具备可移植性。而且,设计时往往由于通讯协议的限制,无法一对多,或者需要硬件多接口配合。可见,这种测试方式受设备影响大,不具有通用性的特点。
39.针对上述问题,结合具体实施方式对本技术提供的通讯压力测试方法、系统、计算
机可读介质及电子设备做出详细说明。
40.本实施例的方法可以应用于测试设备的通讯压力测试场景,具体地,参见图3,图3示意性地示出了本技术一实施例提供的通讯压力测试方法步骤流程图。该通讯压力测试方法的执行主体可以为测试设备的控制器,主要可以包括如下的步骤s301至步骤s302。
41.步骤s301,获取测试设备的数据传输任务和通讯压力测试任务,数据传输任务用于传输待传输数据,通讯压力测试任务用于传输预设的测试数据以对测试设备进行通讯压力测试。
42.其中,待传输数据和测试数据为不同的数据。测试设备为需要进行测试性能的硬件设备,例如可以是电源设备、自移动设备或移动终端设备等硬件设备。移动终端设备可以是智能手机、平板电脑、笔记本等。具体地,自移动设备可以是包含自移动辅助功能的设备。其中,自移动辅助功能可以是车载终端实现,相应的自移动设备可以是具有该车载终端的车辆。自移动设备还可以是半自移动设备或者完全自主移动设备。例如,割草机、扫地机、具有导航功能的机器人等。
43.数据传输任务例如可以为测试设备向其他设备发送数据或者接收其他设备发送数据的非通讯压力测试任务,即测试设备常规运行的通讯任务,例如,测试设备在作业过程中向与其无线连接的移动终端设备上传作业结果。待传输数据即测试设备常规运行中,需要向其他设备发送的数据。
44.通讯压力测试任务是指对测试设备的通讯性能进行测试的具体任务,例如可以为对测试设备进行丢包率测试、准时性测试或者准确性测试等测试。测试设备中可以预先配置有通讯压力测试任务所需的测试数据。
45.通讯压力测试系统启动时,检测测试设备需要对外发送的接收设备地址。上述接收设备地址可以是预先配置的,或者,也可以是用户选择的。例如,在一些实施例中,可以监听用户在通讯压力测试系统中输入或者勾选测试设备、接收设备的地址信息,并根据用户输入的测试设备需要传输数据的结构体内容和通讯压力测试任务的内容,确定通讯压力测试任务。
46.其中,通讯压力测试任务可以分为若干个组成部分,一个组成部分可以理解为一个测试项目。每个测试项目可根据宏定义的开关选择确定是否开启,从而灵活适配测试设备和接收设备的通讯需求,无需单独设计和添加对应的测试任务。
47.具体地,每个测试项目既可以各自独立运行也可以同时运行。例如,可以在一次通讯压力测试任务中启动2个测试项目,或者可以仅启动1个测试项目,通讯压力测试任务中包含的测试项目的具体数量可以根据实际场景的需求进行配置。
48.需要说明的是,测试设备在测试阶段中可能存在测试设备为空闲状态,即测试设备无需执行待传输数据的传输,也就是测试设备无需生成数据传输任务,此时获取的数据传输任务为空的情况。
49.步骤s302,将通讯压力测试任务和数据传输任务并行执行,得到测试设备的通讯压力测试结果。
50.在获取到测试设备的数据传输任务和通讯压力测试任务后,对通讯压力测试任务执行时,可以对通讯压力测试任务所涉及的待测试项目分别对应设置线程。
51.在执行数据传输任务时,可以设置数据传输任务对应的线程。
52.所以,在执行通讯压力测试任务中的任何一个待测试项目时,可以在该待测试项目对应的线程中,以及,在数据传输任务对应的线程中,并行地进行数据传输。
53.这样,通过将压力测试任务和数据传输任务并行执行,有利于在对测试设备的通讯压力进行测试时,降低对测试设备的正常通讯的影响。而且,在真实环境中运行通讯压力测试任务,可以有效模拟出真实的运行情况,从而测试出测试设备的通讯极限。
54.此外,并行执行的方式不仅使得测试设备可以单独运行通讯压力测试任务的测试代码,还可以同时运行本应运行的数据传输任务的工程项目代码,更深入地对测试设备的通讯抗压能力进行测试。
55.在本技术实施例提供的技术方案中,通过将数据传输任务和通讯压力测试任务并行执行,也就是将数据传输任务和通讯压力测试任务分开运行,以实现在进行通讯压力测试任务时,同时进行数据传输任务,尽可能降低对常规的数据传输业务的影响,提升了测试设备的工作效率。
56.在一实施例中,若未获取到数据传输任务,则根据通讯压力测试任务,传输测试数据以对测试设备进行通讯压力测试,得到通讯压力测试结果。
57.具体地,当测试设备仅生成通讯压力测试任务时,此时可以仅对通讯压力测试任务中的待测试项目建立对应的线程,并在线程中执行待测试项目的测试代码,以测试测试数据的通讯性能,即完成通讯压力测试,得到通讯压力测试结果。
58.在另一实施例中,若未获取到数据传输任务,则根据测试数据生成数据传输任务;将通讯压力测试任务和数据传输任务并行执行,得到测试设备的通讯压力测试结果。
59.具体地,当未获取到数据传输任务,也可以提取部分测试数据作为数据传输任务中的待传输数据,进而根据待传输数据生成数据传输任务,使得测试数据在通讯压力测试任务和数据传输任务中并行执行,也就是将测试数据分成两个线程并行执行,模拟测试设备需要执行数据传输任务的场景,进而得到测试设备的通讯压力测试结果。
60.在本技术实施例提供的方法中,测试设备在执行通讯压力测试任务时,可以通过传输预设的测试数据以进行通讯压力测试。也即是说,通讯压力测试任务的执行不依赖待传输数据,不需要对待传输数据进行适配,从而极大地提高了通讯压力测试任务的可移植性,避免开发人员重复开发,降低人力和物力的消耗。
61.在一些可选的实施例中,参见图4,图4示意性地示出了本技术一实施例中实现步骤s302的具体流程图。步骤s302,将通讯压力测试任务和数据传输任务并行执行,得到测试设备的通讯压力测试结果,具体可以包括如下步骤s401至步骤s402。
62.步骤s401,获取数据传输任务中的待传输数据并进行传输;获取通讯压力测试任务中的待测试项目。
63.待传输数据指的是为测试设备需进行传输的数据;而待测试项目指的是为获取测试设备的某一项性能指标而进行的测试项目,其中,待测试项目的数量可以有多个,例如待测试项目可以包括但不限于丢包率测试、准时性测试、准确性测试以及收发上限测试等项目中任意一种或多种的组合。其中,丢包率测试用于判断在数据传输过程中是否存在信息包丢失,以及丢失的信息包所占的百分比,准时性测试用于判断在数据传输过程中是否存在超时的情况发生;准确性测试用于判断在数据传输过程中是否存在信息有误的情况;收发上限测试用于判断测试设备最终能承受的发送数据量的极限值。
64.其中,在确定待测试项目之前,通讯压力测试系统预先设置一个或多个测试项目。测试项目的设置方式可以包括但不限于宏义设置和配合上位机的参数设置。其中,宏定义设置所设计的每个宏定义决定了后续的代码编译内容。每个测试项目对应一个宏定义,收发地址和测试类型等每个参数类各对应一个宏定义。
65.具体地,参数类的宏定义决定了设备测试运行时的部分数值,开关式的宏定义决定了被编译的内容,即测试所使用的代码。配合上位机的参数设置是用户输入参数,以及开关类的参数,此类方式可以通过键盘输入,且每个参数都有默认值,在确定待测试项目前,可以根据实际需求选择修改其中一部分已有的默认值,以便于后续的测试运行。
66.待测试项目可以根据用户在通讯压力测试系统中所选择或输入的测试项目的信息来决定。例如,通过选择开关类的宏定义来启动对应的待测试项目,开关类的宏定义决定了测试项目的代码是否被启用。例如,通过开关类的宏定义设置准时性测试和丢包率测试为1,收发上限和准确性测试设置为0,那么被设置为0的所对应的测试项目的代码将不被识别,即不启用收发上限测试和准确性测试的代码,节约代码区的存储空间。同理,通过开关类的宏定义决定了部分代码的启用,减少无关待测试项目的其他代码干扰,使得存储空间最大化,适合开发使用。
67.在本技术实施例中,不同的测试设备和接收设备可以共用相同的测试项目,即不同的测试设备和接收设备中的测试项目的测试代码可以为相同的代码。用户仅通过对测试项目的相关参数进行设置和调整,即可实现对不同的测试设备和收发设备进行测试。
68.需要说明的是,由于本技术实施例中的通讯压力测试任务可以根据设备传输的协议类型,宏定义选择接收设备与测试设备相连,明确各个设备的收发,不需要专门根据设备所属的芯片、底层、数据传输任务等不同来进行修改,是单独可以移植的任务。
69.步骤s402,根据待测试项目对测试设备进行测试,得到测试设备的通讯压力测试结果。
70.根据待测试项目对测试设备进行测试,例如,若待测试项目为丢包率测试,则对测试设备的丢包率进行测试,最终可以得到一个测试结果,该测试结果用于表示该测试设备在数据传输的过程中信息包丢失的情况。通过得到测试设备的通讯压力测试结果,从而可以有效指导各个通讯任务的参数配置。
71.这样,通过获取通讯压力测试任务中的待测试项目,根据实际需要选择待测试项目,然后根据待测试项目对测试设备进行测试,从而可以掌握测试设备的性能参数,根据测试设备的性能参数进一步地配置测试设备的对应参数,以可以避免测试设备在不良的条件下运行。
72.示例性的,可以通过同型号的2台或2台以上测试设备互相收发数据以测试各测试设备的通讯压力,例如1台主测试设备(即发送设备)同时给3台从测试设备(即接收设备)发送通讯信息,同时测试3台从测试设备接收通讯信息的情况,以测试4台测试设备之间的通讯压力,通过并行执行4台测试设备(包括主测试设备和从测试设备)的测试代码,能有效评估主测试设备与从测试设备之间的运行情况,确保各项通信指标上限,从而指导程序设计和硬件开发。同时,仅通过移植通讯压力测试任务的程序到不同的测试设备中,并连接好测试设备的通讯线路,或匹配无线传输,即可进行测试设备间的收发判定。
73.在一些可选的实施例中,待测试项目包括发送极限测试项目,通讯压力测试结果
包括发送时间间隔与发送长度上限值的映射关系。参见图5,图5示意性地示出了本技术一实施例中实现步骤s402的具体流程图。步骤s402,根据待测试项目对测试设备进行测试,得到测试设备的通讯压力测试结果,具体可以包括如下步骤s501至步骤s503。
74.步骤s501,获取发送极限测试项目中待测试的发送时间间隔。
75.一般在数据的传输过程中,为了避免频繁地发送数据,造成测试设备的负荷过大,从而导致数据传输失败。因此,通常会设置一时间间隔,在数据传输的过程中按照设定好的发送时间间隔进行数据的传输。当待测试项目为发送极限测试项目时,发送极限测试项目用于检测测试设备发送数据量所能承受的极限值。这样,通过获取待测试的发送时间间隔,以此为基础,从而有利于后续确定发送时间间隔与发送长度上限值的映射关系。
76.步骤s502,检测各发送时间间隔对应的发送长度上限值。
77.在步骤s502中,发送长度上限值指的是在设定的时间间隔内测试设备能发送的最长内容,例如,发送时间间隔为1s,而1s的时间间隔能发送的内容长度为100字节,若超过100字节则会造成数据的负荷量过大,测试设备的系统就停止运行。同样地,对于其他的发送时间间隔也会有一个与之对应的发送长度上限值,在此不予赘述。这样,检测各个发送时间间隔对应的发送长度上限值,从而有利于后续确定发送时间间隔与发送长度上限值的映射关系。
78.在一些可选的实施例中,参见图6,图6示意性地示出了本技术一实施例中实现步骤s502的具体流程图。步骤s502,检测各发送时间间隔对应的发送长度上限值,具体可以包括如下步骤s601至步骤s603。
79.步骤s601,确定接收设备和测试数据。
80.其中,接收设备可以是和测试设备同类型的电子设备,也可以是不同于测试设备类型的电子设备。示例性的,测试设备和接收设备均为自移动设备时,可以测试多台自移动设备间协调作业的通讯测试;或者测试设备为自移动设备和接收设备均为移动终端设备时,可以测试自移动设备向移动终端设备实时反馈运行结果的通讯测试;或者测试设备为移动终端设备和接收设备为自移动设备,可以测试移动终端设备向自移动设备下发作业任务的通讯测试。
81.示例性的,用户可以预先将测试设备需要对外发送的接收设备地址写入到测试设备中,使得测试设备在执行通讯压力测试任务时,可以根据存储器中记录的接收设备地址确定接收设备,与接收设备建立通信连接。
82.步骤s602,在根据发送时间间隔向接收设备发送测试数据时,周期性或非周期性地加长测试数据的长度,直至测试设备满足预设的发送超限条件。
83.其中,发送超限条件用于判断发送时间间隔内所发送的测试数据的长度是否超出测试设备发送数据量所能承受的极限值。具体地,可以通过监测测试设备能否正常工作来判断测试设备是否达到预设的发送超限条件,例如,测试设备出现无法发送数据或者接收设备无法接收数据的情况,则可以确定测试设备/接收设备已满足预设的发送超限条件。以上仅为本技术实施例对发送超限条件的示意性举例,发送超限条件的具体内容可以根据实际需要进行设置,在此不予限制。
84.在根据发送时间间隔向接收设备发送测试数据时,可以周期性地加长测试数据的长度。例如,每次在相同的时间间隔周期内,将测试数据的内容增加相同的长度,直到测试
设备达到发送超限条件(即此时测试设备处于停止运行状态),从而确定测试设备发送测试数据的发送长度上限值。当然,也可以非周期性地加长测试数据的长度。例如,每次在不同时间间隔内,将测试数据增加相同的长度,直到测试设备达到发送超限条件,从而确定测试设备发送测试数据的发送长度上限值。
85.此外,在上述示例中,周期性或非周期性地将测试数据增加相同的长度。在另一些可能的实现方式中,也可以周期性或非周期地将测试数据增加不同的长度,增加的长度随着发送次数增加而增加。这样,可以实现快速判断是否满足预设的发送超限条件。
86.在本技术实施例中,测试发送极限测试项目可以按照设备间通讯的协议类型不同,在支持全双工、一对多的协议中进行同时收发、或者多设备收发。
87.步骤s603,在测试设备满足发送超限条件时,将测试数据的当前长度确定为发送时间间隔对应的发送长度上限值。
88.在一实施方式,在测试设备满足发送超限条件时,如果测试数据每次增加的长度为相同的长度,则可以将发送长度上限值表示为:
89.l
i+1
=l0+d*i,
90.其中,l0表示第一次发送测试数据的长度,d表示每次增加的测试数据长度,i表示增加测试数据长度的次数,i为大于或等于0的整数。
91.在另一实施方式,在测试设备满足发送超限条件时,如果测试数据每次增加的长度为不同的长度,则可以将发送长度上限值表示为:
92.l
n+1
=l0+d1+d2+
…dn-1
+dn,
93.其中,l0表示第一次发送测试数据的长度,dn表示第n次增加测试数据的长度,n表示增加测试数据长度的次数,n为大于或等于1的整数。
94.当测试设备满足发送超限条件时,则认为当前发送时间间隔对应的发送长度已经达到极限值,此时的发送长度为测试设备在当前发送时间间隔下所能承受的发送长度上限值。若继续加长发送长度,则有可能造成测试设备的内部系统崩溃,因此,将测试数据的当前长度确定为当前的发送时间间隔对应的发送长度上限值。对不同的发送时间间隔进行上述测试,可以得到各发送时间间隔对应的发送长度上限值。
95.这样,通过根据发送时间间隔向接收设备发送测试数据时,周期性或非周期性地加长测试数据的长度,直至测试设备满足预设的发送超限条件,从而可以掌握各个发送时间间隔对应的发送长度上限值。
96.步骤s503,根据各发送时间间隔以及各发送时间间隔对应的发送长度上限值,确定发送时间间隔与发送长度上限值的映射关系。
97.发送时间间隔与发送长度上限值的映射关系指的是发送时间间隔与发送长度上限值之间的对应关系,例如,当发送时间间隔为1s,对应的发送长度上限为100字节,当发送时间间隔为5s,对应的发送上限为500字节等。通过确定发送时间间隔与发送长度上限值的映射关系,从而有利于掌握测试设备的收发上限情况。
98.这样,通过构建发送时间间隔与发送长度上限值的映射关系,从而有利于掌握测试设备的收发上限情况,进一步可以确定该设备是否能满足后续工程开发需要,是否需要进行调整。
99.在一些可选的实施例中,通讯压力测试结果还包括发送速率的最大值;在步骤
s503,在确定发送时间间隔与发送长度上限值的映射关系之后,还包括:
100.根据发送时间间隔与发送长度上限值的映射关系,计算发送速率的最大值。其中,发送速率可以通过发送长度上限值与发送时间间隔作除法计算得到。
101.这样,在确定了发送时间间隔与发送长度上限值的映射关系之后,根据发送时间间隔与发送长度上限值,从而可以计算得到最大的发送速率,通过该发送速率可以评估每秒剩余可发送信息量。
102.在一些可选的实施例中,待测试项目包括丢包率测试项目,通讯压力测试结果包括丢包率。参见图7,图7示意性地示出了本技术另一实施例中实现步骤s402的具体流程图。步骤s402,根据待测试项目对测试设备进行测试,得到测试设备的通讯压力测试结果,具体可以包括如下步骤s701至步骤s704。
103.步骤s701,确定接收设备和测试数据。
104.若待测试项目为丢包率测试项目,确定测试设备需要对外发送的设备地址,以及对应的测试数据,即可确定接收设备和测试数据。
105.步骤s702,向接收设备发送测试数据。
106.在确定了接收设备之后,向接收设备发送测试数据,以进行丢包率测试。
107.步骤s703,获取接收设备的回传信息,回传信息用于指示接收设备接收到测试数据。
108.测试设备向接收设备发送测试数据之后,接收设备向测试设备返回信息给测试设备,测试设备可以得到接收设备回应的次数。
109.步骤s704,根据发送测试数据的次数和接收到回传信息的次数,确定测试设备的丢包率。
110.为了便于理解本实施例的技术方案举例如下,若待测试项目为丢包率测试项目,测试设备向接收设备发送待测试数据,假设测试设备向接收设备发送了10次测试数据,而接收设备接收到8次,则接收设备向测试设备回传了8次回传信息。由于测试设备向接收设备发送了10次测试数据,却最终至接收到了8次回传消息,可以确定丢失了两次传送的测试数据,从而可以计算得到丢包次数占总传送次数的比例为20%,即可以确定丢包率为20%。
111.这样,测试设备根据发送和接收的准确信息次数,从而可以判断是否存在信息包丢失,若有信息包丢失,也可以计算进一步确定丢失的百分比。
112.此外,在数据传输时,以测试设备a发送到接收设备b的收发时延测试为例,测试设备a计算发送时延,接收设备b计算接收时延,两者时延往往是不一样的。一般来说,两者运行的任务消耗算量一致时,接收设备b的时延更高。当测试设备同时具备接收数据和发送数据的功能时,可以对测试设备既进行发送的通讯压力测试,又进行接收的通讯压力测试,即分别测算出测试设备接收数据包的极限和发送数据包的极限。此时,可以测试其测试设备发送性能和接收性能。
113.在测试发送性能时,待测试项目可以包括准时性测试项目,通讯压力测试结果可以包括发送超时次数和发送超时时间。参见图8,图8示意性地示出了本技术另一实施例中实现步骤s402的具体流程图。步骤s402,根据待测试项目对测试设备进行测试,得到测试设备的通讯压力测试结果,具体可以包括如下步骤s801至步骤s804。
114.步骤s801,确定接收设备和测试数据。
115.当待测试项目为准时性测试项目时,准时性测试项目用于对测试设备的准时性进行测试,也就是判断是否超时。在进行准时性测试项目时,先确定需要测试数据以及测试数据的接收方,也就是先确定接收设备和测试数据,从而为后续测试项目的执行提供基础环境。
116.步骤s802,控制测试设备向接收设备发送测试数据,并记录每次发送测试数据的时间。
117.在步骤s802中,测试设备向接收设备发送测试数据时,记录测试设备发送测试数据时的时间,每发送一次就记录一次发送时间,以记录得到每次的发送时间。
118.步骤s803,根据每次发送测试数据的时间,确定测试数据的多个发送时间间隔。
119.在得到每次发送测试数据的时间之后,根据相邻两次时间之间的时间间隔,从而可以确定测试数据对应的多个发送时间间隔。
120.步骤s804,根据多个发送时间间隔和预设间隔阈值,确定发送超时次数和发送超时时间。
121.在步骤s804中,对于预设间隔阈值的设置,本领域技术人员可以根据实际需要进行设置,在本方案中不予以限定。通过将发送时间间隔与预设间隔阈值进行比较,进而可以确定发送超时次数和发送超时时间。
122.为了便于理解本实施例的技术方案举例如下,若待测试项目为准时性测试项目,记录每次测试设备向接收设备发送测试数据的时间,例如,测试设备第一次向接收设备发送测试数据的时间为10点,第二次向接收设备发送测试数据的时间为11点,第三次向接收设备发送测试数据的时间为12点,可以得到第一次与第二次发送测试数据的时间间隔为1个小时,即第一时间间隔为1小时,第二次与第三次发送测试数据的时间间隔为1个小时,即第二时间间隔为1小时。假设预设时间间隔阈值为30min,由于第一时间间隔和第二时间间隔均大于预设时间间隔阈值,则可以确定超时了两次,并且超时时间为30min。需要说明的是,这里的数值大小仅是用于举例说明,不代表实际中的数据。
123.这样,通过对准时性测试项目,从而可以确定发送超时次数和发送超时时间,从而有利于后续对软件程序的调整。
124.应当注意,尽管在附图中以特定顺序描述了本技术中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
125.以下介绍本技术的装置实施例,可以用于执行本技术上述实施例中的通讯压力测试方法。图9示意性地示出了本技术实施例提供的通讯压力测试装置的结构框图。如图9所示,该通讯压力测试装置900包括:
126.获取模块901,用于获取测试设备的数据传输任务和通讯压力测试任务,数据传输任务用于传输待传输数据,通讯压力测试任务用于传输预设的测试数据以对测试设备进行通讯压力测试,待传输数据和测试数据为不同的数据;
127.测试模块902,用于将通讯压力测试任务和数据传输任务并行执行,得到测试设备的通讯压力测试结果。
128.在本技术的一些实施例中,基于以上技术方案,测试模块902还用于,若未获取到
数据传输任务,则根据通讯压力测试任务,传输测试数据以对测试设备进行通讯压力测试,得到通讯压力测试结果。
129.在本技术的一些实施例中,基于以上技术方案,测试模块902还用于,
130.若未获取到数据传输任务,则根据测试数据生成数据传输任务;将通讯压力测试任务和数据传输任务并行执行,得到测试设备的通讯压力测试结果。
131.在本技术的一些实施例中,基于以上技术方案,测试模块902还用于,获取数据传输任务中的待传输数据并进行传输;获取通讯压力测试任务中的待测试项目;根据待测试项目对测试设备进行测试,得到测试设备的通讯压力测试结果。
132.在本技术的一些实施例中,基于以上技术方案,待测试项目包括发送极限测试项目,通讯压力测试结果包括发送时间间隔与发送长度上限值的映射关系;测试模块902还用于,获取发送极限测试项目中待测试的发送时间间隔;检测各发送时间间隔对应的发送长度上限值;根据各发送时间间隔以及各发送时间间隔对应的发送长度上限值,确定发送时间间隔与发送长度上限值的映射关系。
133.在本技术的一些实施例中,基于以上技术方案,测试模块902还用于,确定接收设备和测试数据;在根据发送时间间隔向接收设备发送测试数据时,周期性或非周期性地加长测试数据的长度,直至测试设备满足预设的发送超限条件;在测试设备满足发送超限条件时,将测试数据的当前长度确定为发送时间间隔对应的发送长度上限值。
134.在本技术的一些实施例中,基于以上技术方案,通讯压力测试结果还包括发送速率的最大值;测试模块902还用于,根据发送时间间隔与发送长度上限值的映射关系,计算发送速率的最大值。
135.在本技术的一些实施例中,基于以上技术方案,待测试项目包括丢包率测试项目,通讯压力测试结果包括丢包率;测试模块902还用于,确定接收设备和测试数据;向接收设备发送测试数据;获取接收设备的回传信息,回传信息用于指示接收设备接收到测试数据;根据发送测试数据的次数和接收到回传信息的次数,确定测试设备的丢包率。
136.在本技术的一些实施例中,基于以上技术方案,待测试项目包括准时性测试项目,通讯压力测试结果包括发送超时次数和发送超时时间;测试模块902还用于,确定接收设备和测试数据;控制测试设备向接收设备发送测试数据,并记录每次发送测试数据的时间;根据每次发送测试数据的时间,确定测试数据的多个发送时间间隔;根据多个发送时间间隔和预设间隔阈值,确定发送超时次数和发送超时时间。
137.本技术各实施例中提供的通讯压力测试装置的具体细节已经在对应的方法实施例中进行了详细的描述,此处不再赘述。
138.图10示意性地示出了用于实现本技术实施例的电子设备的结构框图。
139.需要说明的是,图10示出的电子设备1000仅是一个示例,不应对本技术实施例的功能和使用范围带来任何限制。
140.如图10所示,电子设备1000包括中央处理器1001(central processing unit,cpu),其可以根据存储在只读存储器1002(read-only memory,rom)中的程序或者从存储部分1008加载到随机访问存储器1003(random access memory,ram)中的程序而执行各种适当的动作和处理。在随机访问存储器1003中,还存储有系统操作所需的各种程序和数据。中央处理器1001、在只读存储器1002以及随机访问存储器1003通过总线1004彼此相连。输入/
输出接口1005(input/output接口,即i/o接口)也连接至总线1004。
141.以下部件连接至输入/输出接口1005:包括键盘、鼠标等的输入部分1006;包括诸如阴极射线管(cathode ray tube,crt)、液晶显示器(liquid crystal display,lcd)等以及扬声器等的输出部分1007;包括硬盘等的存储部分1008;以及包括诸如局域网卡、调制解调器等的网络接口卡的通信部分1009。通信部分1009经由诸如因特网的网络执行通信处理。驱动器1010也根据需要连接至输入/输出接口1005。可拆卸介质1011,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1010上,以便于从其上读出的计算机程序根据需要被安装入存储部分1008。
142.特别地,根据本技术的实施例,各个方法流程图中所描述的过程可以被实现为计算机软件程序。例如,本技术的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1009从网络上被下载和安装,和/或从可拆卸介质1011被安装。在该计算机程序被中央处理器1001执行时,执行本技术的系统中限定的各种功能。
143.需要说明的是,本技术实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(erasable programmable read only memory,eprom)、闪存、光纤、便携式紧凑磁盘只读存储器(compact disc read-only memory,cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本技术中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本技术中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
144.附图中的流程图和框图,图示了按照本技术各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
145.应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本技术的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
146.通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本技术实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本技术实施方式的方法。
147.本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本技术的其它实施方案。本技术旨在涵盖本技术的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本技术的一般性原理并包括本技术未公开的本技术领域中的公知常识或惯用技术手段。
148.应当理解的是,本技术并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本技术的范围仅由所附的权利要求来限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1