CN112948256A - 一种客户端程序的测试方法、装置、存储介质及电子设备 - Google Patents

一种客户端程序的测试方法、装置、存储介质及电子设备 Download PDF

Info

Publication number
CN112948256A
CN112948256A CN202110314160.3A CN202110314160A CN112948256A CN 112948256 A CN112948256 A CN 112948256A CN 202110314160 A CN202110314160 A CN 202110314160A CN 112948256 A CN112948256 A CN 112948256A
Authority
CN
China
Prior art keywords
test
client
performance
target function
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
Application number
CN202110314160.3A
Other languages
English (en)
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.)
Beijing Dami Technology Co Ltd
Original Assignee
Beijing Dami 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 Beijing Dami Technology Co Ltd filed Critical Beijing Dami Technology Co Ltd
Priority to CN202110314160.3A priority Critical patent/CN112948256A/zh
Publication of CN112948256A publication Critical patent/CN112948256A/zh
Pending legal-status Critical Current

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/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0769Readable error formats, e.g. cross-platform generic formats, human understandable formats
    • 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/3692Test management for test results analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Abstract

本申请实施例公开了一种客户端程序的测试方法,所述方法包括:在客户端运行所述客户端程序时,获取针对所述客户端程序中目标功能的测试数据;所述测试数据包括所述客户端执行所述目标功能的过程中至少两个时间段所对应的设备性能数据;基于所述测试数据,采用程序测试服务对所述至少两个时间段所对应的设备性能状态进行测试处理,生成针对所述目标功能的测试状态报告。本申请可以有效提高针对目标功能的测试效率,从而分析目标功能对客户端性能造成的影响。

Description

一种客户端程序的测试方法、装置、存储介质及电子设备
技术领域
本申请涉及计算机技术领域,尤其涉及一种客户端程序的测试方法、装置、存储介质及电子设备。
背景技术
目前,对于基于客户端/服务器(Client/Server,CS)运行架构运行的客户端程序以及客户端程序包括的多种功能而言,为了防止在其上线后出现严重的故障事件或对客户端的性能造成不良影响,通常会采用性能测试工具对执行该客户端程序的客户端进行性能测试。然而,目前市场上的性能测试工具,主要通过时间维度来测试客户端性能,即采用遍历的形式周期性获取客户端的性能数据。然而采用遍历的方式一方面占用逻辑资源较多,一方面会获取大量冗余的客户端性能数据,对服务器端基于性能数据分析客户端性能状态造成干扰。
发明内容
本申请实施例提供了一种客户端程序的测试方法、装置、存储介质及电子设备,可以有效提高针对目标功能的测试效率,从而分析目标功能对客户端性能造成的影响。所述技术方案如下:
第一方面,本申请实施例提供了一种客户端程序的测试方法,所述方法包括:
在客户端运行所述客户端程序时,获取针对所述客户端程序中目标功能的测试数据;所述测试数据包括所述客户端执行所述目标功能的过程中至少两个时间段所对应的设备性能数据;
基于所述测试数据,采用程序测试服务对所述至少两个时间段所对应的设备性能状态进行测试处理,生成针对所述目标功能的测试状态报告。
第二方面,本申请实施例提供了一种客户端程序的测试装置,所述装置包括:
获取数据模块,用于在客户端运行所述客户端程序时,获取针对所述客户端程序中目标功能的测试数据;所述测试数据包括所述客户端执行所述目标功能的过程中至少两个时间段所对应的设备性能数据;
测试处理模块,用于基于所述测试数据,采用程序测试服务对所述至少两个时间段所对应的设备性能状态进行测试处理,生成针对所述目标功能的测试状态报告。
第三方面,本申请实施例提供一种计算机存储介质,所述计算机存储介质存储有多条指令,所述指令适于由处理器加载并执行上述的方法步骤。
第四方面,本申请实施例提供一种电子设备,可包括:处理器和存储器;其中,所述存储器存储有计算机程序,所述计算机程序适于由所述处理器加载并执行上述的方法步骤。
本申请一些实施例提供的技术方案带来的有益效果至少包括:
本申请通过获取客户端执行目标功能的过程中至少两个时间段所对应的设备性能数据,通过对设备性能数据分析客户端的设备性能状态,从而直观获取客户端在执行目标功能过程中的设备性能状态的变化,测试出目标功能对客户端的设备性能状态的影响;为进一步针对目标功能进行性能优化和排除故障作准备,提高针对目标功能的测试效率,调高获取测试数据的灵活性;精简需要获取的测试数据的数据量,解决了因遍历或轮询的采集方式造成相关测试数据出现过密及冗余量大的问题,降低分析测试数据占用的逻辑资源。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种客户端程序的测试方法的结构示意图;
图2是本申请实施例提供的一种客户端程序的测试方法的流程示意图;
图3是本申请实施例提供的一种性能状态报告的界面示意图;
图4是本申请实施例提供的一种客户端程序的测试方法的流程示意图;
图5是本申请实施例提供的一种生成性能测试模型的方法的流程示意图;
图6是本申请实施例提供的一种神经网络模型的结构示意图;
图7是本申请实施例提供的一种客户端程序的测试方法的流程示意图;
图8是本申请实施例提供的一种客户端程序的测试装置的结构示意图;
图9是本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本申请的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。在本申请的描述中,需要说明的是,除非另有明确的规定和限定,“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本申请中的具体含义。此外,在本申请的描述中,除非另有说明,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
下面结合具体的实施例对本申请进行详细说明。
在一个实施例中,如图1所示,为本申请实施例提供的一种客户端程序的测试的架构示意图,包括:客户端101、服务器端102和目标端103。
客户端101包括但不限于移动台(Mobile Station,MS)、移动终端设备(MobileTerminal)、移动电话(Mobile Telephone)、手机(handset)及便携设备(portableequipment)等,该移动终端可以经无线接入网(Radio Access Network,RAN)与一个或多个核心网进行通信,例如,移动终端可以是移动电话(或称为“蜂窝”电话)、具有无线通信功能的计算机等,移动终端还可以是便携式、袖珍式、手持式、计算机内置的或者车载的移动装置或设备。可以理解的是,本申请对客户端101的种类不做限定。另外,客户端101还可以包括其他客户端,此处仅以一个电子设备为例进行介绍,并非限定本申请实施例中的客户端101的数量。
在本申请实施例中,客户端101用于向服务器端102发送测试数据,目标端103用于接收服务器端102发送的测试状态报告以及展示该测试状态报告。需要说明的是,目标端103的形式和种类与客户端101可以相同或者不相同,以及在一些实施例中,目标端103和客户端101指同一个电子设备。
服务器端102可以是一个服务器,也可以是多个服务器组成的服务器集群。服务器端102中预先配置互联网信息服务(Internet Information Services,IIS)等服务,以便用户可以通过客户端101或目标端102基于访问网络端口程序从服务器端102向服务器端102发送数据或接收数据。
在一个实施例中,如图2所示,特提出了一种客户端程序的测试方法,该方法可依赖于计算机程序实现,可运行于基于冯诺依曼体系的客户端程序的测试装置上。该计算机程序可集成在应用中,也可作为独立的工具类应用运行。
具体的,该客户端程序的测试方法包括:
步骤S101、在客户端运行客户端程序时,获取针对客户端程序中目标功能的测试数据。
客户端程序,可以理解为比如基于Windows平台实现的浮动定位的二进制可执行程序(executable program,EXE File)和基于移动平台实现的应用程序(application,app)。功能可以理解为以实现某种效果的客户端程序中一段特定程序,客户端程序包括多种功能,目标功能为基于预设条件在多种功能中确定的至少一种功能。举例来说,客户端程序为app腾讯QQ对应的程序,腾讯QQ对应的程序包括一对一好友即时通讯、建立好友群、发空间动态等功能,而目标功能为腾讯QQ的“发红包”功能。
在一个实施例中,在客户端程序中的目标功能的确定基于预设条件,预设条件包括但不限于功能的上线时间、开发需求、更新升级需求等,或对于上述多个条件设置权重或进行综合评测后得到。例如,基于腾讯QQ的客户端程序,即将推出“发红包”的新功能,则基于上线时间和开发需求将“发红包”作为目标功能。
测试数据,包括客户端执行目标功能的过程中至少两个时间段所对应的设备性能数据。设备性能数据是基于预设测试条件获取表示客户端的设备性能状态的数据,包括但不限于多个性能指标,例如CPU占用率、内存占用率、通信流量、网络通道资源占用率、CPU温升等性能指标。
至少两个时间段包括第一时间段和第二时间段,第一时间段和第二时间段的时间点不同,时间段的确定基于预设时间条件,预设时间条件包括但不限于开发需求、测试需求、模拟运行需求等。举例来说,检测到执行目标功能后每隔30秒为一个时间段;第一时间段为基于北京时间的12点,第二时间段为基于北京时间的13点;或者第一时间段是基于客户端执行目标功能前对应的时间段,第二时间段是基于客户端执行目标功能结束后对应的时间段。
客户端在第一时间段获取第一时间戳和第一设备性能数据,以及在第二时间段获取第二时间戳和第二设备性能数据,将第一时间戳和第一设备性能数据进行关联保存,将第二时间戳和第二设备性能数据进行关联保存,以便服务器端通过第一时间戳确定第一设备性能数据是在第一时间采集的,通过第二时间戳确定第二设备性能数据是在第二时间采集的。
在一个实施例中,时间戳为以第一次客户端程序启动为起点到目标时间的秒数,例如,第一时间戳为第一次客户端程序启动后的第T1秒,第二时间戳为客户端程序启动后的第T2秒。具体而言,当检测到客户端程序启动时开始计时,并记录下系统时间点,系统时间点可以为Unix时间戳,Unix时间戳可以认为是从1970年1月1日开始所经过的秒数,举例来说,系统时间点为2021年3月16号17点44分31秒;当在第一时间段采集第一设备性能数据的同时调用应用程序接口(Application Programming Interface,API)和时间获取函数例如getRealtime获取距离客户端程序启动后经过的秒数,并保存在客户端的内存中,记为ElapsedTime1;当在第二时间段采集第二设备性能数据的同时调用API和时间获取函数获取距离客户端程序启动后经过的秒数,并保存在客户端的内存中,记为ElapsedTime2。可以理解的是,上述API是一组定义、程序及协议的集合,通过API接口实现计算机软件之间的相互通信。
基于上述原理,客户端将时间戳和设备性能数据进行关联,以使服务器端可以通过分析时间戳来确定测试数据中的第一性能数据和第二性能数据的时间。本申请一些实施例提供的技术方案带来的有益效果至少包括:通过在采集设备性能数据时采集时间戳以及进行关联,以使服务器端基于采集时间将测试数据中包括的设备性能数据进行整理,进一步基于测试数据在时间维度分析目标功能对客户端性能状态的影响;计数逻辑简单,且不受网络延迟或系统时间点与实际时间有误造成的影响。
可以理解的是,在本申请中还包括第三时间段以及第三时间段对应的第三时间戳和第三设备性能数据,采集原理和采集过程和上述展示的第一时间段和第二时间段所对应的设备性能数据的采集原理相同。以及本申请对采集次数、采集方法和计数方法不作限制,上述仅为示例。
在一个实施例中,第一时间段为客户端未执行目标功能时所对应的时间段,第二时间段为客户端执行目标功能后所对应的时间段。服务器端中获取第一设备性能数据以及第二设备性能数据的方法为:对测试数据进行时间分析处理,获取第一时间段对应的第一设备性能数据,以及第二时间段对应的所述第二设备性能数据。
本申请一些实施例提供的技术方案带来的有益效果至少包括:通过分析客户端执行目标功能前后的设备性能状态,从而得到执行目标功能对客户端的性能状态的影响,进一步针对目标功能进行性能优化处理。
下述为举例说明步骤S101服务器端获取针对目标功能的测试数据的过程:
客户端程序为客户端运行的腾讯QQ所对应的程序,目标功能为“发红包”;基于预设时间条件,第一时间段为客户端执行未目标功能所对应的时间段,第二时间段为客户端执行目标功能后所对应的时间段;则当客户端开始启动客户端程序时计时,通过API接口和时间获取函数检测到经过10秒后,此时还未执行目标功能,采集此时客户端的设备性能数据并记录为第一设备性能数据,以及记录第一时间戳ElapsedTime1=10;当检测到开始执行目标功能“发红包”以及执行完毕后,采集此时客户端的设备性能数据并记录为第二设备性能数据,以及记录第二时间戳ElapsedTime2=45;将第一设备性能数据和第一时间戳以及第二设备性能数据和第二时间戳打包压缩成测试数据,基于网络协议IIS向服务器端发送测试数据;服务器端接收测试数据。
步骤S102、基于测试数据,采用程序测试服务对至少两个时间段所对应的设备性能状态进行测试处理,生成针对目标功能的测试状态报告。
基于上述步骤S101,服务器端获取了客户端发送的设备性能数据,基于测试数据,采用程序测试服务对至少两个时间段所对应的设备性能状态进行测试处理,生成针对目标功能的测试状态报告。以及测试报告由服务器端发送给目标端,以使目标端基于显示设备向用户进行展示,例如在触摸显示屏上进行展示。
程序测试服务,可以理解为包括一种基于硬件或者软件实现的,以对处理设备性能数据进行统一化、对比分析和排序整理等处理,从而生成测试状态报告的程序,包括但不限于一种性能测试模型或报告生成模型。换而言之,程序测试服务基于时间戳将设备性能数据进行处理,以实现用户可以直观获取设备性能状态的效果生成测试状态报告。
设备性能状态,是基于设备性能数据中多个性能指标通过程序测试服务进行测试处理,以及基于目标功能的预设性能阈值从而得到的客户端的性能状态,例如,通过基于程序测试服务对设备性能数据中包括的性能指标“CPU占用率-25%”进行测试处理,以及目标功能的预设性能阈值是“CPU占用率-30%以下”,从而得到设备性能状态是“良好”。
如图3所示,为本申请实施例提供的一种测试状态报告的界面示意图,所示测试状态报告为目标功能“发红包”所对应的两个时间的设备性能数据,分别是第一时间12:30:00,客户端还未开始执行目标功能之前的时间段,第二时间12:31:10,客户端已经完成执行目标功能之后的时间段;每个时间展示所对应的多个性能指标和设备性能数据,例如第一时间所对应的“CPU占用率-20%”,第二时间所对应的“CPU占用率-23%”。
在一个实施例中,服务器端基于第一时间所对应的第一设备性能数据进行测试处理,得到第一性能状态,将第一性能状态与如图所示的“第一性能状态”控件关联,用以在检测到“第一性能状态”控件上的触发条件时,将第一性能状态进行展示。例如,第一性能状态为“良好”,当检测到“第一性能状态”控件上的触发条件时将第一性能状态“良好”进行展示。本申请一些实施例提供的技术方案带来的有益效果至少包括:对设备性能数据进一步处理得到更加直观的设备性能状态,以降低用户理解设备性能数据的成本。
可以理解的是,测试数据中还包括第三时间和第四时间所对应的设备性能数据,第三时间为客户端第二次执行目标功能前的时间段,第四时间为客户端第二次执行目标功能完成后的时间段。以及基于第三时间所对应的第三设备性能数据生成的第三性能状态和基于第四时间所对应的第四设备性能数据生成的第四性能状态展示在“测试状态报告-2”上,当检测到“下一页”控件的触发条件时,将“测试状态报告-2”进行展示。
在一个实施例中,服务器102还基于第一性能状态和第二性能状态生成策略优化信息,策略优化信息用于指示目标端对目标功能进行性能优化处理,性能优化处理可以理解为对执行目标功能的目标端进行切换通信模式或性能模式等处理,以使目标端在执行目标功能时处于更加优良的性能状态。策略优化信息与测试状态报告上的“分析”控件关联,当检测到“分析”控件上的触发条件时,将策略优化信息进行展示。例如针对第一时间所对应的“通信流量-1001Kb”和第二时间所对应的“通信流量-3000Kb”,服务器端生成策略优化信息“切换到WiFi通信模式”。本申请一些实施例提供的技术方案带来的有益效果至少包括:生成策略优化信息对目标端执行目标功能进行优化,减少在执行目标功能时设备的性能状态变差或出现故障的情况,提高执行目标功能时设备的工作可靠性。
本申请通过获取客户端执行目标功能的过程中至少两个时间段所对应的设备性能数据,通过对设备性能数据分析客户端的设备性能状态,从而直观获取客户端在执行目标功能过程中的设备性能状态的变化,测试出目标功能对客户端的设备性能状态的影响;为进一步针对目标功能进行性能优化和排除故障作准备,提高针对目标功能的测试效率,调高获取测试数据的灵活性;精简需要获取的测试数据的数据量,解决了因遍历或轮询的采集方式造成相关测试数据出现过密及冗余量大的问题,降低分析测试数据占用的逻辑资源。
如图4所示,为本申请实施例提出的一种客户端程序的测试方法的流程示意图,该方法可依赖于计算机程序实现,可运行于基于冯诺依曼体系的客户端程序的测试装置上。该计算机程序可集成在应用中,也可作为独立的工具类应用运行。
所示客户端程序的测试方法包括下述步骤:
S401、在客户端运行客户端程序时,获取针对客户端程序中目标功能的测试数据。
测试数据包括所述客户端执行目标功能的过程中至少两个时间段所对应的设备性能数据。步骤S401的工作原理参见上述步骤S101。
S402、获取测试数据中的第一设备性能数据和第二设备性能数据。
需要说明的是,本实施例步骤S402、步骤S403A、步骤S403B和步骤S404是实现上述步骤S102的一种方法的步骤。
在一个实施例中,服务器端基于时间戳将测试数据中包括的第一设备性能数据和第二设备性能数据区分。具体而言,第一设备性能数据对应的是客户端在第一时间段基于预设测试条件采集的反应设备性能状态的数据,第二设备性能数据对应的是客户端在第二时间段基于预设测试条件采集的反应设备性能状态的数据。客户端在第一时间段获取第一时间戳和第一设备性能数据,以及在第二时间段获取第二时间戳和第二设备性能数据,将第一时间戳和第一设备性能数据进行关联保存,将第二时间戳和第二设备性能数据进行关联保存。时间戳的获取和工作原理参见上述步骤S101。
本申请一些实施例提供的技术方案带来的有益效果至少包括:服务器端通过时间戳确定第一设备性能数据和第二设备性能数据,即基于采集时间将测试数据中包括的设备性能数据进行整理,以便进一步基于测试数据在时间维度分析目标功能对客户端性能状态的影响;计数逻辑简单,且不受网络延迟或系统时间点与实际时间有误造成的影响。
在一个实施例中,服务器端基于获取设备性能数据的时间确定该设备性能数据的时间段。具体而言,当客户端在第一时间段采集到第一设备性能数据时,发送给服务器端;服务器端在接收第一设备性能数据的同时获取服务器端的第一系统时间点,将第一系统时间点与第一设备性能数据进行关联保存;当客户端在第二时间段采集到第二设备性能数据时,发送给服务器端;服务器端在接收第二设备性能数据的同时获取服务器端的第二系统时间点,将第二系统时间点与第二设备性能数据进行关联保存。本申请一些实施例提供的技术方案带来的有益效果至少包括:增强客户端与服务器端的交互及时性,将测试数据分成多次发送给服务器端,以避免因网络影响造成的发送失败从而导致全部的测试数据丢失,提高服务器端获取测试数据的稳定性。
S403A、对第一设备性能数据采用程序测试服务进行测试出来,得到客户端执行目标功能时的第一性能状态。
S403B、对第二设备性能数据采用程序测试服务进行测试出来,得到客户端执行目标功能时的第二性能状态。
性能状态,可以理解为基于设备性能数据中多个性能指标通过程序测试服务进行测试处理,以及基于目标功能的预设性能阈值从而得到的客户端的性能状态。换而言之,第一性能状态为第一时间段所对应的客户端的性能状态,第二性能状态为第二时间段所对应的客户端的性能状态。举例来说,设备性能数据中包括的性能指标“CPU占用率-25%”进行测试处理,以及目标功能的预设性能阈值是“CPU占用率-30%以下”,从而得到设备性能状态是“良好”。
然而在现有技术中,由于目标功能为新上线的功能,基于先验知识或本领域技术人员设定的预设性能阈值并不一定合理,因此基于设备性能数据得到的设备性能状态的合理性同样无法得到保障。举例来说,目标功能为在腾讯QQ中即将上线的“发红包”功能,获取设备性能数据中包括的性能指标“CPU占用率-25%”,预设性能阈值是“CPU占用率-30%以下”,从而得到设备性能状态是“良好”,然而无法判断上述预设性能阈值是否合理。因此,本申请实施例提出一种性能测试模型解决上述问题。
在一个实施例中,服务器端通过性能测试模型对设备性能数据进行测试处理,得到性能状态。具体而言,步骤S403A可以理解为:将第一设备性能数据输入至性能测试模型中,输出所述客户端在执行目标功能时的第一性能状态,步骤S403B可以理解为:将第二设备性能数据输入至性能测试模型中,输出客户端在执行目标功能时的第二性能状态。性能测试模型由基于参考功能对应的第一性能数据集和基于目标功能对应的第二性能数据集迁移训练生成,参考功能与目标功能为同一功能逻辑类型,第一性能数据集的数据量大于第二性能数据集的数据量。
如图5所示,为本申请实施例提供的一种建立性能测试模型的流程示意图,包括下述步骤:
S501、在多个第一客户端执行参考功能时,获取针对每个第一客户端执行参考功能所对应的第一测试数据,基于各第一测试数据生成第一性能数据集。
第一客户端可以理解为具有执行参考功能的客户端,包括但不限于移动台(Mobile Station,MS)、移动终端设备(Mobile Terminal)、移动电话(Mobile Telephone)、手机(handset)及便携设备(portable equipment)等。
参考功能可以理解为在销售市场上有大量使用或已经成熟运用在实验市场上的功能,例如发短信功能、更换客户端的背景图片功能等。以及在本申请实施例中,参考功能包括一个或多个,多个参考功能之间为同一功能逻辑类型,例如第一参考功能为更换腾讯QQ的聊天背景,第二参考功能为更换微信的聊天背景。
在本实施例中第一测试数据可以理解为由多个第一客户端多次执行参考功能时所采集的含有各设备性能数据的测试数据组成的海量样本数据,其中该样本数据中设备性能数据的性能指标和具体数值各异,基于第一测试数据组成第一性能数据集。采用第一性能数据集训练神经网络模型,可以很好的覆盖实际使用环境。
S502、在多个第二客户端执行目标功能时,获取针对每个第二客户端执行目标功能所对应的第二测试数据,基于各第二测试数据生成第二性能数据集。
第二客户端可以理解为具有执行目标功能的客户端,包括但不限于移动台(Mobile Station,MS)、移动终端设备(Mobile Terminal)、移动电话(Mobile Telephone)、手机(handset)及便携设备(portable equipment)等。
目标功能可以理解为在用户终端上还没有大量使用或仅仅初步运用在测试终端上的功能,例如等待上线的新功能、冷启动阶段的功能,或适用群体、客户量较少的功能。
在本实施例中第二测试数据可以理解为由多个第二客户端多次执行目标功能时所采集的含有各设备性能数据的测试数据组成的少量样本数据,其中该样本数据中设备性能数据的性能指标和具体数值各异,基于第二测试数据组成第二性能数据集。
S503、将第一性能数据集输入至神经网络模型进行训练,生成初始性能测试模型。
神经网络模型是由许多节点中各节点的简单非线性模拟处理要素密集互连配置而成的,是一种模仿了生物神经元的系统模型。神经网络模型通过使至少一个节点的输入与每一个节点的输出连接形成,类似于真实神经元的突触连接。每个神经元表达了一种特定的输出函数,即激励函数,每两个神经元之间的连接都包含一个连接强度,即作用于通过该连接的信号的加权值。在本实施例中,将第一性能数据集输入至神经网络模型进行训练,得到训练之后的初始性能测试模型,该初始性能测试模型具有特征抽取、知识概括和学习记忆的能力,通常神经网络模型学习到的信息或知识储存在每个单元节点之间的连接矩阵上。
神经网络模型可以是基于卷积神经网络(Convolutional Neural Network,CNN)模型,深度神经网络(Deep Neural Network,DNN)模型、循环神经网络(RecurrentNeuralNetworks,RNN)、模型、嵌入(embedding)模型、梯度提升决策树(GradientBoostingDecision Tree,GBDT)模型、逻辑回归(Logistic Regression,LR)模型等模型中的一种或多种的拟合实现的。在本实施例中,优选采用基于深度神经网络的隐马尔可夫模型,即DNN-HMM,在现有神经网络模型基础上引入误差反向传播算法进行优化,提高神经网络模型的识别准确率。
可选的,在对神经网络模型进行训练,可以是采用基于动态时间规整的训练方法(DTW),可以是基于矢量量化的训练方法(VQ),还可以是时间序列的训练方法(HMM),等等。
在本实施例中,优选采用基于深度神经网络的隐马尔可夫模型,即DNN-HMM模型,在现有神经网络模型基础上引入误差反向传播算法进行优化,提高神经网络模型的识别准确率。
如图6所示,为本申请实施例提供的一种神经网络的结构示意图,深度神经网络由输入层、隐层、输出层组成,输入层用于根据输入深度神经网络的第一测试数据计算输入至最底层的隐层单元的输出值,输入层通常包括多个输入单元,输入单元用于根据输入的第一测试数据计算输入至最底层的隐层单元的输出值。将第一测试数据输入至输入单元后,输入单元根据自身的加权值利用输入至输入单元的语音特征计算向最底层的隐层输出的输出值。
隐层通常为多个,每一层隐层包括多个隐层单元,隐层单元接收来自于下一隐层中的隐层单元的输入值。根据本层的加权值对来自于下一层隐层中的隐层单元的输入值进行加权求和,并将加权求和的结果作为输出至上一层隐层的隐层单元的输出值。
输出层包括多个输出单元,输出单元接收来自于最上层隐层中的隐层单元的输入值,根据本层的加权值对来自于最上层隐层中的隐层单元的输入值进行加权求和,根据加权求和的结果计算实际输出值,基于期望输出值与实际输出值的误差从输出层反向传播并沿输出路径调整各层连接权重值和阈值。
具体的,本实施例中采用引入误差反向传播算法的DNN-HMM模型创建初始模型,在获取第一测试数据之后,将第一测试数据输入到所述神经网络模型中,神经网络模型的训练过程通常由正向传播和反向传播两部分组成,在正向传播过程中,服务器端输入第一测试数据从所述神经网络模型的输入层经过隐层神经元(也称节点)的传递函数(又称激活函数、转换函数)运算后,传向输出层,其中每一层神经元状态影响下一层神经元状态,在输出层计算实际输出值-第一语音标识,计算实际输出值与期望输出值的期望误差,基于期望误差调整神经网络模型的参数,参数包含每一层的权重值和阈值,训练完成后,生成初始性能测试模型。
S504、将第二性能数据集输入至初始性能测试模型进行迁移学习,生成性能测试模型。
迁移学习是指将某个领域或任务学习到的知识或模式应用到不同但相关的领域或任务中。在本实施例中,第一测试数据通常是海量的,而第二测试数据较之于第一测试数据较少,所述第一测试数据在迁移学习中可称为源数据,第二测试数据可称为目标数据,服务器端通过预先将源数据-第一测试数据输入至神经网络模型进行训练,得到训练好的初始性能测试模型,再将目标数据-第二测试数据输入到初始性能测试模型中进行迁移学习,对初始性能测试模型进行训练并对初始性能测试模型的参数进行调整,然后生成性能测试模型,以达到较好的拟合效果。
在本申请实施例中,服务器端基于第一客户端和参考功能获取第一测试数据,将第一测试数据输入至神经网络模型进行训练,生成初始性能测试模型,以及基于第二客户端和目标功能获取第二测试数据,将第二测试数据输入至性能测试模型进行迁移习,生成性能测试模型;通过第一测试数据训练性能测试模型以提高性能测试模型的参数的合理性,避免基于性能测试模型对测试数据进行测试处理时参数难以收敛的情况,提升了性能测试模型的鲁棒性以及基于性能测试模型得到性能状态的准确率。
综上所述,基于图5和图6所示的性能测试模型方法得到性能测试模型,程序测试服务包括性能测试模型,因此基于性能测试模型实现S403A:对第一设备性能数据采用程序测试服务进行测试出来,得到客户端执行目标功能时的第一性能状态,以及实现步骤S403B:对第二设备性能数据采用程序测试服务进行测试出来,得到客户端执行目标功能时的第二性能状态。
S404、基于第一性能状态和第二性能状态,生成针对目标功能的测试状态报告。
测试状态报告如图3所示,参见步骤S102,此处不再赘述。
本申请通过获取客户端执行目标功能的过程中至少两个时间段所对应的设备性能数据,通过对设备性能数据分析客户端的设备性能状态,从而直观获取客户端在执行目标功能过程中的设备性能状态的变化,测试出目标功能对客户端的设备性能状态的影响;为进一步针对目标功能进行性能优化和排除故障作准备,提高针对目标功能的测试效率,调高获取测试数据的灵活性;精简需要获取的测试数据的数据量,解决了因遍历或轮询的采集方式造成相关测试数据出现过密及冗余量大的问题,降低分析测试数据占用的逻辑资源。
在一个实施例中,如图7所示,特提出了一种客户端程序的测试方法,该方法可依赖于计算机程序实现,可运行于基于冯诺依曼体系的客户端程序的测试装置上。该计算机程序可集成在应用中,也可作为独立的工具类应用运行。
具体的,该客户端程序的测试方法包括:
S701、在客户端运行客户端程序时,获取针对护短程序中目标功能的测试数据。
测试数据包括所述客户端执行目标功能的过程中至少两个时间段所对应的设备性能数据。步骤S401的工作原理参见上述步骤S101。
S702、基于测试数据,采用程序测试服务对至少两个时间段对应的设备性能状态进行测试处理,生成针对目标功能的测试状态报告。
程序测试服务,可以理解为包括一种基于硬件或者软件实现的,以对处理设备性能数据进行统一化、对比分析和排序整理等处理,从而生成测试状态报告的程序,包括但不限于一种性能测试模型或报告生成模型。基于程序测试服务生成测试状态报告的工作原理参见上述步骤S403A和步骤S403B。
S703、基于测试状态报告生成针对目标功能的策略优化信息。
策略优化信息用于指示目标端对目标功能进行性能优化处理,性能优化处理可以理解为对执行目标功能的目标端进行切换通信模式或性能模式等处理,以使目标端在执行目标功能时处于更加优良的性能状态。
测试状态报告如图3所示,策略优化信息与测试状态报告上的“分析”控件关联,当检测到“分析”控件上的触发条件时,将策略优化信息进行展示。例如针对第一时间所对应的“通信流量-1001Kb”和第二时间所对应的“通信流量-3000Kb”,服务器端生成策略优化信息“切换到WiFi通信模式”。
在一个实施例中,生成针对目标功能的策略优化信息是基于上述性能测试模型得到。具体而言,基于参考功能中对应的第一测试数据和策略优化信息对初始性能测试模型进行训练到收敛,从而得到性能测试模型,将针对目标功能的第二测试数据输入到性能测试模型中,得到策略优化信息。举例来说,参考模型是微信的“发红包”功能,基于性能测试模型得到的策略优化信息为“切换到WiFi通信模式”,则当目标功能为腾讯QQ的“发红包”功能时,基于性能测试模型得到的策略优化信息可以为“切换到WiFi通信模式”。
在本申请实施例中,通过第一测试数据训练性能测试模型以提高性能测试模型的参数的合理性,避免基于性能测试模型对测试数据进行测试处理时参数难以收敛的情况,提升了性能测试模型的鲁棒性以及基于性能测试模型得到策略优化信息的准确率。
S704、向目标端发送测试状态报告和策略优化信息。
策略优化信息用于指示目标端对目标功能进行性能优化处理。指示方式可以是将策略优化信息覆盖与测试状态报告,或与测试状态报告上的控件关联。
可以理解的是,还包括对客户端执行目标功能进行性能优化处理,例如基于策略优化信息“切换到WiFi通信模式”,将客户端的通信模型切换到WiFi通信模式,继续执行目标功能,并在至少两个时间段获取测试数据发送给服务器端,以使服务器端对进行性能优化处理后目标功能的测试数据进行测试处理,得到设备性能状态。
S705、在客户端执行目标功能发生响应故障事件时,获取响应故障事件以及响应故障事件对应的故障测试数据。
响应故障事件,包括但不限于H5页面异常、系统崩溃、客户端程序无响应(ANR:Application Not Responding)、客户端程序崩溃(Crash)、客户端程序错误等(Error)等,影响目标功能正常执行的事件。故障测试数据为发生响应故障事件后对应的设备性能数据。举例来说,当客户端检测到客户端程序无响应的事件发生时,尽管此时不是预设的采集测试数据的时间段,仍然采集此时的设备性能数据,即故障测试数据,以及将故障测试数据和发送给服务器端。
在一个实施例中,服务器端基于故障测试数据中的关键故障报文确定响应故障事件的类型。换而言之,将故障测试数据中的关键故障报文与预设的响应故障事件所对应的报文匹配,例如,故障报文为Error=404,则确定响应故障事件为客户端失去网络连接。
S706、基于故障测试数据对客户端进行故障排除处理。
服务器端基于故障测试数据,确定客户端发生的响应故障事件,以及基于响应故障事件生成故障排除报告,故障排除报告用于指示客户端进行故障排除处理。例如,确定响应故障事件为客户端失去网络连接,生成故障排除报告“请连接网络”,以指示用户对客户端的网络问题进行处理。
在一个实施例中,服务器端向客户端发送故障排除请求,以使客户端接收该故障排除请求后,基于故障排除请求的内容进行故障排除处理。例如,服务器端向客户端发送内容为01101的故障排除请求,客户端基于该故障排除请求切换所连接的WiFi信号,以便正常上网,可以理解的是,服务器端与客户端的连接方式为有线连接。
在本申请实施例中,通过策略优化信息指示客户端在执行目标功能时高性能模式,提高执行目标功能的性能状态;以及通过获取故障测试数据对客户端进行故障排除处理,以提高客户端执行目标功能的成功率。
本申请通过获取客户端执行目标功能的过程中至少两个时间段所对应的设备性能数据,通过对设备性能数据分析客户端的设备性能状态,从而直观获取客户端在执行目标功能过程中的设备性能状态的变化,测试出目标功能对客户端的设备性能状态的影响;为进一步针对目标功能进行性能优化和排除故障作准备,提高针对目标功能的测试效率,调高获取测试数据的灵活性;精简需要获取的测试数据的数据量,解决了因遍历或轮询的采集方式造成相关测试数据出现过密及冗余量大的问题,降低分析测试数据占用的逻辑资源。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
请参见图8,其示出了本申请一个示例性实施例提供的客户端程序的测试装置的结构示意图。该客户端程序的测试装置可以通过软件、硬件或者两者的结合实现成为装置的全部或一部分。该客户端程序的测试装置包括获取数据模块801和测试处理模块802。
获取数据模块801,用于在客户端运行所述客户端程序时,获取针对所述客户端程序中目标功能的测试数据;所述测试数据包括所述客户端执行所述目标功能的过程中至少两个时间段所对应的设备性能数据;
测试处理模块802,用于基于所述测试数据,采用程序测试服务对所述至少两个时间段所对应的设备性能状态进行测试处理,生成针对所述目标功能的测试状态报告。
在一个可能的实施例中,所述测试处理模块802,包括:
获取单元,用于获取所述测试数据中的第一设备性能数据和第二设备性能数据;所述第一设备性能数据与所述第二设备性能数据所对应的数据采集时间段不同;
第一测试单元,用于对所述第一设备性能数据采用所述程序测试服务进行测试处理,得到所述客户端在执行所述目标功能时的第一性能状态;
第二测试单元,用于对所述第二设备性能数据采用所述程序测试服务进行测试处理,得到所述客户端在执行所述目标功能时的第二性能状态;
生成报告单元,用于基于所述第一性能状态和所述第二性能状态,生成针对所述目标功能的测试状态报告。
在一个可能的实施例中,至少两个时间段包括第一时间段和第二时间段;
所述第一时间段为所述客户端未执行所述目标功能时所对应的时间段,所述第二时间段为所述客户端执行所述目标功能后所对应的时间段;
所述获取单元,包括:
时间分析子单元,用于对所述测试数据进行时间分析处理,获取所述第一时间段对应的所述第一设备性能数据,以及所述第二时间段对应的所述第二设备性能数据。
在一个可能的实施例中,第一测试单元具体用于将所述第一设备性能数据输入至性能测试模型中,输出所述客户端在执行所述目标功能时的第一性能状态;
第二测试单元具体用于将所述第二设备性能数据输入至性能测试模型中,输出所述客户端在执行所述目标功能时的第二性能状态;
其中,所述性能测试模型由基于所述参考功能对应的第一性能数据集和基于所述目标功能对应的第二性能数据集迁移训练生成,所述参考功能与所述目标功能为同一功能逻辑类型,所述第一性能数据集的数据量大于所述第二性能数据集的数据量。
在一个可能的实施例中,客户端程序的测试装置还包括:
第一获取模块,在多个第一客户端执行所述参考功能时,获取针对每个所述第一客户端执行所述参考功能所对应的第一测试数据,基于各所述第一测试数据生成第一性能数据集;
第二获取模块,在多个第二客户端执行所述目标功能时,获取针对每个所述第二客户端执行所述目标功能所对应的第二测试数据,基于各所述第二测试数据生成第二性能数据集;
初始性能测试模型生成模块,将所述第一性能数据集输入至神经网络模型进行训练,生成初始性能测试模型;
性能测试模型生成模块,将所述第二性能数据集输入至所述初始性能测试模型进行迁移学习,生成性能测试模型。
在一个可能的实施例中,所述客户端程序的测试装置还包括:
生成优化模块,基于所述测试状态报告生成针对所述目标功能的策略优化信息;
发送优化模块,向目标端发送所述测试状态报告和所述策略优化信息,所述策略优化信息用于指示所述目标端对所述目标功能进行性能优化处理。
在一个可能的实施例中,所述客户端程序的测试装置还包括:
故障模块,在所述客户端执行所述目标功能发生响应故障事件时,获取所述响应故障事件以及所述响应故障事件对应的故障测试数据;
排除模块,基于所述故障测试数据对所述客户端进行故障排除处理。
本申请通过获取客户端执行目标功能的过程中至少两个时间段所对应的设备性能数据,通过对设备性能数据分析客户端的设备性能状态,从而直观获取客户端在执行目标功能过程中的设备性能状态的变化,测试出目标功能对客户端的设备性能状态的影响;为进一步针对目标功能进行性能优化和排除故障作准备,提高针对目标功能的测试效率,调高获取测试数据的灵活性;精简需要获取的测试数据的数据量,解决了因遍历或轮询的采集方式造成相关测试数据出现过密及冗余量大的问题,降低分析测试数据占用的逻辑资源。
需要说明的是,上述实施例提供的客户端程序的测试装置在执行客户端程序的测试方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,用于以完成以上描述的全部或者部分功能。另外,上述实施例提供的客户端程序的测试装置与客户端程序的测试方法实施例属于同一构思,其体现实现过程详见方法实施例,这里不再赘述。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
本申请实施例还提供了一种计算机存储介质,所述计算机存储介质可以存储有多条指令,所述指令适于由处理器加载并执行如上述图1-图7所示实施例的所述客户端程序的测试方法,具体执行过程可以参见图1-图7所示实施例的具体说明,在此不进行赘述。
本申请还提供了一种计算机程序产品,该计算机程序产品存储有至少一条指令,所述至少一条指令由所述处理器加载并执行如上述图1-图7所示实施例的所述客户端程序的测试方法,具体执行过程可以参见图1-图7所示实施例的具体说明,在此不进行赘述。
请参见图9,为本申请实施例提供了一种电子设备的结构示意图。如图9所示,所述电子设备900可以包括:至少一个处理器901,至少一个网络接口904,用户接口903,存储器905,至少一个通信总线902。
其中,通信总线902用于实现这些组件之间的连接通信。
其中,用户接口903可以包括显示屏(Display)、摄像头(Camera),可选用户接口903还可以包括标准的有线接口、无线接口。
其中,网络接口904可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。
其中,处理器901可以包括一个或者多个处理核心。处理器901利用各种借口和线路连接整个服务器900内的各个部分,通过运行或执行存储在存储器905内的指令、程序、代码集或指令集,以及调用存储在存储器905内的数据,执行服务器900的各种功能和处理数据。可选的,处理器901可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(ProgrammableLogic Array,PLA)中的至少一种硬件形式来实现。处理器901可集成中央处理器(CentralProcessing Unit,CPU)、图像处理器(Graphics Processing Unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责显示屏所需要显示的内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器901中,单独通过一块芯片进行实现。
其中,存储器905可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory)。可选的,该存储器905包括非瞬时性计算机可读介质(non-transitory computer-readable storage medium)。存储器905可用于存储指令、程序、代码、代码集或指令集。存储器905可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现上述各个方法实施例的指令等;存储数据区可存储上面各个方法实施例中涉及到的数据等。存储器905可选的还可以是至少一个位于远离前述处理器901的存储装置。如图9所示,作为一种计算机存储介质的存储器905中可以包括操作系统、网络通信模块、用户接口模块以及客户端程序的测试应用程序。
在图9所示的电子设备900中,用户接口903主要用于为用户提供输入的接口,获取用户输入的数据;而处理器901可以用于调用存储器905中存储的客户端程序的测试应用程序,并具体执行以下操作:
在客户端运行所述客户端程序时,获取针对所述客户端程序中目标功能的测试数据;所述测试数据包括所述客户端执行所述目标功能的过程中至少两个时间段所对应的设备性能数据;
基于所述测试数据,采用程序测试服务对所述至少两个时间段所对应的设备性能状态进行测试处理,生成针对所述目标功能的测试状态报告。
在一个实施例中,处理器901执行所述基于所述测试数据,采用程序测试服务对所述至少两个时间段所对应的设备性能状态进行测试处理,生成针对所述目标功能的测试状态报告,具体执行以下操作:
获取所述测试数据中的第一设备性能数据和第二设备性能数据;所述第一设备性能数据与所述第二设备性能数据所对应的数据采集时间段不同;
对所述第一设备性能数据采用所述程序测试服务进行测试处理,得到所述客户端在执行所述目标功能时的第一性能状态;
对所述第二设备性能数据采用所述程序测试服务进行测试处理,得到所述客户端在执行所述目标功能时的第二性能状态;
基于所述第一性能状态和所述第二性能状态,生成针对所述目标功能的测试状态报告。
在一个实施例中,所述至少两个时间段包括第一时间段和第二时间段;
所述第一时间段为所述客户端未执行所述目标功能时所对应的时间段,所述第二时间段为所述客户端执行所述目标功能后所对应的时间段;
处理器901执行所述获取所述测试数据中的第一设备性能数据和第二设备性能数据,具体执行以下步骤:
对所述测试数据进行时间分析处理,获取所述第一时间段对应的所述第一设备性能数据,以及所述第二时间段对应的所述第二设备性能数据。
在一个实施例中,处理器901执行所述对所述第一设备性能数据采用所述程序测试服务进行测试处理,得到所述客户端在执行所述目标功能时的第一性能状态,具体执行以下步骤:
将所述第一设备性能数据输入至性能测试模型中,输出所述客户端在执行所述目标功能时的第一性能状态;
所述对所述第二设备性能数据采用所述程序测试服务进行测试处理,得到所述客户端在执行所述目标功能时的第二性能状态,包括:
将所述第二设备性能数据输入至性能测试模型中,输出所述客户端在执行所述目标功能时的第二性能状态;
其中,所述性能测试模型由基于所述参考功能对应的第一性能数据集和基于所述目标功能对应的第二性能数据集迁移训练生成,所述参考功能与所述目标功能为同一功能逻辑类型,所述第一性能数据集的数据量大于所述第二性能数据集的数据量。
在一个实施例中,处理器901还执行:
在多个第一客户端执行所述参考功能时,获取针对每个所述第一客户端执行所述参考功能所对应的第一测试数据,基于各所述第一测试数据生成第一性能数据集;
在多个第二客户端执行所述目标功能时,获取针对每个所述第二客户端执行所述目标功能所对应的第二测试数据,基于各所述第二测试数据生成第二性能数据集;
将所述第一性能数据集输入至神经网络模型进行训练,生成初始性能测试模型;
将所述第二性能数据集输入至所述初始性能测试模型进行迁移学习,生成性能测试模型。
在一个实施例中,处理器901还执行:
基于所述测试状态报告生成针对所述目标功能的策略优化信息;
向目标端发送所述测试状态报告和所述策略优化信息,所述策略优化信息用于指示所述目标端对所述目标功能进行性能优化处理。
在一个实施例中,处理器901执行所述向所述目标端发送所述测试状态报告和所述策略优化信息,所述策略优化信息用于指示所述目标端对所述目标功能进行性能优化处理之后,具体执行以下步骤:
在所述客户端执行所述目标功能发生响应故障事件时,获取所述响应故障事件以及所述响应故障事件对应的故障测试数据;
基于所述故障测试数据对所述客户端进行故障排除处理。
本申请通过获取客户端执行目标功能的过程中至少两个时间段所对应的设备性能数据,通过对设备性能数据分析客户端的设备性能状态,从而直观获取客户端在执行目标功能过程中的设备性能状态的变化,测试出目标功能对客户端的设备性能状态的影响;为进一步针对目标功能进行性能优化和排除故障作准备,提高针对目标功能的测试效率,调高获取测试数据的灵活性;精简需要获取的测试数据的数据量,解决了因遍历或轮询的采集方式造成相关测试数据出现过密及冗余量大的问题,降低分析测试数据占用的逻辑资源。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体或随机存储记忆体等。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。

Claims (10)

1.一种客户端程序的测试方法,其特征在于,所述方法包括:
在客户端运行所述客户端程序时,获取针对所述客户端程序中目标功能的测试数据;所述测试数据包括所述客户端执行所述目标功能的过程中至少两个时间段所对应的设备性能数据;
基于所述测试数据,采用程序测试服务对所述至少两个时间段所对应的设备性能状态进行测试处理,生成针对所述目标功能的测试状态报告。
2.根据权利要求1所述方法,其特征在于,所述基于所述测试数据,采用程序测试服务对所述至少两个时间段所对应的设备性能状态进行测试处理,生成针对所述目标功能的测试状态报告,包括:
获取所述测试数据中的第一设备性能数据和第二设备性能数据;所述第一设备性能数据与所述第二设备性能数据所对应的数据采集时间段不同;
对所述第一设备性能数据采用所述程序测试服务进行测试处理,得到所述客户端在执行所述目标功能时的第一性能状态;
对所述第二设备性能数据采用所述程序测试服务进行测试处理,得到所述客户端在执行所述目标功能时的第二性能状态;
基于所述第一性能状态和所述第二性能状态,生成针对所述目标功能的测试状态报告。
3.根据权利要求2所述方法,其特征在于,所述至少两个时间段包括第一时间段和第二时间段;
所述第一时间段为所述客户端未执行所述目标功能时所对应的时间段,所述第二时间段为所述客户端执行所述目标功能后所对应的时间段;
所述获取所述测试数据中的第一设备性能数据和第二设备性能数据,包括:
对所述测试数据进行时间分析处理,获取所述第一时间段对应的所述第一设备性能数据,以及所述第二时间段对应的所述第二设备性能数据。
4.根据权利要求2所述方法,其特征在于,所述对所述第一设备性能数据采用所述程序测试服务进行测试处理,得到所述客户端在执行所述目标功能时的第一性能状态,包括:
将所述第一设备性能数据输入至性能测试模型中,输出所述客户端在执行所述目标功能时的第一性能状态;
所述对所述第二设备性能数据采用所述程序测试服务进行测试处理,得到所述客户端在执行所述目标功能时的第二性能状态,包括:
将所述第二设备性能数据输入至性能测试模型中,输出所述客户端在执行所述目标功能时的第二性能状态;
其中,所述性能测试模型由基于所述参考功能对应的第一性能数据集和基于所述目标功能对应的第二性能数据集迁移训练生成,所述参考功能与所述目标功能为同一功能逻辑类型,所述第一性能数据集的数据量大于所述第二性能数据集的数据量。
5.根据权利要求4所述方法,其特征在于,所述方法还包括:
在多个第一客户端执行所述参考功能时,获取针对每个所述第一客户端执行所述参考功能所对应的第一测试数据,基于各所述第一测试数据生成第一性能数据集;
在多个第二客户端执行所述目标功能时,获取针对每个所述第二客户端执行所述目标功能所对应的第二测试数据,基于各所述第二测试数据生成第二性能数据集;
将所述第一性能数据集输入至神经网络模型进行训练,生成初始性能测试模型;
将所述第二性能数据集输入至所述初始性能测试模型进行迁移学习,生成性能测试模型。
6.根据权利要求1所述方法,其特征在于,还包括:
基于所述测试状态报告生成针对所述目标功能的策略优化信息;
向目标端发送所述测试状态报告和所述策略优化信息,所述策略优化信息用于指示所述目标端对所述目标功能进行性能优化处理。
7.根据权利要求6所述方法,其特征在于,所述向所述目标端发送所述测试状态报告和所述策略优化信息,所述策略优化信息用于指示所述目标端对所述目标功能进行性能优化处理之后,还包括:
在所述客户端执行所述目标功能发生响应故障事件时,获取所述响应故障事件以及所述响应故障事件对应的故障测试数据;
基于所述故障测试数据对所述客户端进行故障排除处理。
8.一种客户端程序的测试装置,其特征在于,所述装置包括:
获取数据模块,用于在客户端运行所述客户端程序时,获取针对所述客户端程序中目标功能的测试数据;所述测试数据包括所述客户端执行所述目标功能的过程中至少两个时间段所对应的设备性能数据;
测试处理模块,用于基于所述测试数据,采用程序测试服务对所述至少两个时间段所对应的设备性能状态进行测试处理,生成针对所述目标功能的测试状态报告。
9.一种计算机存储介质,其特征在于,所述计算机存储介质存储有多条指令,所述指令适于由处理器加载并执行如权利要求1~7任意一项的方法步骤。
10.一种电子设备,其特征在于,包括:处理器和存储器;其中,所述存储器存储有计算机程序,所述计算机程序适于由所述处理器加载并执行如权利要求1~7任意一项的方法步骤。
CN202110314160.3A 2021-03-24 2021-03-24 一种客户端程序的测试方法、装置、存储介质及电子设备 Pending CN112948256A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110314160.3A CN112948256A (zh) 2021-03-24 2021-03-24 一种客户端程序的测试方法、装置、存储介质及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110314160.3A CN112948256A (zh) 2021-03-24 2021-03-24 一种客户端程序的测试方法、装置、存储介质及电子设备

Publications (1)

Publication Number Publication Date
CN112948256A true CN112948256A (zh) 2021-06-11

Family

ID=76228147

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110314160.3A Pending CN112948256A (zh) 2021-03-24 2021-03-24 一种客户端程序的测试方法、装置、存储介质及电子设备

Country Status (1)

Country Link
CN (1) CN112948256A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113722240A (zh) * 2021-11-02 2021-11-30 麒麟软件有限公司 一种linux操作系统管理平台的稳定性测试方法及系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113722240A (zh) * 2021-11-02 2021-11-30 麒麟软件有限公司 一种linux操作系统管理平台的稳定性测试方法及系统
CN113722240B (zh) * 2021-11-02 2022-02-01 麒麟软件有限公司 一种linux操作系统管理平台的稳定性测试方法及系统

Similar Documents

Publication Publication Date Title
US11928611B2 (en) Conversational interchange optimization
CN107391359B (zh) 一种业务测试方法及装置
CN104965695B (zh) 模拟用户实时操作的方法和装置
CN106390451B (zh) 对游戏服务器的容量进行测试的方法及装置
CN110138617B (zh) 数据传输质量测试方法、系统、电子设备及存储介质
CN112346936A (zh) 应用故障根因定位方法及系统
CN114357495B (zh) 基于区块链的预言机链下聚合方法、装置、设备和介质
CN113760674A (zh) 信息生成方法、装置、电子设备和计算机可读介质
CN107168844B (zh) 一种性能监控的方法及装置
CN111611351A (zh) 在线客服会话的控制方法、装置和电子设备
Nayak et al. Computer Network simulation using NS2
CN112948256A (zh) 一种客户端程序的测试方法、装置、存储介质及电子设备
CN113726545B (zh) 基于知识增强生成对抗网络的网络流量生成方法及装置
CN111935767B (zh) 一种网络仿真系统
CN114172819A (zh) Nfv网元的需求资源预测方法、系统、电子设备和存储介质
Folino et al. Automatic offloading of mobile applications into the cloud by means of genetic programming
CN110688319A (zh) 应用保活能力测试方法及相关装置
CN116107913A (zh) 单节点服务器的测试控制方法、装置及系统
CN110035126A (zh) 一种文件处理方法、装置、计算设备及存储介质
CN112631577B (zh) 一种模型的调度方法、模型调度器以及模型安全测试平台
CN109782925B (zh) 一种处理方法、装置及电子设备
CN114722300A (zh) 消息提醒方法、装置、电子设备及存储介质
CN114390015A (zh) 一种基于物模型的数据推送系统、方法、设备及存储介质
CN111770510B (zh) 网络体验状态确定方法、装置、存储介质及电子设备
CN113806156A (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