CN105426278B - 一种客户端设备性能测试方法及系统 - Google Patents

一种客户端设备性能测试方法及系统 Download PDF

Info

Publication number
CN105426278B
CN105426278B CN201510809775.8A CN201510809775A CN105426278B CN 105426278 B CN105426278 B CN 105426278B CN 201510809775 A CN201510809775 A CN 201510809775A CN 105426278 B CN105426278 B CN 105426278B
Authority
CN
China
Prior art keywords
test
client device
performance
tested
module
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201510809775.8A
Other languages
English (en)
Other versions
CN105426278A (zh
Inventor
王嘉睿
程龙龙
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Changyou Tianxia Network Technologies Co Ltd
Original Assignee
Beijing Changyou Tianxia Network Technologies 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 Changyou Tianxia Network Technologies Co Ltd filed Critical Beijing Changyou Tianxia Network Technologies Co Ltd
Priority to CN201510809775.8A priority Critical patent/CN105426278B/zh
Publication of CN105426278A publication Critical patent/CN105426278A/zh
Application granted granted Critical
Publication of CN105426278B publication Critical patent/CN105426278B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本申请公开了一种客户端设备性能测试系统,包括:脚本录制模块、性能收集模块、任务分发管理模块、文件服务器模块和测试数据分析模块。本申请还公开了一种客户端设备性能测试方法。本申请能够自动高效地完成对客户端设备性能的测试。

Description

一种客户端设备性能测试方法及系统
技术领域
本申请涉及移动客户端设备测试技术,尤其涉及一种客户端设备性能测试方法及系统。
背景技术
客户端设备性能测试的实现原理是在执行测试过程的基础上,同时对执行被测程序客户端设备的性能参数(如内存、CPU、FPS、流量、温度、电量和电压等)的收集、整理和分析,是一种最基本的测试类型。对于大型手游来说,良好的游戏体验是提高玩家留存率的重要因素,而客户端设备性能是良好游戏体验的前提,因此手游客户端设备的性能测试更加显得必要。
传统的客户端设备性能测试流程通常为:开发人员完成程序代码、美术资源及服务器部署之后,将客户端设备程序打包提交给测试员进行测试,而测试人员需要对硬件和软件进行特定需求的准备工作之后,展开具有高度重复性的测试执行操作;而且,为了提高测试的科学性,还要确保操作步骤、测试用例的先后顺序在每台测试设备上的一致性;与此同时,还要完成性能数据的收集工作。
现有技术中的客户端设备性能测试流程如图1所示,包括如下步骤:
步骤101:准备客户端设备性能测试用例。
步骤102:在被测客户端设备上部署测试环境。
步骤103:根据客户端设备性能测试用例,在被测客户端设备上执行测试(如完成游戏登录、完成新手引导、切换游戏场景等),与此同时收集对应测试用例的性能数据。重复该步骤,直到所有性能测试用例的执行完毕。
步骤104:整理和分析性能数据,最终生成测试报告。
从上述描述可以看出,现有的客户端设备性能测试过程耗费人力巨大,效率低,单纯通过人力收集性能数据对于捕捉程序运行时的瞬时数据来说能力有限,几秒钟之内对于运行中的程序来说可能会发生很多事情;此外传统方法执行客户端设备性能测试对于测试员来说,高度的重复性操作是一种巨大的煎熬。
此外,目前业内进行一次客户端设备性能测试的时长通常在10-15分钟,而且最终得到数据反映的是客户端设备整体性能,如果出现性能异常,无法根据测试数据定位到底是哪个功能模块出现问题。
发明内容
本申请提供了一种客户端设备性能测试方法及系统,能够自动高效地完成对客户端设备性能的测试。
本申请实施例提供了一种客户端设备性能测试系统,包括:脚本录制模块、性能收集模块、任务分发管理模块、文件服务器模块和测试数据分析模块;
所述脚本录制模块用于将对被测客户端设备的操作转化为自动化脚本语句,将多条自动化脚本语句按照逻辑顺序组合成包含多个测试用例集的测试脚本;向任务分发管理模块发送携带所述测试脚本的测试任务;
所述任务分发管理模块用于从文件服务器模块下载各测试任务对应的测试应用包,发送指令将测试应用包安装到被测客户端设备上;接收来自脚本录制模块的测试任务,根据被测客户端设备的状态,当被测客户端设备空闲时,将新的测试任务分发到该被测客户端设备上;
文件服务器模块用于存储测试应用包;客户端设备测试完成后,接收被测客户端设备上传的测试日志;
性能收集模块,用于在被测客户端设备执行测试脚本的过程中,收集被测客户端设备的性能数据及被测程序的运行日志;
测试数据分析模块用于检测到某个测试任务完成时,从文件服务器模块下载该测试任务对应的所有测试日志,从性能收集模块下载性能数据以及运行日志,根据测试日志和运行日志对性能数据进行性能的统计分析,得到分析结果。
可选地,该客户端设备性能测试系统进一步包括测试报告生成模块,将测试数据分析模块获得的分析结果依次填充到指定的报告模板当中,生成表格版的报告;和/或,将分析结果通过网页展示,分为整体表现和测试详情两种形式。
可选地,所述整体表现包括:通过饼状图和条形图直观展示出被测客户端设备的性能维度,性能维度包括CPU占用率、流量、内存、温度和帧率,以及根据调研出的性能标准判断出本次测试的整体通过率;
所述测试详情包括:以每台被测客户端设备的详细性能数据作为中心来展示,标示出性能异常的时间点;每个性能维度都有独立的随时间变化的曲线图,图内以不同测试用例为区间。
可选地,该客户端设备性能测试系统进一步包括邮件模块,用于将测试报告生成模块所生成的测试包括通过邮件发送到指定的邮箱中。
可选地,所述性能收集模块同时启动程序运行日志的接口与测试初始化,完整记录被测程序在启动时的运行日志;以测试脚本回放为主线程,被测程序运行日志与性能数据收集各占用一条辅线程,三条进程同步进行,性能数据的收集间隔时间为1秒钟,每秒钟性能收集线程将依次做如下数据的获取:时间戳、测试用例标题以及被测客户端设备的性能数据,从而得到测试脚本执行的每一步及每一个时间点对应的被测程序运行日志及被测客户端设备的性能数据。
可选地,所述被测客户端设备的性能数据包括:被测程序CPU占用率、被测程序内存占用率、被测程序所占实际物理内存、被测程序独自占用的物理内存、帧率、流量、设备温度、设备剩余可用内存、电池电量和电压。
本申请实施例还提供了一种客户端设备性能测试方法,包括:
A、将对被测客户端设备的操作转化为自动化脚本语句,将多条自动化脚本语句按照逻辑顺序组合成包含多个测试用例集的测试脚本;
B、生成包含所述测试脚本的测试任务;将测试任务对应的测试应用包安装到被测客户端设备上;
C、根据被测客户端设备的状态,当被测客户端设备空闲时,将新的测试任务分发到该被测客户端设备上,被测客户端设备执行测试任务对应的测试脚本;
D、在被测客户端设备执行测试脚本的过程中,收集被测客户端设备的性能数据及被测程序的运行日志;测试完成后,接收被测客户端设备上传的测试日志;
E、测试任务完成时,根据测试日志和运行日志对性能数据进行性能的统计分析,得到分析结果。
可选地,步骤E之后,进一步包括:
F、将测试数据分析模块获得的分析结果依次填充到指定的报告模板当中,生成表格版的报告;和/或,将分析结果通过网页展示,分为整体表现和测试详情两种形式。
可选地,所述整体表现包括:通过饼状图和条形图直观展示出被测客户端设备的性能维度,性能维度包括CPU占用率、流量、内存、温度和帧率,以及根据调研出的性能标准判断出本次测试的整体通过率;
所述测试详情包括:以每台被测客户端设备的详细性能数据作为中心来展示,标示出性能异常的时间点;每个性能维度都有独立的随时间变化的曲线图,图内以不同测试用例为区间。
可选地,步骤F之后进一步包括:将所生成的测试包括通过邮件发送到指定的邮箱中。
可选地,步骤D包括:
同时启动程序运行日志的接口与测试初始化,完整记录被测程序在启动时的运行日志;以测试脚本回放为主线程,被测程序运行日志与性能数据收集各占用一条辅线程,三条进程同步进行,性能数据的收集间隔时间为1秒钟,每秒钟性能收集线程将依次做如下数据的获取:时间戳、测试用例标题以及被测客户端设备的性能数据,从而得到测试脚本执行的每一步及每一个时间点对应的被测程序运行日志及被测客户端设备的性能数据。
可选地,所述被测客户端设备的性能数据包括:被测程序CPU占用率、被测程序内存占用率、被测程序所占实际物理内存、被测程序独自占用的物理内存、帧率、流量、设备温度、设备剩余可用内存、电池电量和电压。
从以上技术方案可以看出,将对被测客户端设备的操作转化为自动化脚本语句,并进一步组合成包含多个测试用例集的测试脚本;当被测客户端设备空闲时,将新的测试任务分发到该被测客户端设备上,被测客户端设备执行测试任务对应的测试脚本;在被测客户端设备执行测试脚本的过程中,收集被测客户端设备的性能数据及被测程序的运行日志;测试完成后,接收被测客户端设备上传的测试日志;测试任务完成时,根据测试日志和运行日志对性能数据进行性能的统计分析,得到分析结果。本申请方案能够自动高效地完成对客户端设备性能的测试。更进一步地,本申请将各个测试用例的性能数据进行清晰划分,测试过程中每个时间点都对应着具体的测试步骤、所在功能模块、被测程序运行日志、性能数据等,可以帮助程序准确定位问题的信息。
附图说明
图1为现有技术中的客户端设备性能测试流程示意图;
图2为本申请实施例提供的客户端设备性能测试系统的逻辑架构示意图;
图3为任务分发管理模块203的处理流程图;
图4为本申请实施例提供的客户端设备性能测试系统的一种设备硬件连接框图;
图5为客户端设备性能测试方法流程示意图。
具体实施方式
为使本申请技术方案的技术原理、特点以及技术效果更加清楚,以下结合具体实施例对本申请技术方案进行详细阐述。
本申请实施例提供的客户端设备性能测试系统的逻辑架构如图2所示,该客户端设备性能测试系统200包括脚本录制模块201、性能收集模块202、任务分发管理模块203、文件服务器模块204、测试数据分析模块205、测试报告模块206和邮件模块207。
所述脚本录制模块201,实现了将传统的测试人员手工执行性能测试的操作步骤转化为脚本代码和数据的形式的自动化测试操作;相同自动化测试脚本可在不同分辨率、不同安卓版本的客户端设备上进行运行。
具体的,将被测客户端设备连接到脚本录制模块201,脚本录制模块201实时刷新出被测客户端设备当前页面,即可实时将操作转化为自动化脚本语句。可选地,还可以录入测试用例的步骤说明及等待时间(默认为3秒钟),最终将多条自动化脚本语句按照逻辑顺序组合成包含多个测试用例集的测试脚本。
所述性能收集模块202,用于在被测客户端设备执行测试脚本的过程中,收集被测客户端设备的性能数据及被测程序的运行日志。具体包括:
启动程序运行日志的接口与测试初始化同时进行,完整记录被测程序在启动时的运行日志,以确保运行日志的完整性,也方便后期用来定位问题。
以测试脚本回放为主线程,被测程序运行日志与性能数据收集各占用一条辅线程,三条进程同步进行。性能数据的收集间隔时间为1秒钟,每秒钟性能收集线程将依次做如下数据的获取:时间戳、测试用例标题以及被测客户端设备的性能数据,这样就得到了测试脚本执行的每一步及每一个时间点对应的被测程序运行日志及被测客户端设备的性能数据。
所述被测客户端设备的性能数据包括但不限于:被测程序CPU占用率、被测程序内存占用率、被测程序所占实际物理内存(比例分配共享库占用的内存)、被测程序独自占用的物理内存(不包含共享库占用的内存)、帧率、流量、设备温度、设备剩余可用内存、电池电量和电压。
所述任务分发管理模块203,用于接收来自脚本录制模块201的测试任务,所述测试任务中携带录制好的测试脚本;根据被测客户端设备的状态进行测试任务分发。例如当被测客户端设备空闲时,将新的测试任务分发到该被测客户端设备上。
所述任务分发管理模块203记录其连接的每台被测客户端设备的状态信息,包括被测客户端设备的详细参数(内存、CPU、品牌、屏幕尺寸、覆盖用户群等)、运行状态(空闲状态或者工作状态);根据被测客户端设备的详细参数,记录有该被测客户端设备测试应用时的达标值作为测试性能分析的依据。具体地说,根据被测客户端设备的详细参数,经多次测试后,分析并整理出该被测客户端设备测试应用时的性能标准,包括:CPU平均值、内存最大值、内存平均值、FPS平均值、可用内存最小值等,并存储到任务分发管理模块203当中,今后将以该性能标准作为分析日志的依据。
任务分发管理模块203还用于对所连接的每台被测客户端设备分别建立对应的一个任务队列,当接收到新的测试任务,将测试任务放入任务队列;先检测被测客户端设备的运行状态,若空闲,则任务出队,被测客户端设备开始执行任务。
图3为任务分发管理模块203的处理流程图,该处理流程包括:
步骤301:任务分发管理模块203接收来自脚本录制模块201的测试任务。
步骤302:任务分发管理模块203对于所连接的每台被测客户端设备分别建立对应的一个任务队列,控制器将接收到的任务放到每台被测客户端设备对应的任务队列中。
步骤303:任务分发管理模块203轮询被测客户端设备的运行状态,若被测客户端设备处于工作状态,则等待;若被测客户端设备处于空闲状态,执行步骤304。
步骤304:任务从队列中出队,被测客户端设备执行任务。
步骤305:任务执行停止时,检测任务是否执行成功,若成功则返回步骤303;若失败,继续执行步骤306。
步骤306:判断该测试任务重新运行次数是否为0,若是,则再运行一次该任务(步骤307),后返回步骤305;若重新运行次数不为零,记录当前被测客户端设备测试该任务结果为失败(步骤308),然后返回步骤303。
所述文件服务器模块204,用于存储用户上传的测试应用包。当进行测试时,任务分发管理模块203从文件服务器模块204下载各测试任务对应的测试应用包,任务分发管理模块203发送指令将测试应用包安装到被测客户端设备上。测试完成后,被测客户端设备上传测试日志至文件服务器模块204。
测试数据分析模块205用于检测到某个测试任务完成时,从文件服务器模块204下载该任务对应的所有测试日志,从性能收集模块202下载性能数据以及运行日志,根据测试日志和运行日志对性能数据进行性能的统计分析,获得分析结果。
具体的,每台被测客户端设备在运行测试任务时均产生测试日志,用于记录测试过程中的性能数据。测试数据分析模块205检测到某一测试任务完成时,从文件服务器模块204下载该测试任务所有的测试日志,对日志进行数据分析和处理,根据既定的每台被测客户端设备的性能标准,统计测试应用本次测试中CPU平均值、内存最大值、内存平均值、可用内存等性能指标的通过率,根据既定的打分策略,对测试应用本次测试进行打分,直观地反映测试应用的兼容性。
所述测试报告模块206,用于将性能测试中的数据分析结果整理后自动生成测试报告,测试报告的格式可以是表格(EXCEL版)或网页版两种。
具体的,测试过程中会产生以文本文件形式保存的性能数据,测试结束后该文本文件会自动上传至测试数据分析模块205并通过智能分析计算出分析结果。分析结果被保存在数据库当中,测试报告生成模块206会通过java程序将数据库中的分析结果依次填充到指定的报告模板当中,此时生成表格版的报告;另外测试数据亦将通过网页展示,分为整体表现和测试详情两种形式。将日志分析和处理后得出的数据通过web页面前端进行展示,利用网页前端技术如:Bootstrap Metro、jquery、Ajax、以及开源的插件highcharts、highstock将测试数据变为有交互性的图表。利用highcharts插件,将测试数据根据时间点,精确到秒,以曲线图的形式展示性能数据,并在图上标出每个时间段所运行的测试用例,更利于发现应用在测试过程中存在的问题,比如:内存不释放导致的内存泄露,某些场景内存占用过高需要对资源进行优化。更有利于开发人员定位问题,节省开发时间。
整体表现:通过饼状图和条形图直观展示出被测客户端设备的性能表现,性能维度包括CPU占用率、流量、内存、温度和帧率,以及根据调研出的性能标准判断出本次测试的整体通过率。
测试详情:以每台被测客户端设备的详细性能数据作为中心来展示,标示出性能异常的时间点,该时间点的单位可以精确到秒;每个性能维度都有独立的随时间变化的曲线图,图内以不同测试用例为区间,可以放大缩小,查看在某个测试场景中的性能趋势,排查是否存在内存泄露、帧率过低等性能问题。
所述邮件模块207,用于向指定的邮箱发送测试报告。测试报告模块206生成测试报告后,将该任务的发送邮件状态置为可发送,邮件服务器根据测试所得结论,填充相应类型的邮件模板,并把测试报告以附件的形式放在邮件中,发送给客户。邮件模块207接收到邮件发送成功的消息,将邮件发送状态置为不可发送。
图4为本申请实施例提供的客户端设备性能测试系统的一种设备硬件连接框图。该测试系统的硬件设备包括测试控制端401、Web服务器402(其中包括邮件服务器)、文件服务器403、中继服务器404、数据库405、控制服务器406以及被测客户端设备407。
其中,脚本录制模块201的功能由测试控制端401实现,性能收集模块202的功能主要由数据库405实现,任务分发管理模块203由Web服务器402、中继服务器404和控制服务器406共同实现,文件服务器模块204的功能由文件服务器403实现,测试数据分析模块205和测试报告模块206由Web服务器402实现,邮件模块207由Web服务器402中集成的邮件服务器实现。
基于上述客户端设备性能测试系统的逻辑架构,该测试系统的具体硬件组织可以有多种形式,本申请对硬件组织形式不作限定。
本申请实施例还提供了一种客户端设备性能测试方法,其流程如图5所示,包括如下步骤:
步骤501:将对被测客户端设备的操作转化为自动化脚本语句,将多条自动化脚本语句按照逻辑顺序组合成包含多个测试用例集的测试脚本;
步骤502:生成包含所述测试脚本的测试任务;将测试任务对应的测试应用包安装到被测客户端设备上;
步骤503:根据被测客户端设备的状态,当被测客户端设备空闲时,将新的测试任务分发到该被测客户端设备上,被测客户端设备执行测试任务对应的测试脚本;
步骤504:在被测客户端设备执行测试脚本的过程中,收集被测客户端设备的性能数据及被测程序的运行日志;测试完成后,接收被测客户端设备上传的测试日志;
步骤505:测试任务完成时,根据测试日志和运行日志对性能数据进行性能的统计分析,得到分析结果。
可选地,步骤505之后,进一步包括:
步骤506:将测试数据分析模块获得的分析结果依次填充到指定的报告模板当中,生成表格版的报告;和/或,将分析结果通过网页展示,分为整体表现和测试详情两种形式。
其中,所述整体表现包括:通过饼状图和条形图直观展示出被测客户端设备的性能维度,性能维度包括CPU占用率、流量、内存、温度和帧率,以及根据调研出的性能标准判断出本次测试的整体通过率;
所述测试详情包括:以每台被测客户端设备的详细性能数据作为中心来展示,标示出性能异常的时间点;每个性能维度都有独立的随时间变化的曲线图,图内以不同测试用例为区间。
可选地,步骤506之后进一步包括:将所生成的测试包括通过邮件发送到指定的邮箱中。
较佳地,步骤504包括:
同时启动程序运行日志的接口与测试初始化,完整记录被测程序在启动时的运行日志;以测试脚本回放为主线程,被测程序运行日志与性能数据收集各占用一条辅线程,三条进程同步进行,性能数据的收集间隔时间为1秒钟,每秒钟性能收集线程将依次做如下数据的获取:时间戳、测试用例标题以及被测客户端设备的性能数据,从而得到测试脚本执行的每一步及每一个时间点对应的被测程序运行日志及被测客户端设备的性能数据。
所述被测客户端设备的性能数据包括:被测程序CPU占用率、被测程序内存占用率、被测程序所占实际物理内存、被测程序独自占用的物理内存、帧率、流量、设备温度、设备剩余可用内存、电池电量和电压。
以下以图4所示客户端设备性能测试系统的硬件连接为例,说明该测试方法的实际实现过程。
首先,测试控制端401将录制好的测试脚本上传给Web服务器402;
Web服务器402将测试脚本、测试应用包存放在文件服务器403,并向数据库405中添加测试任务的相关信息;所述测试任务的相关信息包括但不限于任务名称、任务提交时间、被测客户端、被测应用包存放路径、测试脚本存放路径、预留邮箱等;
Web服务器402向中继服务器404发送测试任务编号,中继服务器404查询数据库405,获取测试任务的信息、被测客户端设备状态信息;控制服务器406连接多台被测客户端设备,每台被测客户端设备407对应控制服务器406中的一个虚拟控制器,每一个虚拟控制器对应不同的手机操作系统,例如Android、iOS。控制服务器406从中继服务器404接收到测试任务后,将测试任务分发到被测客户端设备相应的虚拟控制器上。虚拟控制器将新来的测试任务加入测试任务队列,虚拟控制器记录有每台被测客户端的状态信息,当被测客户端的状态为运行状态时,测试任务队列中的任务等待,当被测客户端的运行状态为空闲时,检查队列中是否有可运行的任务,若有,则从队列中取出任务运行。
虚拟控制器从测试任务队列中取出任务,从文件服务器403下载相应的被测应用、测试脚本到控制服务器406上,向被测客户端设备407发送指令安装被测应用、测试脚本,然后发送脚本运行指令开始测试。
被测客户端设备407完成测试任务后,将测试中产生的测试日志和运行日志上传至文件服务器403。
Web服务器402遍历未完成的测试任务,当检测到某一测试任务对应的被测客户端设备全部完成测试,从文件服务器403获取该测试任务所有被测客户端的测试日志和运行日志,Web服务器402根据测试日志和运行日志对性能数据进行性能的统计分析,将分析结果依次填充到指定的报告模板当中,生成表格版的报告;和/或,将分析结果通过网页展示,分为整体表现和测试详情两种形式。然后向测试任务预留邮箱发送测试报告。
本申请将各个测试用例的性能数据进行清晰划分,测试过程中以秒为单位的每个时间点都对应着具体的测试步骤、所在功能模块、被测程序运行日志、性能数据等,可以帮助程序准确定位问题的信息。
本申请方案不仅简化开发测试流程,将传统的测试人员手工进行性能测试转换为更高效、更科学、更精准的自动化方式性能测试,双维度的测试数据对定位问题更有帮助;此外测试完成后自动分析并发送测试报告,并邮箱通知相关用户,实现自主测试与整体测试的自动化。以此同时,本申请还将原有分离的开发-测试流程改善为统一调度部署,避免测试设备过于分散不利于管理,而采用了所有测试设备在机房的统一管理模式,不仅节约测试成本,还避免了测试任务的执行与开发过程的脱节,开发完成后就可以直接将开发过程中录制好的测试脚本上传即提交测试任务,节省沟通成本、测试人力、大大提高了测试的效率。
应当理解,虽然本说明书是按照各个实施方式描述的,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施方式中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请的保护范围,凡在本申请技术方案的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

Claims (10)

1.一种客户端设备性能测试系统,其特征在于,包括:脚本录制模块、性能收集模块、任务分发管理模块、文件服务器模块和测试数据分析模块;
所述脚本录制模块用于将对被测客户端设备的操作转化为自动化脚本语句,将多条自动化脚本语句按照逻辑顺序组合成包含多个测试用例集的测试脚本;向任务分发管理模块发送携带所述测试脚本的测试任务;
所述任务分发管理模块用于从文件服务器模块下载各测试任务对应的测试应用包,发送指令将测试应用包安装到被测客户端设备上;接收来自脚本录制模块的测试任务,根据被测客户端设备的状态,当被测客户端设备空闲时,将新的测试任务分发到该被测客户端设备上;
文件服务器模块用于存储测试应用包;客户端设备测试完成后,接收被测客户端设备上传的测试日志;
性能收集模块,用于在被测客户端设备执行测试脚本的过程中,收集被测客户端设备的性能数据及被测程序的运行日志;
测试数据分析模块用于检测到某个测试任务完成时,从文件服务器模块下载该测试任务对应的所有测试日志,从性能收集模块下载性能数据以及运行日志,根据测试日志和运行日志对性能数据进行性能的统计分析,得到分析结果;
所述性能收集模块同时启动程序运行日志的接口与测试初始化,完整记录被测程序在启动时的运行日志;以测试脚本回放为主线程,被测程序运行日志与性能数据收集各占用一条辅线程,三条进程同步进行,性能数据的收集间隔时间为1秒钟,每秒钟性能收集线程将依次做如下数据的获取:时间戳、测试用例标题以及被测客户端设备的性能数据,从而得到测试脚本执行的每一步及每一个时间点对应的被测程序运行日志及被测客户端设备的性能数据。
2.根据权利要求1所述的客户端设备性能测试系统,其特征在于,该客户端设备性能测试系统进一步包括测试报告生成模块,将测试数据分析模块获得的分析结果依次填充到指定的报告模板当中,生成表格版的报告;和/或,将分析结果通过网页展示,分为整体表现和测试详情两种形式。
3.根据权利要求2所述的客户端设备性能测试系统,其特征在于,所述整体表现包括:通过饼状图和条形图直观展示出被测客户端设备的性能维度,性能维度包括CPU占用率、流量、内存、温度和帧率,以及根据调研出的性能标准判断出本次测试的整体通过率;
所述测试详情包括:以每台被测客户端设备的详细性能数据作为中心来展示,标示出性能异常的时间点;每个性能维度都有独立的随时间变化的曲线图,图内以不同测试用例为区间。
4.根据权利要求2所述的客户端设备性能测试系统,其特征在于,该客户端设备性能测试系统进一步包括邮件模块,用于将测试报告生成模块所生成的测试报告通过邮件发送到指定的邮箱中。
5.根据权利要求1所述客户端设备性能测试系统,其特征在于,所述被测客户端设备的性能数据包括:被测程序CPU占用率、被测程序内存占用率、被测程序所占实际物理内存、被测程序独自占用的物理内存、帧率、流量、设备温度、设备剩余可用内存、电池电量和电压。
6.一种客户端设备性能测试方法,其特征在于,包括:
A、将对被测客户端设备的操作转化为自动化脚本语句,将多条自动化脚本语句按照逻辑顺序组合成包含多个测试用例集的测试脚本;
B、生成包含所述测试脚本的测试任务;将测试任务对应的测试应用包安装到被测客户端设备上;
C、根据被测客户端设备的状态,当被测客户端设备空闲时,将新的测试任务分发到该被测客户端设备上,被测客户端设备执行测试任务对应的测试脚本;
D、在被测客户端设备执行测试脚本的过程中,收集被测客户端设备的性能数据及被测程序的运行日志;测试完成后,接收被测客户端设备上传的测试日志;
E、测试任务完成时,根据测试日志和运行日志对性能数据进行性能的统计分析,得到分析结果;
步骤D包括:
同时启动程序运行日志的接口与测试初始化,完整记录被测程序在启动时的运行日志;以测试脚本回放为主线程,被测程序运行日志与性能数据收集各占用一条辅线程,三条进程同步进行,性能数据的收集间隔时间为1秒钟,每秒钟性能收集线程将依次做如下数据的获取:时间戳、测试用例标题以及被测客户端设备的性能数据,从而得到测试脚本执行的每一步及每一个时间点对应的被测程序运行日志及被测客户端设备的性能数据。
7.根据权利要求6所述的客户端设备性能测试方法,其特征在于,步骤E之后,进一步包括:
F、将测试数据分析模块获得的分析结果依次填充到指定的报告模板当中,生成表格版的报告;和/或,将分析结果通过网页展示,分为整体表现和测试详情两种形式。
8.根据权利要求7所述的客户端设备性能测试方法,其特征在于,所述整体表现包括:通过饼状图和条形图直观展示出被测客户端设备的性能维度,性能维度包括CPU占用率、流量、内存、温度和帧率,以及根据调研出的性能标准判断出本次测试的整体通过率;
所述测试详情包括:以每台被测客户端设备的详细性能数据作为中心来展示,标示出性能异常的时间点;每个性能维度都有独立的随时间变化的曲线图,图内以不同测试用例为区间。
9.根据权利要求7所述的客户端设备性能测试方法,其特征在于,步骤F之后进一步包括:将所生成的测试报告通过邮件发送到指定的邮箱中。
10.根据权利要求6所述客户端设备性能测试方法,其特征在于,所述被测客户端设备的性能数据包括:被测程序CPU占用率、被测程序内存占用率、被测程序所占实际物理内存、被测程序独自占用的物理内存、帧率、流量、设备温度、设备剩余可用内存、电池电量和电压。
CN201510809775.8A 2015-11-20 2015-11-20 一种客户端设备性能测试方法及系统 Active CN105426278B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510809775.8A CN105426278B (zh) 2015-11-20 2015-11-20 一种客户端设备性能测试方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510809775.8A CN105426278B (zh) 2015-11-20 2015-11-20 一种客户端设备性能测试方法及系统

Publications (2)

Publication Number Publication Date
CN105426278A CN105426278A (zh) 2016-03-23
CN105426278B true CN105426278B (zh) 2019-05-10

Family

ID=55504498

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510809775.8A Active CN105426278B (zh) 2015-11-20 2015-11-20 一种客户端设备性能测试方法及系统

Country Status (1)

Country Link
CN (1) CN105426278B (zh)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106059849B (zh) * 2016-05-09 2019-10-22 上海斐讯数据通信技术有限公司 一种自动触发抓包系统及方法
CN106201846B (zh) * 2016-06-30 2019-07-12 微梦创科网络科技(中国)有限公司 自动化测试中的性能监控方法及装置
CN106649024A (zh) * 2016-09-22 2017-05-10 微梦创科网络科技(中国)有限公司 一种应用性能实时监控方法及装置
CN106547665A (zh) * 2016-11-14 2017-03-29 合网络技术(北京)有限公司 用于广告业务的性能测试系统及方法
CN108268347B (zh) * 2017-01-03 2021-01-15 中国移动通信有限公司研究院 一种物理设备性能测试方法及装置
CN107688535A (zh) * 2017-08-15 2018-02-13 武汉斗鱼网络科技有限公司 一种移动设备app性能数据显示方法及装置
CN108536563A (zh) * 2018-03-10 2018-09-14 北京酷我科技有限公司 一种iOS资源使用情况获取策略
CN109388564B (zh) * 2018-09-26 2021-07-06 广州云测信息技术有限公司 一种测试方法、装置及电子设备
CN109450724B (zh) * 2018-10-19 2022-05-27 郑州云海信息技术有限公司 一种nfs内存优化功能的测试方法及相关装置
CN109471629A (zh) * 2018-10-31 2019-03-15 国网河南省电力公司焦作供电公司 一种基于物联网云平台的前端系统及设计方法
CN111221718A (zh) * 2018-11-23 2020-06-02 鸿合科技股份有限公司 一种接口测试方法和装置
CN109857655B (zh) * 2019-01-17 2022-07-01 珠海金山网络游戏科技有限公司 一种检测美术资源动态性能的方法和系统
CN109960619A (zh) * 2019-02-12 2019-07-02 众安在线财产保险股份有限公司 一种性能测试平台及方法
CN110287253A (zh) * 2019-06-13 2019-09-27 合肥移瑞通信技术有限公司 一种自动化产线测试数据的管理系统及方法
CN110489300A (zh) * 2019-08-20 2019-11-22 北京市燃气集团有限责任公司 备份数据统计方法和装置
CN110633216A (zh) * 2019-09-20 2019-12-31 北京首汽智行科技有限公司 一种app性能测试方法
CN111061647A (zh) * 2019-12-26 2020-04-24 行吟信息科技(上海)有限公司 一种软件性能自动化测试方法、装置及电子设备
CN113535506A (zh) * 2020-04-21 2021-10-22 上海际链网络科技有限公司 服务系统的监控方法及装置、存储介质、计算机设备
CN112527616A (zh) * 2020-12-14 2021-03-19 北京达佳互联信息技术有限公司 数据处理方法及其装置
CN113157593A (zh) * 2021-05-24 2021-07-23 网易(杭州)网络有限公司 性能数据采集方法及装置、系统、电子设备、存储介质
CN113342680A (zh) * 2021-06-29 2021-09-03 中国农业银行股份有限公司 异步交易性能测试方法和系统
CN113609008A (zh) * 2021-07-27 2021-11-05 北京淇瑀信息科技有限公司 测试结果分析方法、装置和电子设备
CN113810245A (zh) * 2021-09-01 2021-12-17 四川天邑康和通信股份有限公司 政企网关多语音口并行自动测试方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101043543A (zh) * 2006-03-24 2007-09-26 中兴通讯股份有限公司 一种程控交换机的自动化测试工具和方法
CN101833498A (zh) * 2009-07-31 2010-09-15 北京伟晨豪嘉科技有限责任公司 一种基于测试脚本技术的嵌入式系统自动化检测系统
CN102495799A (zh) * 2011-12-02 2012-06-13 刘伟 移动终端的自动化测试系统和方法
CN103186444A (zh) * 2013-04-15 2013-07-03 北京搜狐新时代信息技术有限公司 一种性能测试方法、测试平台及测试机
US8706838B2 (en) * 2010-12-17 2014-04-22 Fujitsu Limited Testing apparatus, testing method and computer-readable storage medium
CN104572444A (zh) * 2014-12-10 2015-04-29 网易(杭州)网络有限公司 一种游戏性能云测试平台及其测试方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101043543A (zh) * 2006-03-24 2007-09-26 中兴通讯股份有限公司 一种程控交换机的自动化测试工具和方法
CN101833498A (zh) * 2009-07-31 2010-09-15 北京伟晨豪嘉科技有限责任公司 一种基于测试脚本技术的嵌入式系统自动化检测系统
US8706838B2 (en) * 2010-12-17 2014-04-22 Fujitsu Limited Testing apparatus, testing method and computer-readable storage medium
CN102495799A (zh) * 2011-12-02 2012-06-13 刘伟 移动终端的自动化测试系统和方法
CN103186444A (zh) * 2013-04-15 2013-07-03 北京搜狐新时代信息技术有限公司 一种性能测试方法、测试平台及测试机
CN104572444A (zh) * 2014-12-10 2015-04-29 网易(杭州)网络有限公司 一种游戏性能云测试平台及其测试方法

Also Published As

Publication number Publication date
CN105426278A (zh) 2016-03-23

Similar Documents

Publication Publication Date Title
CN105426278B (zh) 一种客户端设备性能测试方法及系统
CN102567203B (zh) 一种测试分布式文件系统性能的方法及系统
CN101478449B (zh) 一种协议自动测试方法及其系统
CN110162471A (zh) 一种基于容器云的压力测试方法及系统
CN109302522A (zh) 测试方法、装置以及计算机系统和介质
CN108521353A (zh) 定位性能瓶颈的处理方法、设备及可读存储介质
CN107565693B (zh) 智能变电站的光纤回路的可视化系统及可视化方法
CN104731566B (zh) 集成开发环境测试装置、方法及系统
Wu et al. Zeno: Diagnosing performance problems with temporal provenance
CN106209515B (zh) 接入网设备自动化测试系统
CN108415820A (zh) 应用安装包的测试方法和装置
CN101201782A (zh) 调试信息采集方法及调试信息采集系统
CN111400127B (zh) 业务日志的监控方法及装置、存储介质、计算机设备
CN111224845A (zh) 一种基于物联网云的设备自动化测试系统及方法
CN108205477A (zh) 服务器压力测试方法
CN107395747A (zh) 一种基于stf平台的高扩展方法
US9218205B2 (en) Resource management in ephemeral environments
CN108334443A (zh) 生成测试用例的方法、装置、设备及计算机可读存储介质
CN108255687A (zh) 终端的应用程序内存监控测试方法、装置及电子设备
CN107911410A (zh) 分布式服务进程资源耗用统计方法和装置
CN110389886B (zh) 一种主体应用程序的附加功能测试方法、装置及存储介质
CN111314743B (zh) 一种界面数据的回放方法及其装置
CN109831335A (zh) 一种数据监控方法、监控终端、存储介质及数据监控系统
CN109039781A (zh) 一种网络设备故障诊断方法、执行节点、服务器和系统
CN114422386A (zh) 一种微服务网关的监测方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant