一种IPTV机顶盒的性能测试方法及系统与流程

文档序号:24251539发布日期:2021-03-12 13:30阅读:220来源:国知局
一种IPTV机顶盒的性能测试方法及系统与流程

本申请涉及自动化技术领域,特别涉及一种iptv机顶盒的性能测试方法及系统。



背景技术:

目前的一些自动化性能测试框架能够随机或根据预设策略进行简单的性能测试,只能对软件在使用过程中是否出现崩溃,但无法记录整个过程的性能,且测试执行完成后难以定位问题出现的场景,难以进行故障复现和定位。



技术实现要素:

为解决上述技术问题,本申请实施例提供一种iptv机顶盒的性能测试方法及系统,以达到提高iptv机顶盒的测试效率及准确率的目的,技术方案如下:

一种iptv机顶盒的性能测试方法,包括:

运行部署在iptv机顶盒中的adb服务,模拟用户行为向所述iptv机顶盒发送操作指令,并获取所述iptv机顶盒响应所述操作指令时的性能参数及日志数据,将所述性能参数及所述日志数据发送给自动化测试系统;

所述iptv机顶盒在接收到请求时,通过所述iptv机顶盒上配置的http代理服务,将所述请求发送给所述自动化测试系统的代理服务器,所述代理服务器接收并记录所述请求,并转发所述请求至所述iptv机顶盒;

所述iptv机顶盒将所述请求发送给iptv专网服务器,并接收所述iptv专网服务器针对所述请求返回的响应信息,并通过http代理服务将所述响应信息发送给所述代理服务器;

所述代理服务器记录所述响应信息,并返回给所述iptv机顶盒;

所述自动化测试系统基于所述性能参数、所述日志数据、所述请求及所述响应信息,对所述iptv机顶盒进行性能测试。

所述自动化测试系统基于所述性能参数、所述日志数据、所述请求及所述响应信息,对所述iptv机顶盒进行性能测试,包括:

所述自动化测试系统基于所述性能参数、所述日志数据、所述请求及所述响应信息,判断所述iptv机顶盒是否存在接口api响应速度慢、cpu及内存占用高或内存泄露的问题。

所述方法还包括:

所述自动化测试系统将所述性能参数、所述日志数据、所述请求及所述响应信息存储在数据库中;

所述自动化测试系统当所述iptv机顶盒运行出现异常时,从所述数据库中存储的日志数据中过滤出错误日志关键字;

所述自动化测试系统基于所述错误日志关键字,分析所述iptv机顶盒在测试过程中出现的错误。

所述方法还包括:

所述自动化测试系统基于所述错误日志关键字的产生时间,从所述数据库中查找与所述产生时间对应的请求及响应信息,基于查找到的请求及响应信息,定位异常操作。

所述方法还包括:

所述自动化测试系统生成性能测试报告,并将所述性能测试报告推送给指定测试人员。

一种iptv机顶盒的性能测试系统,包括:

iptv机顶盒,用于运行部署在iptv机顶盒中的adb服务,模拟用户行为向所述iptv机顶盒发送操作指令,并获取所述iptv机顶盒响应所述操作指令时的性能参数及日志数据,将所述性能参数及所述日志数据发送给自动化测试系统;

所述iptv机顶盒,还用于在接收到请求时,通过所述iptv机顶盒上配置的http代理服务,将所述请求发送给所述自动化测试系统的代理服务器;

所述代理服务器,用于接收并记录所述请求,并转发所述请求至所述iptv机顶盒;

所述iptv机顶盒,还用于将所述请求发送给iptv专网服务器,并接收所述iptv专网服务器针对所述请求返回的响应信息,并通过http代理服务将所述响应信息发送给所述代理服务器;

所述代理服务器,还用于记录所述响应信息,并返回给所述iptv机顶盒;

所述自动化测试系统,用于基于所述性能参数、所述日志数据、所述请求及所述响应信息,对所述iptv机顶盒进行性能测试。

所述自动化测试系统,具体用于:

基于所述性能参数、所述日志数据、所述请求及所述响应信息,判断所述iptv机顶盒是否存在接口api响应速度慢、cpu及内存占用高或内存泄露的问题。

所述自动化测试系统,还用于:

将所述性能参数、所述日志数据、所述请求及所述响应信息存储在数据库中;

当所述iptv机顶盒运行出现异常时,从所述数据库中存储的日志数据中过滤出错误日志关键字;

基于所述错误日志关键字,分析所述iptv机顶盒在测试过程中出现的错误。

所述自动化测试系统,还用于:

基于所述错误日志关键字的产生时间,从所述数据库中查找与所述产生时间对应的请求及响应信息,基于查找到的请求及响应信息,定位异常操作。

所述自动化测试系统,还用于:

生成性能测试报告,并将所述性能测试报告推送给指定测试人员。

与现有技术相比,本申请的有益效果为:

在本申请中,通过运行部署在iptv机顶盒中的adb服务,用户行为向所述iptv机顶盒发送操作指令,并获取所述iptv机顶盒在响应所述操作指令时的性能参数及日志数据,实现对iptv机顶盒的性能参数及日志数据的自动获取,并将获取的性能参数及日志数据发送给自动化测试系统。以及,iptv机顶盒,通过http代理服务代理转发的方式,将请求及响应信息发送给自动化测试系统的代理服务器,使代理服务器记录请求及响应信息,在此基础上,自动化测试系统基于所述性能参数、所述日志数据、所述请求及所述响应信息,对所述iptv机顶盒进行性能测试,实现自动对iptv机顶盒进行性能测试,提高测试效率,并且基于更加全面的数据(如,所述性能参数、所述日志数据、所述请求及所述响应信息),对iptv机顶盒进行性能测试,提高测试的准确率。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是本申请提供的一种iptv机顶盒的性能测试方法实施例1的流程图;

图2是本申请提供的一种iptv机顶盒的性能测试方法实施例2的流程图;

图3是本申请提供的一种iptv机顶盒的性能测试方法实施例3的流程图;

图4是本申请提供的一种iptv机顶盒的性能测试方法实施例4的流程图;

图5是本申请提供的一种iptv机顶盒的性能测试系统的逻辑结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。

参照图1,为本申请实施例1提供的一种iptv机顶盒的性能测试方法的流程示意图,如图1所示,该方法可以包括但并不局限于以下步骤:

步骤s11、运行部署在iptv机顶盒中的adb服务,模拟用户行为向所述iptv机顶盒发送操作指令,并获取所述iptv机顶盒响应所述操作指令时的性能参数及日志数据,将所述性能参数及所述日志数据发送给自动化测试系统。

adb服务可以理解为:androidsdk中的工具。使用adb服务可以直接操作管理android设备。

运行部署在iptv机顶盒中的adb服务,模拟用户行为向所述iptv机顶盒发送操作指令,可以包括但不局限于:

运行部署在iptv机顶盒中的adb服务,按照遍历策略或随机策略进行按键操作,以模拟用户行为,向iptv机顶盒发送操作指令。

遍历策略可以为路径遍历策略或遍历深度策略。通过遍历策略进行按键操作,可以提高功能覆盖率,保证向iptv机顶盒发送的操作指令更加全面。

操作指令可以理解为:针对iptv机顶盒的软件进行操作的指令,例如,点击指令、输入指令、上下移动指令、滑动指令、返回指令或回到首页指令。

获取所述iptv机顶盒响应所述操作指令时的性能参数及日志数据,可以包括:

通过android的top等命令获取所述iptv机顶盒响应所述操作指令时的性能参数及日志数据。

步骤s12、所述iptv机顶盒在接收到请求时,通过所述iptv机顶盒上配置的http代理服务,将所述请求发送给所述自动化测试系统的代理服务器,所述代理服务器接收并记录所述请求,并转发所述请求至所述iptv机顶盒。

本实施例中,iptv机顶盒可以预先配置http代理服务。配置http代理服务的过程,可以包括:

s121、在iptv机顶盒上开启wifi热点,并与自动化测试系统的无线网卡相连;

s122、在iptv机顶盒上配置http代理服务,指向自动化测试系统的无线网卡的ip地址。

在iptv机顶盒上配置http代理服务,指向自动化测试系统的无线网卡的ip地址之后,iptv机顶盒可以基于http代理服务转发数据至自动化测试系统。

其中,为了解决自动化测试系统同时连接公共和专网的需求,自动化测试系统所属设备的无线网卡可以配置为固定ip,且不指定网关。

本实施例中,转发所述请求至所述iptv机顶盒,可以理解为:通过路由配置的方式,转发请求至iptv机顶盒。

步骤s13、所述iptv机顶盒将所述请求发送给iptv专网服务器,并接收所述iptv专网服务器针对所述请求返回的响应信息,并通过http代理服务将所述响应信息发送给所述自动化测试系统的代理服务器。

步骤s14、所述代理服务器记录所述响应信息,并返回给所述iptv机顶盒。

iptv机顶盒在接收到响应信息后,执行相应的操作。

本实施例中,通过在iptv机顶盒上配置http代理服务器,实现将iptv机顶盒接收到的请求及响应信息先转发给自动化测试系统的代理服务器,由代理服务器记录iptv机顶盒的请求及响应信息。

步骤s15、所述自动化测试系统基于所述性能参数、所述日志数据、所述请求及所述响应信息,对所述iptv机顶盒进行性能测试。

本实施例中,所述自动化测试系统基于所述性能参数、所述日志数据、所述请求及所述响应信息,对所述iptv机顶盒进行性能测试,可以包括但不局限于:

所述自动化测试系统基于所述性能参数、所述日志数据、所述请求及所述响应信息,判断所述iptv机顶盒是否存在接口api响应速度慢、cpu及内存占用高或内存泄露的问题。

本实施例中,所述请求及所述响应信息中包括有接口的响应时间和状态,基于接口的响应时间和状态,可以确定iptv机顶盒的接口api响应速度,在确定接口api响应速度后,可以与预先设定的响应速度阈值进行比较,来判断iptv机顶盒是否存在接口api响应速度慢的问题。

判断所述iptv机顶盒是否存在cpu及内存占用高的问题,可以理解为:

从性能参数中获取cpu利用率,判断cpu利用率是否高于设定的cpu利用率阈值,若高于设定的cpu利用率阈值,则确定iptv机顶盒存在cpu占用高的问题;

从性能参数中获取内存利用率,判断内存利用率是否高于设定的内存利用率阈值,若高于设定的内存利用率阈值,则确定iptv机顶盒存在内存占用高的问题。

本实施例中,内存泄露可以理解为:程序在运行过程中于某种原因导致程序本应该释放内存但无法释放。

用户在长期使用程序过程中,若出现内存泄露,则会导致程序没有足够的内存运行,导致程序运行速度减慢甚至系统崩溃等严重后果。

判断所述iptv机顶盒是否存在内存泄露的问题,可以理解为:

从性能参数中获取测试开始时的内存占用数据及测试结束时的内存占用数据,通过测试结束时的内存占用数据及测试开始时的内存占用数据,确定内存占用的变化,若内存占用发生的变化大,则可以确定存在内存泄露问题。例如,测试开始时程序初始运行开始占用内存为100m,测试结束后运行占用内存为200m且无法释放,即可初步判断存在内存泄露。

在本申请中,通过运行部署在iptv机顶盒中的adb服务,用户行为向所述iptv机顶盒发送操作指令,并获取所述iptv机顶盒在响应所述操作指令时的性能参数及日志数据,实现对iptv机顶盒的性能参数及日志数据的自动获取,并将获取的性能参数及日志数据发送给自动化测试系统。以及,iptv机顶盒,通过http代理服务代理转发的方式,将请求及响应信息发送给自动化测试系统的代理服务器,使代理服务器记录请求及响应信息,在此基础上,自动化测试系统基于所述性能参数、所述日志数据、所述请求及所述响应信息,对所述iptv机顶盒进行性能测试,实现自动对iptv机顶盒进行性能测试,提高测试效率,并且基于更加全面的数据(如,所述性能参数、所述日志数据、所述请求及所述响应信息),对iptv机顶盒进行性能测试,提高测试的准确率。

作为本申请另一可选实施例,参照图2,为本申请提供的一种iptv机顶盒的性能测试方法实施例2的流程图,本实施例主要是对上述实施例1描述的iptv机顶盒的性能测试方法的扩展方案,如图2所示,该方法可以包括但并不局限于以下步骤:

步骤s21、运行部署在iptv机顶盒中的adb服务,模拟用户行为向所述iptv机顶盒发送操作指令,并获取所述iptv机顶盒响应所述操作指令时的性能参数及日志数据,将所述性能参数及所述日志数据发送给自动化测试系统。

步骤s22、所述iptv机顶盒在接收到请求时,通过所述iptv机顶盒上配置的http代理服务,将所述请求发送给所述自动化测试系统的代理服务器,所述代理服务器接收并记录所述请求,并转发所述请求至所述iptv机顶盒。

步骤s23、所述iptv机顶盒将所述请求发送给iptv专网服务器,并接收所述iptv专网服务器针对所述请求返回的响应信息,并通过http代理服务将所述响应信息发送给所述自动化测试系统的代理服务器。

步骤s24、所述代理服务器记录所述响应信息,并返回给所述iptv机顶盒。

步骤s25、所述自动化测试系统基于所述性能参数、所述日志数据、所述请求及所述响应信息,对所述iptv机顶盒进行性能测试。

步骤s21-s25的详细过程可以参见实施例1中步骤s11-s15的相关介绍,在此不再赘述。

步骤s26、所述自动化测试系统将所述性能参数、所述日志数据、所述请求及所述响应信息存储在数据库中。

本实施例中,将性能参数、日志数据、请求及响应信息存储在数据库中,以便在后续使用时,能从数据库中查询到相应的数据。

步骤s27、所述自动化测试系统当所述iptv机顶盒运行出现异常时,从所述数据库中存储的日志数据中过滤出错误日志关键字。

错误日志关键字,可以理解为:记录运行时出现的错误的日志关键字。

步骤s28、所述自动化测试系统基于所述错误日志关键字,分析所述iptv机顶盒在测试过程中出现的错误。

由于错误日志关键字为记录运行时出现的错误的日志关键字,因此基于错误日志关键字,可以分析iptv机顶盒在测试过程中出现的错误。

本实施例中,通过将所述性能参数、所述日志数据、所述请求及所述响应信息存储在数据库中,保证能从数据库中查询相应的数据进行后续操作。并且当所述iptv机顶盒运行出现异常时,从所述数据库中存储的日志数据中过滤出错误日志关键字,基于所述错误日志关键字,分析所述iptv机顶盒在测试过程中出现的错误,实现对测试过程中出现的错误进行监测。

作为本申请另一可选实施例,参照图3,为本申请提供的一种iptv机顶盒的性能测试方法实施例3的流程图,本实施例主要是对上述实施例2描述的iptv机顶盒的性能测试方法的扩展方案,如图3所示,该方法可以包括但并不局限于以下步骤:

步骤s31、运行部署在iptv机顶盒中的adb服务,模拟用户行为向所述iptv机顶盒发送操作指令,并获取所述iptv机顶盒响应所述操作指令时的性能参数及日志数据,将所述性能参数及所述日志数据发送给自动化测试系统。

步骤s32、所述iptv机顶盒在接收到请求时,通过所述iptv机顶盒上配置的http代理服务,将所述请求发送给所述自动化测试系统的代理服务器,所述代理服务器接收并记录所述请求,并转发所述请求至所述iptv机顶盒。

步骤s33、所述iptv机顶盒将所述请求发送给iptv专网服务器,并接收所述iptv专网服务器针对所述请求返回的响应信息,并通过http代理服务将所述响应信息发送给所述自动化测试系统的代理服务器。

步骤s34、所述代理服务器记录所述响应信息,并返回给所述iptv机顶盒。

步骤s35、所述自动化测试系统基于所述性能参数、所述日志数据、所述请求及所述响应信息,对所述iptv机顶盒进行性能测试。

步骤s36、所述自动化测试系统将所述性能参数、所述日志数据、所述请求及所述响应信息存储在数据库中。

步骤s37、所述自动化测试系统当所述iptv机顶盒运行出现异常时,从所述数据库中存储的日志数据中过滤出错误日志关键字。

步骤s38、所述自动化测试系统基于所述错误日志关键字,分析所述iptv机顶盒在测试过程中出现的错误。

步骤s31-s38的详细过程可以参见实施例2中步骤s21-s28的相关介绍,在此不再赘述。

步骤s39、所述自动化测试系统基于所述错误日志关键字的产生时间,从所述数据库中查找与所述产生时间对应的请求及响应信息,基于查找到的请求及响应信息,定位异常操作。

本实施例中,基于查找到的请求及响应信息,定位异常操作,可以理解为:基于查找到的请求及响应信息,可以确定iptv机顶盒进行了哪些操作,将确定的iptv机顶盒进行的操作作为异常操作。例如,在测试过程中,第1个周期,cpu:10%,内存100m,线程:90个,第2个周期cpu:30%,内存130m,线程100个,判断在这两个周期(2020-8-2711:11-2020-8-2711:12)内如现了内存异常上升。根据该周期的时间点去查找请求及响应信息(例如,直播频道请求、响应直播频段请求所显示的模块及点击相应按钮。)

本实施例中,基于所述错误日志关键字的产生时间,从所述数据库中查找与所述产生时间对应的请求及响应信息,基于查找到的请求及响应信息,定位异常操作,实现异常操作的定位,以及时的对iptv机顶盒进行维护,提高维护的效率。

作为本申请另一可选实施例,参照图4,为本申请提供的一种iptv机顶盒的性能测试方法实施例4的流程图,本实施例主要是对上述实施例1描述的iptv机顶盒的性能测试方法的扩展方案,如图4所示,该方法可以包括但并不局限于以下步骤:

步骤s41、运行部署在iptv机顶盒中的adb服务,模拟用户行为向所述iptv机顶盒发送操作指令,并获取所述iptv机顶盒响应所述操作指令时的性能参数及日志数据,将所述性能参数及所述日志数据发送给自动化测试系统。

步骤s42、所述iptv机顶盒在接收到请求时,通过所述iptv机顶盒上配置的http代理服务,将所述请求发送给所述自动化测试系统的代理服务器,所述代理服务器接收并记录所述请求,并转发所述请求至所述iptv机顶盒。

步骤s43、所述iptv机顶盒将所述请求发送给iptv专网服务器,并接收所述iptv专网服务器针对所述请求返回的响应信息,并通过http代理服务将所述响应信息发送给所述自动化测试系统的代理服务器。

步骤s44、所述代理服务器记录所述响应信息,并返回给所述iptv机顶盒。

步骤s45、所述自动化测试系统基于所述性能参数、所述日志数据、所述请求及所述响应信息,对所述iptv机顶盒进行性能测试。

步骤s41-s45的详细过程可以参见实施例1中步骤s11-s15的相关介绍,在此不再赘述。

步骤s46、所述自动化测试系统生成性能测试报告,并将所述性能测试报告推送给指定测试人员。

本实施例中,生成性能测试报告,并将性能测试报告推送给指定测试人员,使性能测试的结果更加直观,并能使指定测试人员能及时的查看性能测试结果,对iptv机顶盒的调整做出设置。

接下来对本申请提供的iptv机顶盒的性能测试系统进行介绍,下文介绍的iptv机顶盒的性能测试系统与上文介绍的iptv机顶盒的性能测试方法可相互对应参照。

请参见图5,iptv机顶盒的性能测试系统包括:iptv机顶盒100和自动化测试系统200。

iptv机顶盒100,用于运行部署在iptv机顶盒100中的adb服务,模拟用户行为向所述iptv机顶盒100发送操作指令,并获取所述iptv机顶盒100响应所述操作指令时的性能参数及日志数据,将所述性能参数及所述日志数据发送给自动化测试系统200;

所述iptv机顶盒100,还用于在接收到请求时,通过所述iptv机顶盒100上配置的http代理服务,将所述请求发送给所述自动化测试系统200的代理服务器。

所述自动化测试系统200的代理服务器,用于接收并记录所述请求,并转发所述请求至所述iptv机顶盒100;

所述iptv机顶盒100,还用于将所述请求发送给iptv专网服务器,并接收所述iptv专网服务器针对所述请求返回的响应信息,并通过http代理服务将所述响应信息发送给所述自动化测试系统200的代理服务器;

所述自动化测试系统200的代理服务器,还用于记录所述响应信息,并返回给所述iptv机顶盒100;

所述自动化测试系统200,用于基于所述性能参数、所述日志数据、所述请求及所述响应信息,对所述iptv机顶盒100进行性能测试。

本实施例中,所述自动化测试系统200,具体可以用于:

基于所述性能参数、所述日志数据、所述请求及所述响应信息,判断所述iptv机顶盒100是否存在接口api响应速度慢、cpu及内存占用高或内存泄露的问题。

本实施例中,所述自动化测试系统200,还可以用于:

将所述性能参数、所述日志数据、所述请求及所述响应信息存储在数据库中;

当所述iptv机顶盒100运行出现异常时,从所述数据库中存储的日志数据中过滤出错误日志关键字;

基于所述错误日志关键字,分析所述iptv机顶盒100在测试过程中出现的错误。

本实施例中,所述自动化测试系统200,还可以用于:

基于所述错误日志关键字的产生时间,从所述数据库中查找与所述产生时间对应的请求及响应信息,基于查找到的请求及响应信息,定位异常操作。

本实施例中,所述自动化测试系统200,还可以用于:

生成性能测试报告,并将所述性能测试报告推送给指定测试人员。

需要说明的是,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。

通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。

以上对本申请所提供的一种iptv机顶盒的性能测试方法及系统进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1