一种基于shell脚本的换台压力测试系统及方法
专利摘要:本发明公开了一种基于shell脚本的换台压力测试系统,包括PC机、智能设备、信号源和机芯调试工装,其中:PC机发布换台压力测试指令以及接收反馈的数据并进行存储和分析,智能设备,预装有直播模块,通过机芯调试工装接收并执行PC机的测试指令。还公开了一种方法,包括:启动智能设备的直播模块,加载直播频道;导入shell脚本,并与智能设备通信;PC机循环发送换台键值,并将所有直播频道的标识文件分别以频道号为名存储;每次换台均进行频道标识文件、内存占用和CPU占用数据的测试,直到测试结束。本发明保证测试异常时及时中断、迅速锁定故障触发点和及时保留数据和故障现象;同时无需专人值守,提升工作效率。
专利说明:
一种基于shell脚本的换台压力测试系统及方法
[0001] 技术领域
[0002] 本发明涉及媒体设备换台压力测试技术领域,具体的说,是一种基于shell脚本的换台压力测试系统及方法。
[0003] 背景技术
[0004] 随着新媒体的快速发展,Android智能设备直播频道也在日益增多,比如各类直播APP以及电视机和机顶盒的数字电视等直播模块,拥有的节目数一般都在100个以上,而且这个数量还在逐年增加,所以直播模块的测试尤以换台播放的压力测试为重中之重。虽然目前也有一些可实现自动换台的自动化装置代替了繁琐的人工测试,但大都兼容性差,需要与待测设备进行适配,而且测试过程中的异常情况也不能立刻暂停测试以保留现场;并且随着待测设备的迭代更新,测试装置还需经常维护,而且购置装置和维护均需要增加测试成本。
[0005] 发明内容
[0006] 本发明的目的在于提供一种基于shell脚本的换台压力测试系统及方法,用于解决现有技术中自动换台压力测试中需要将测试装置与待测设备适配以及测试异常不能暂停保留现场的问题。
[0007] 本发明通过下述技术方案解决上述问题:
[0008] 一种基于shell脚本的换台压力测试系统,包括PC机、智能设备、信号源和机芯调试工装,其中:
[0009] PC机,用于运行shell脚本,发布测试指令以及接收反馈的数据并进行存储和分析;所述shell脚本用于对智能设备的直播模块进行压力测试;
[0010] 智能设备,预装有直播模块,接收并执行PC机的测试指令;
[0011] 信号源,用于输出信号给智能设备的直播模块;
[0012] 机芯调试工装,用于PC机与智能设备通信连接。
[0013] 所述PC机:作为整个测试的控制核心,通过运行shell脚本,负责发布指令,控制测试流程,接收数据和对信息进行分析处理和存储,控制整个压力测试的运行;PC及上运行的shell脚本,是编写的指令集合,用于自动完成对android智能设备的直播模块的压力测试,android智能设备预装的直播模块,android智能设备可以是智能电视或机顶盒、数字电视、模拟电视等;
[0014] 所述信号源,负责输出设定的信号给android智能设备预装的直播模块,使其输出相应的频道内容;信号源输出的信号通常有网络信号、数字电视信号、模拟信号等;
[0015] 所述机芯调试工装可以是指通过USB串口线,通讯遵循标准的串口通信协议。
[0016] 通过串口运行shell脚本,读取机芯的DEBUG信息,判断频道切换过程是否正常,同时监测内存和CPU占用情况并进行判断处理,当出现异常时,测试流程暂停,并保留测试数据以便分析。
[0017] 一种基于shell脚本的换台压力测试方法,包括:
[0018] 步骤S100:启动智能设备的直播模块,接入信号源,加载或搜索直播频道;
[0019] 步骤S200:PC机导入shell脚本,并通过机芯调试工装与智能设备通信;
[0020] 步骤S300:PC机按照shell脚本设置的间隔时长循环发送换台键值,并将所有直播频道的标识文件分别以频道号为名存储;
[0021] 步骤S400:对每一次换台,均进行频道标识文件、内存占用和CPU占用数据的测试,直到达到预设的换台次数,测试结束。
[0022] 进一步地的,步骤S400具体包括:
[0023] 步骤S410:固定延时后,获取当前频道的新标识文件并以频道号为名存储于另一目录,并与步骤S300中的同名文件进行比对,
[0024] 若判定为不一致,则提示“换台失败”,测试流程暂停,并保存测试数据和记录时间点;
[0025] 若判定为已知,则删除新的标识文件,进入下一步;
[0026] 步骤S420:通过shell脚本获取直播模块当前内存占用数据,并与预设的内存最大值比对,若大于该值,则判定为异常,提示“内存溢出”,测试流程暂停,并保留测试数据以便分析;否则判定为正常,进入下一步;
[0027] 步骤S430:通过shell脚本获取直播模块当前CPU占用数据,并与预设的CPU最大值比对,若大于该值,则判定为异常,提示“CPU占用太高”,测试流程暂停,并保留测试数据以便分析;否则判定为正常,进入下一步;
[0028] 步骤S440:统计换台次数,并判断是否达到预设的循环次数,若未达到,则刷新显示换台次数并进入步骤S410,否则提示“测试完成”并结束测试。
[0029] 通过上述方法,在直播模块中,通过机芯调试工装运行shell脚本,实现自动换台的同时,实时监控换台后是否正常播放,以及反复换台过程中直播模块的内存占用和CPU占用情况。改变当前换台测试过程中需安排专人值守的现状,将人员从重复性较强的测试工作中解脱出来,以专注于异常问题的分析解决和测试手段的完善,提升整体工作效率;该测试方法能够全方位测试直播模块换台播放过程,保证测试异常时测试流程及时中断,迅速锁定故障触发点,及时保留相关数据和故障现象,防止人为疏漏。
[0030] 本发明与现有技术相比,具有以下优点及有益效果:
[0031] 本发明通过循环shell脚本设计,实现自动换台过程中,实时监控是否成功换台以及内存占用和CPU占用情况,既不用付出自动化测试装置的购买和维护成本,还能保证测试异常时测试流程及时中断、迅速锁定故障触发点和及时保留相关数据和故障现象;同时更是无需专人值守,将人员从重复性较强的测试工作中解脱出来,提升工作效率。
[0032] 附图说明
[0033] 图1为本发明的测试流程图。
[0034] 具体实施方式
[0035] 下面结合实施例对本发明作进一步地详细说明,但本发明的实施方式不限于此。
[0036] 实施例1:
[0037] 一种基于shell脚本的换台压力测试系统,包括PC机、智能设备、信号源和机芯调试工装,其中:
[0038] PC机,用于运行shell脚本,发布测试指令以及接收反馈的数据并进行存储和分析;所述shell脚本用于对智能设备的直播模块进行压力测试;
[0039] 智能设备,预装有直播模块,接收并执行PC机的测试指令;
[0040] 信号源,用于输出信号给智能设备的直播模块;
[0041] 机芯调试工装,用于PC机与智能设备通信连接。
[0042] 所述PC机:作为整个测试的控制核心,通过运行shell脚本,负责发布指令,控制测试流程,接收数据和对信息进行分析处理和存储,控制整个压力测试的运行;PC及上运行的shell脚本,是编写的指令集合,用于自动完成对android智能设备的直播模块的压力测试,android智能设备可以是智能电视或机顶盒、数字电视、模拟电视等;
[0043] 所述信号源,负责输出设定的信号给android智能设备预装的直播模块,使其输出相应的频道内容;信号源输出的信号通常有网络信号、数字电视信号、模拟信号等;
[0044] 所述机芯调试工装可以是指通过USB串口线,通讯遵循标准的串口通信协议。
[0045] 通过串口运行shell脚本,读取智能设备/机芯的DEBUG信息,判断频道切换过程是否正常,同时监测内存和CPU占用情况并进行判断处理,当出现异常时,测试流程暂停,并保留测试数据以便分析。
[0046] 实施例2:
[0047] 结合附图1所示,一种基于shell脚本的换台压力测试方法,包括:
[0048] 步骤1、启动android智能设备预装的直播模块,接入固定信号,加载或搜索下所有直播频道;具体包括:
[0049] 智能电视连网情况下,打开其网络直播APP,直播APP在打开过程会加载出所有直播频道,以供用户观看;
[0050] 步骤2、PC机通过机芯调试工装与android智能设备通信,导入shell脚本,具体包括:
[0051] 用USB转串口线连接PC与智能电视,然后在串口工具中输入调试命令,确认是否有正确的DEBUG信息吐出,从而确认连接是否正常。连接正常后导入并运行shell脚本;
[0052] 步骤3、通过shell脚本按设定的间隔时长循环发送换台键值,并以频道号为名分别存储下所有直播频道的原始标识文件,具体包括:
[0053] 通过USB串口,首先获取频道总数,然后输入“input keyevent‘节目+/-的键值”进行换台,固定延时后(如8秒),即调用sleep命令设置延时,再通过串口工具输入命令获取当前频道的标识信息,并以当前频道号为名存储于当前目录下的文件(file1);进入步骤4;
[0054] 步骤4、shell脚本发送一次换台键值,固定延时后获取当前频道的标识文件,并以频道号为名作为新文件存储于另一目录,再与步骤3中同名标识文件进行比对,若判定为不一致,则提示“换台失败”,测试流程暂停,并保留测试数据以便分析;若判定为一致,则删除该新的标识文件,具体包括:
[0055] Shell脚本定义USB串口输入cmp file1 file2,对比步骤4中生成的新标识文件(file2)与原始标识文件中对应的文件(file1),加入条件判断if[$0==0],即返回值为0,则为一致,删除新标识文件,进入步骤5,否则自动打包相关系统日志并记录时间点,然后进入步骤8;
[0056] 步骤5、通过shell脚本获取直播模块当前内存占用数据,并与预设的内存最大值比对,若大于该值,则判定为异常,提示“内存溢出”,测试流程暂停,并保留测试数据以便分析,否则判定为正常,具体包括:
[0057] 通过USB串口输入命令,如:
[0058] dumpsys meminfo|grep应用包名|sed-n'1p'|busybox awk'{print$1}'|busyboxtr-d'K:'
[0059] 获取内存占用值,并与预设的内存占用最大值进行大小比较,即加入判断,如:if[$1-gt$2],若大于最大值,则判定为异常,提示“内存溢出”,测试流程暂停,并保留测试数据以便分析,否则判定上为正常,进入步骤6;
[0060] 步骤6、通过shell脚本获取直播模块当前CPU占用数据,并与预设的CPU最大值比对,若大于该值,则判定为异常,提示“CPU占用太高”,测试流程暂停,并保留测试数据以便分析;否则判定为正常,具体包括:
[0061] 通过USB串口输入命令:
[0062] top-n 1|grep“应用包名”|
[0063] 获取CPU占用值,并与预设的CPU最大值进行大小比较,若大于该值,则判定为异常,提示“CPU占用太高”,测试流程暂停,并保留测试数据以便分析;否则判定为正常,进入步骤7;
[0064] 步骤7、统计换台次数,并判断是否达到预设的循环次数,若未达到,则刷新显示换台次数并进入步骤4,否则提示“测试完成”并进入步骤8.
[0065] 步骤8、结束测试。
[0066] 尽管这里参照本发明的解释性实施例对本发明进行了描述,上述实施例仅为本发明较佳的实施方式,本发明的实施方式并不受上述实施例的限制,应该理解,本领域技术人员可以设计出很多其他的修改和实施方式,这些修改和实施方式将落在本申请公开的原则范围和精神之内。
权利要求:1.一种基于shell脚本的换台压力测试系统,其特征在于,包括PC机、智能设备、信号源和机芯调试工装,其中:
PC机,用于运行shell脚本,发布测试指令以及接收反馈的数据并进行存储和分析;所述shell脚本用于对智能设备的直播模块进行压力测试;
智能设备,预装有直播模块,接收并执行PC机的测试指令;
信号源,用于输出信号给智能设备的直播模块;
机芯调试工装,用于PC机与智能设备通信连接。
2.一种基于shell脚本的换台压力测试方法,其特征在于,包括:
步骤S100:启动智能设备的直播模块,接入信号源,加载或搜索直播频道;
步骤S200:PC机导入shell脚本,并通过机芯调试工装与智能设备通信;
步骤S300:PC机按照shell脚本设置的间隔时长循环发送换台键值,并将所有直播频道的标识文件分别以频道号为名存储;
步骤S400:对每一次换台,均进行频道标识文件、内存占用和CPU占用数据的测试,直到达到预设的换台次数,测试结束。
3.根据权利要求2所述的一种基于shell脚本的换台压力测试方法,其特征在于,所述步骤S400具体包括:
步骤S410:固定延时后,获取当前频道的新标识文件并以频道号为名存储于另一目录,并与步骤S300中的同名文件进行比对,
若判定为不一致,则换台失败,测试流程暂停,并保存测试数据;
若判定为已知,则删除新的标识文件,进入下一步;
步骤S420:通过shell脚本获取直播模块当前内存占用数据,并与预设的内存最大值比对,若大于该值,则判定为异常,测试流程暂停,并保留测试数据以便分析;否则判定为正常,进入下一步;
步骤S430:通过shell脚本获取直播模块当前CPU占用数据,并与预设的CPU最大值比对,若大于该值,则判定为异常,测试流程暂停,并保留测试数据以便分析;否则判定为正常,进入下一步;
步骤S440:统计换台次数,并判断是否达到预设的循环次数,若未达到,则刷新显示换台次数并返回步骤S410;否则,结束测试。
公开号:CN110597679
申请号:CN201910893013.9A
发明人:任玉梅
申请人:四川长虹电器股份有限公司
申请日:2019-09-20
公开日:2019-12-20