一种客户端设备性能测试方法及系统的制作方法_3

文档序号:9667230阅读:来源:国知局
据分析模块205并通过智能分析计算出分析结果。分析结果被保存在数据库当中,测试报告生成模块206会通过java程序将数据库中的分析结果依次填充到指定的报告模板当中,此时生成表格版的报告;另外测试数据亦将通过网页展示,分为整体表现和测试详情两种形式。将日志分析和处理后得出的数据通过web页面前端进行展示,利用网页前端技术如-Bootstrap Metro、jquery、Ajax、以及开源的插件highcharts、highstock将测试数据变为有交互性的图表。利用highcharts插件,将测试数据根据时间点,精确到秒,以曲线图的形式展示性能数据,并在图上标出每个时间段所运行的测试用例,更利于发现应用在测试过程中存在的问题,比如:内存不释放导致的内存泄露,某些场景内存占用过高需要对资源进行优化。更有利于开发人员定位问题,节省开发时间。
[0067]整体表现:通过饼状图和条形图直观展示出被测客户端设备的性能表现,性能维度包括CPU占用率、流量、内存、温度和帧率,以及根据调研出的性能标准判断出本次测试的整体通过率。
[0068]测试详情:以每台被测客户端设备的详细性能数据作为中心来展示,标示出性能异常的时间点,该时间点的单位可以精确到秒;每个性能维度都有独立的随时间变化的曲线图,图内以不同测试用例为区间,可以放大缩小,查看在某个测试场景中的性能趋势,排查是否存在内存泄露、帧率过低等性能问题。
[0069]所述邮件模块207,用于向指定的邮箱发送测试报告。测试报告模块206生成测试报告后,将该任务的发送邮件状态置为可发送,邮件服务器根据测试所得结论,填充相应类型的邮件模板,并把测试报告以附件的形式放在邮件中,发送给客户。邮件模块207接收到邮件发送成功的消息,将邮件发送状态置为不可发送。
[0070]图4为本申请实施例提供的客户端设备性能测试系统的一种设备硬件连接框图。该测试系统的硬件设备包括测试控制端401、Web服务器402 (其中包括邮件服务器)、文件服务器403、中继服务器404、数据库405、控制服务器406以及被测客户端设备407。
[0071]其中,脚本录制模块201的功能由测试控制端401实现,性能收集模块202的功能主要由数据库405实现,任务分发管理模块203由Web服务器402、中继服务器404和控制服务器406共同实现,文件服务器模块204的功能由文件服务器403实现,测试数据分析模块205和测试报告模块206由Web服务器402实现,邮件模块207由Web服务器402中集成的邮件服务器实现。
[0072]基于上述客户端设备性能测试系统的逻辑架构,该测试系统的具体硬件组织可以有多种形式,本申请对硬件组织形式不作限定。
[0073]本申请实施例还提供了一种客户端设备性能测试方法,其流程如图5所示,包括如下步骤:
[0074]步骤501:将对被测客户端设备的操作转化为自动化脚本语句,将多条自动化脚本语句按照逻辑顺序组合成包含多个测试用例集的测试脚本;
[0075]步骤502:生成包含所述测试脚本的测试任务;将测试任务对应的测试应用包安装到被测客户端设备上;
[0076]步骤503:根据被测客户端设备的状态,当被测客户端设备空闲时,将新的测试任务分发到该被测客户端设备上,被测客户端设备执行测试任务对应的测试脚本;
[0077]步骤504:在被测客户端设备执行测试脚本的过程中,收集被测客户端设备的性能数据及被测程序的运行日志;测试完成后,接收被测客户端设备上传的测试日志;
[0078]步骤505:测试任务完成时,根据测试日志和运行日志对性能数据进行性能的统计分析,得到分析结果。
[0079]可选地,步骤505之后,进一步包括:
[0080]步骤506:将测试数据分析模块获得的分析结果依次填充到指定的报告模板当中,生成表格版的报告;和/或,将分析结果通过网页展示,分为整体表现和测试详情两种形式。
[0081]其中,所述整体表现包括:通过饼状图和条形图直观展示出被测客户端设备的性能维度,性能维度包括CPU占用率、流量、内存、温度和帧率,以及根据调研出的性能标准判断出本次测试的整体通过率;
[0082]所述测试详情包括:以每台被测客户端设备的详细性能数据作为中心来展示,标示出性能异常的时间点;每个性能维度都有独立的随时间变化的曲线图,图内以不同测试用例为区间。
[0083]可选地,步骤506之后进一步包括:将所生成的测试包括通过邮件发送到指定的邮箱中。
[0084]较佳地,步骤504包括:
[0085]同时启动程序运行日志的接口与测试初始化,完整记录被测程序在启动时的运行日志;以测试脚本回放为主线程,被测程序运行日志与性能数据收集各占用一条辅线程,三条进程同步进行,性能数据的收集间隔时间为1秒钟,每秒钟性能收集线程将依次做如下数据的获取:时间戳、测试用例标题以及被测客户端设备的性能数据,从而得到测试脚本执行的每一步及每一个时间点对应的被测程序运行日志及被测客户端设备的性能数据。
[0086]所述被测客户端设备的性能数据包括:被测程序CPU占用率、被测程序内存占用率、被测程序所占实际物理内存、被测程序独自占用的物理内存、帧率、流量、设备温度、设备剩余可用内存、电池电量和电压。
[0087]以下以图4所示客户端设备性能测试系统的硬件连接为例,说明该测试方法的实际实现过程。
[0088]首先,测试控制端401将录制好的测试脚本上传给Web服务器402 ;
[0089]Web服务器402将测试脚本、测试应用包存放在文件服务器403,并向数据库405中添加测试任务的相关信息;所述测试任务的相关信息包括但不限于任务名称、任务提交时间、被测客户端、被测应用包存放路径、测试脚本存放路径、预留邮箱等;
[0090]Web服务器402向中继服务器404发送测试任务编号,中继服务器404查询数据库405,获取测试任务的信息、被测客户端设备状态信息;控制服务器406连接多台被测客户端设备,每台被测客户端设备407对应控制服务器406中的一个虚拟控制器,每一个虚拟控制器对应不同的手机操作系统,例如Android、1So控制服务器406从中继服务器404接收到测试任务后,将测试任务分发到被测客户端设备相应的虚拟控制器上。虚拟控制器将新来的测试任务加入测试任务队列,虚拟控制器记录有每台被测客户端的状态信息,当被测客户端的状态为运行状态时,测试任务队列中的任务等待,当被测客户端的运行状态为空闲时,检查队列中是否有可运行的任务,若有,则从队列中取出任务运行。
[0091]虚拟控制器从测试任务队列中取出任务,从文件服务器403下载相应的被测应用、测试脚本到控制服务器406上,向被测客户端设备407发送指令安装被测应用、测试脚本,然后发送脚本运行指令开始测试。
[0092]被测客户端设备407完成测试任务后,将测试中产生的测试日志和运行日志上传至文件服务器403。
[0093]Web服务器402遍历未完成的测试任务,当检测到某一测试任务对应的被测客户端设备全部完成测试,从文件服务器403获取该测试任务所有被测客户端的测试日志和运行日志,Web服务器402根据测试日志和运行日志对性能数据进行性能的统计分析,将分析结果依次填充到指定的报告模板当中,生成表格版的报告;和/或,将分析结果通过网页展示,分为整体表现和测试详情两种形式。然后向测试任务预留邮箱发送测试报告。
[0094]本
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1