一种终端的自动化功耗测试方法及系统与流程

文档序号:12789771阅读:451来源:国知局
一种终端的自动化功耗测试方法及系统与流程

本发明涉及功耗测试领域,特别涉及一种终端的自动化功耗测试方法。



背景技术:

手机、平板等终端产品飞速发展,成为每个人日常生活的必须品,但在有限的电量下,手机的功耗成为衡量终端的重要指标,所以在中国移动的入库测试中,专门有各业务的功耗续航测试。

终端业务比较多,比如:通话过程总的功耗,浏览器网页过程中的功耗,阅读文件过程中的功耗,微信聊天过程中的功耗等各种业务,整个测试下来测试时间长,手动测试一致性不高,所以功耗测试采用自动化测试成为首选。

功耗自动化测试需要能够自动化控制终端执行业务,还需要自动控制与采集程控电源数据。采集程控电源数据一般都由PC来实现,但同时PC控制终端执行业务时,一般需要连接USB线(比如android终端),USB线通讯时需要供电,会造成终端充电,对功耗测试带来很大影响,所以很多人选择用机械手来自动执行终端业务,避开USB线对功耗的影响,中国移动入库测试也是这样用机械手来实现的。但是,机械手非常昂贵,一台机械手也只能测试一台终端,如果多产品、多终端同时测试,需要多台机械手,成本非常高。

当然也有一些自动化功耗测试方案比如:

方案1:当业务长保过程中(比如通话中),控制USB线断开,再读取电 源功耗值的测试方式,但这种方式无法测试需要频繁控制终端动作的业务,比如不停浏览网页过程中的功耗,因为控制终端需要连接USB。

方案2:终端侧自动执行终端业务,PC同步启动,在固定时间间隔内采集功耗数据,这种方式非常不可控,本来业务执行每次都会有一定的时间偏差,终端执行如果稍有意外,比如业务失败,会造成后面的测试不同步,测试无效。

方案3:采用PC通过USB连接外接设备传输数据,再控制外接设备控制USB供电与数据传输。此类方法需要外接设备,且此类设备,如果换了终端方案,可能兼容性存在问题。



技术实现要素:

本发明的目的在于提供一种终端的自动化功耗测试方法及系统,能够通过USB线准确控制终端执行业务,并实时采集终端功耗数据,排除USB线影响,且无需机械手与额外设备,实现低成本精准功耗自动化测试。

为解决上述技术问题,本发明的实施方式提供了一种终端的自动化功耗测试方法,包含以下步骤:

预先在被测终端内加载测试脚本,所述测试脚本包含待执行的业务与终端动作;

测试主机通过数据连接线与所述被测终端建立数据连接;

所述测试主机在通过所述数据连接控制被测终端执行终端业务或所述测试脚本内的业务后,断开与所述被测终端的数据连接;

所述测试主机在预设时长后获取所述被测终端的电源功耗数据;

所述测试主机恢复所述数据连接,并通过该数据连接从所述被测终端内获取所述业务的执行结果;

所述测试主机根据所述电源功耗数据和所述业务的执行结果,获取所述业务的功耗测试结果。

本发明的实施方式还提供了一种终端的自动化功耗测试系统,包含:测试主机与被测终端;所述测试主机通过数据连接线与所述被测终端建立数据连接;所述被测终端内预先加载测试脚本,所述测试脚本包含待执行的业务与终端动作;

其中,所述测试主机包含:

业务控制模块,用于通过所述数据连接控制被测终端执行终端业务或所述测试脚本内的业务;

连接断开模块,用于在所述业务控制模块控制被测终端执行所述测试脚本内的业务后,断开与所述被测终端的数据连接;

获取模块,用于所述连接断开模块断开所述连接后,在预设时长后获取所述被测终端的电源功耗数据;

恢复模块,用于在所述获取模块获取到所述电源功耗数据后,恢复所述数据连接,并通过该数据连接从所述被测终端内获取所述业务的执行结果;

功耗检测模块,用于根据所述电源功耗数据和所述业务的执行结果,获取所述业务的功耗测试结果。

本发明实施方式相对于现有技术而言,通过预先在被测终端内加载测试脚本,可以准确控制终端执行业务与终端动作。测试主机通过控制数据线的导通和关断准确控制终端执行业务,测试主机在控制被测终端启动业务(启动的业务可以是终端内的业务,也可以是测试脚本内的业务)后,断开与被测终端的数据连接可以保证执行业务时避免对终端充电造成功耗数据不准。测试主机在获取被测终端的电源功耗数据后恢复数据连接可以实时采集 终端功耗数据,获取本次业务的执行结果,达到机械手功耗测试的效果但无需机械手与额外设备,实现低成本精准功耗自动化测试。

另外,所述测试脚本内包含有N个待执行的业务和所述N个业务的执行顺序;所述N为大于1的自然数;

所述测试主机在恢复所述数据连接后,通过所述数据连接控制所述被测终端启动所述执行顺序中的下一个待执行业务。

通过预存的N个待执行的业务和N个业务的执行顺序,可以实现终端全自动精准连续功耗测试,而且每个业务的功耗测试是单独进行的,不会因为上一个业务的执行失败而影响本次的测试结果。

另外,在所述测试主机断开与所述被测终端的数据连接的步骤中,所述测试主机通过程控电源断开所述数据连接;

在所述测试主机获取所述被测终端的电源功耗数据的步骤中,由所述程控电源向所述测试主机返回所述被测终端的电源功耗数据;

在所述测试主机恢复所述数据连接的步骤中,所述测试主机通过所述程控电源恢复所述数据连接。

程控电源可以通过微机控制,程控实现软启动,软停止。通过程控电源控制数据连接线的导通和关断,可以避免对终端设备的冲击和损坏。另外被测终端的电源功耗数据可以直接在测试主机上通过程控电源来读取,使得终端功耗测试变得更加简单方便。

另外,所述程控电源包含:与所述数据连接线连接的第一供电端、与所述被测终端连接的第二供电端;

所述测试主机通过程控电源断开所述数据连接的步骤中,所述程控电源利用所述第一供电端断开所述数据连接线内的供电线;

所述测试主机通过所述程控电源恢复所述数据连接的步骤中,所述程 控电源利用所述第一供电端导通所述数据连接线内的供电线;

由所述程控电源向所述测试主机返回所述被测终端的电源功耗数据的步骤中,包含以下子步骤:

所述程控电源根据所述第二供电端的电流与电压信息,计算电源功耗数据;

所述程控电源将所述计算的电源功耗数据,作为所述被测终端的电源功耗数据返回至所述测试主机。

通过第一供电端控制数据连接线的通电和断电可以避免数据连接线在测试过程中对终端充电,从而可以避开数据连接线对功耗的影响,使得测试结果更准确。程控电源通过第二供电端的电流与电压信息,计算电源功耗数据,并将该数据返回至测试主机,使得功耗测试的过程可以自动进行,从而可以实现低成本精准功耗自动化测试。

另外,所述数据连接线为通用串行总线USB连接线。USB具有传输速度快、使用方便、支持热插拔、连接灵活、独立供电等优点,可使得功耗测试可以兼容各种不同的终端方案。而且USB可以通过扩展同时连接多个设备,使得多产品多终端可以同时测试,提高测试效率。

附图说明

图1是根据第一实施方式的终端自动化功耗测试原理图;

图2是根据第一实施方式的终端自动化功耗测试流程图;

图3是根据第一实施方式中的测试主机自动化测试程序示意图;

图4是根据第一实施方式中的终端自动化测试程序示意图;

图5是根据第三实施方式中的测试主机的结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请各权利要求所要求保护的技术方案。

本发明的第一实施方式涉及一种终端的自动化功耗测试方法,在本实施方式中,功耗测试的原理如图1所示:

1、测试主机--自动化测试程序:运行于测试主机(一般是PC)的自动化测试软件,属于本方案的主控程序。实现业务执行序列管理与执行,实现与终端通讯,实现程控电源控制与功耗读取。

2、被测终端--终端测试程序:运行在终端(一般为手机)的自动化测试软件,能够被测试主机通过USB通讯控制,执行指定终端业务执行序列,并反馈测试数据与结果。

3、USB总线:USB一般有4根线。

D+,D-:为USB数据收发总线。

GND,VBUS:为USB供电线,其中GND表示接地,VBUS表示电源正极。目前USB一般都是5V供电,由PC供电给终端,并提供充电,只有终端USB供电正常后,PC才能正常识别USB进行通讯,此时终端进入充电状态,电池的功耗数据无法作为功耗依据。

本方案USB线的VBUS被断开,连接终端侧的VBUS线接程控电源正极,GND接程控电源负极。

4、程控电源:能够被PC软件控制上下电,并能够返回电压、电流等功耗相关值的直流稳压电源。程控电源包含与USB线连接的第一供电端和与 被测终端连接的第二供电端。第一供电端需要控制USB线给终端供电,控制USB线通断。当USB线断开(供电下电)后,根据代替电池供电那路的电流与电压值,能够计算出此时的终端功耗值。第二供电端需要控制终端供电,代替终端电池。

本实施方式的具体流程如图2所示:

在步骤201中,测试主机通过数据连接线与被测终端建立数据连接。

具体地说,本实施方式中的数据连接线为USB,测试主机可以为个人PC,被测终端可以为手机。

在步骤202中,测试主机控制终端自动化测试程序开始执行测试脚本内的业务,并断开与被测终端的数据连接。

具体地说,测试主机(一般是PC)里面装有自动化测试程序,利用该自动化测试程序使测试主机能够通过USB控制终端内的自动化业务脚本,即测试脚本,执行业务,并查询执行状态和结果;能够控制外部设备实现USB线接通与断开;能够控制程控电源开关与读取功耗数据。

目前自动化测试大都是将某一特性业务测试执行做成一个有逻辑的执行序列,俗称脚本(本方案后续提到的脚本,就是指执行序列),脚本中实现所有需要实现的测试动作与逻辑,由测试软件控制一个或者多个脚本执行。

本方案测试主机-自动化测试程序,属于本方案自动化执行的主控程序,也是采用脚本执行的方式,终端业务动作、终端脚本执行控制、电源控制、逻辑判断等都是在脚本中执行。一般一个相对完整的自动化测试程序需要实现的功能如图3:

测试脚本:需要执行的业务序列、逻辑与判断,终端动作、终端脚本执行控制、电源控制等都可以在脚本中实现控制。

脚本编写模块:编写与管理测试脚本。

脚本执行管理模块:管理与控制一个或多个需要执行的脚本执行,并控制输出统计与日志。

日志与统计模块:实现日志与统计数据输出,比如每条脚本对应的测试结果、功耗值等。

终端通讯模块:负责与终端的通讯。

电源控制模块:负责电源控制与功耗值读取。

被测终端(可以为手机),本发明的实施方式中预先在被测终端内加载测试脚本,该测试脚本包含待执行的业务与终端动作,并且能够被测试主机通过USB通讯控制,执行终端业务执行序列,并反馈测试数据与结果。因为终端业务动作执行一般都是1秒或者更长时间执行一次,其他时间都属于睡眠状态,所以终端测试程序本身带来的CPU处理非常少,功耗非常低,功耗值比较恒定,可以忽略或者经过计算排除影响。

现有的智能终端都支持在终端上自动执行程序进行测试,比如Android终端自带的uiautomator框架,本来就支持PC启动测试执行。也可以自己在终端上开发测试框架编写测试脚本进行业务测试,比如Android终端利用Instrumentation技术,实现终端操作。总体来说,终端自动化测试流程如图4所示:

终端控制程序支持外部控制启动指定的终端业务脚本自动执行业务,并反馈测试状态与结果。比如uiautomator测试是通过PC通过USB发送adb指令启动。此类技术属于通用技术,本发明不详细说明具体实现技术。

本实施方式中,PC软件为运行于测试主机的自动化测试软件,里面预存有N个待执行业务和N个业务的执行顺序(N为大于1的自然数),其中每个待执行业务对应一个系统软件以及至少一个硬件,例如:第一待执行业务为用终端系统自带相机拍照30分钟,具体步骤为:打开摄像头,对焦,拍摄图片,保存,返回,再次对焦,依次循环30分钟。第一待执行业务对应的 硬件为摄像头。第二待执行业务为用终端系统自带浏览器实现浏览网站10分钟,具体步骤为:打开浏览器,打开一个子网页,翻页,返回,打开另一个子网页,依次循环10分钟。第二待执行业务对应的硬件为上网芯片和天线。第三待执行业务为持续开关Wi-Fi(Wireless Fidelity,无线保真技术)设备和蓝牙设备20分钟,具体步骤为,打开Wi-Fi设备,扫描Wi-Fi热点,关闭Wi-Fi设备,打开蓝牙设备,扫描移动终端附近的蓝牙设备,关闭蓝牙设备,再打开Wi-Fi设备,依此循环20分钟。第三待执行业务对应的硬件为Wi-Fi设备和蓝牙设备。第四待执行业务为浏览电子书10分钟,具体步骤为:打开电子书,翻页,翻到最后一页时退出,再打开电子书,依次循环10分钟。第四待执行业务对应的硬件为显示屏和存储器。

需要说明的是,以上的待执行业务以及运行时长仅仅用于举例说明,并不用于限定本实施例。此外,测试案例的个数、顺序也不限于上述所述,可根据实际情况进行重组。

测试主机在USB连接后,通过USB控制被测终端启动执行顺序中的一个待执行业务,并断开USB供电线。本发明的实施方式中,PC软件通过程控电源的第一供电端断开USB的供电线而实现USB的断开,可以避免在执行业务的过程中由于USB对终端充电而对功耗测试带来影响,使得功耗测试结果更精准。

在步骤203中,等待预设时长后,获取被测终端的电源功耗数据。

本步骤中的预设时长为终端执行业务持续的时长。比方说,执行的业务为:用终端系统自带音乐播放器播放音乐60分钟,那么本次业务的预设时长为60分钟,等待预设时长之后PC软件通过程控电源来获取测终端的电源功耗数据。具体地说,程控电源根据第二供电端的电流与电压信息,计算电源功耗数据,并将此电源功耗数据返回至测试主机,供PC软件读取。

需要说明的是,被测终端测内加载有测试脚本,该测试脚本可以实现 所有需要实现的测试动作与逻辑,当被测终端接收到执行业务的指令后,会自动启动脚本程序以预设时长执行该业务,不需要人为干预,实现终端功耗测试自动化进行。

在步骤204中,恢复USB供电。具体地说测试主机通过程控电源利用第一供电端导通USB的VBUS线恢复USB供电,只有终端USB供电正常后,PC才能正常识别USB进行通讯,从而可以查询终端的执行结果。

在步骤205中,通过USB查询被测终端执行业务的执行结果。

具体地说,pc软件根据功耗值是否在预设功耗范围内来判断本次业务的执行结果。

在步骤206中,根据电源功耗数据和本次业务的执行结果,获取本次业务的功耗测试结果。

在步骤207中,判断本次业务是否为最后一个业务。PC软件完成一个业务功耗测试之后,根据软件中的脚本程序判断本次业务是否为最后一个业务,如果判断结果为是说明终端功耗测试完毕,则结束流程,否则回到步骤202控制终端自动化测试程序开始执行下一个待执行业务。具体地说,PC软件运行于测试主机内,里面预存有N个待执行业务和N个业务的执行顺序(N为大于1的自然数),测试主机在获取业务的功耗测试结果之后,通过USB控制被测终端启动执行顺序中的下一个待执行业务,直到最后一个为止。

下面以一个具体实例来说明本实施方式的具体实现流程,比如想测试手机浏览网页5分钟过程中的功耗值,具体实现流程如下:

1、将手机和PC通过USB连接;

2、编写手机侧自动化测试脚本,可以实现业务【浏览网页5分钟】、反馈测试结果。

3、编写PC测脚本,可以实现USB通断、控制手机端业务执行、数据读取。

4、搭建环境,PC启动执行此脚本。

5、通过PC侧脚本启动终端侧【浏览网页5分钟】脚本,并断开USB连接;

6、终端开始浏览网页,打开子网页,返回,依次循环,5分钟后,读取功耗值,并计算其平均值;

7、通过PC侧脚本连接USB;

8、读取【浏览网页5分钟】脚本的测试结果;

9、根据功耗值是否在预设功耗范围内的功耗结果与【浏览网页5分钟】测试结果,判断此次执行最终结果。

不难发现,本发明的实施方式,能够通过控制USB的导通和关断准确控制终端执行业务,并且能排除数据线影响,实时采集终端功耗数据,达到机械手功耗测试的效果但无需机械手与额外设备,实现低成本精准功耗自动化测试。而且通过PC软件控制终端自动化测试程序执行业务,通过编写不同的脚本可以实现多个终端同时测试,可以兼容各类型的终端,并且每个测试点可以同步的进行,相对于现有的起始同步功耗测试更精准,能够有效预防连续测试中意外情况导致的同步失败。

本发明的第二实施方式涉及一种终端的自动化功耗测试方法,第二实施方式和第一实施方式大致相同,主要区别在于:在第一实施方式中,预先在被测终端内加载测试脚本,该测试脚本包含待执行的业务与终端动作,测试主机控制终端自动化测试程序开始执行测试脚本内的业务并控制终端完成相关动作。而在第二实施方式中,测试主机控制终端开始执行指定业务,该指定业务为被测终端自带的业务功能。比如:想测试手机通话10分钟的功耗值, 具体实现流程如下:

1、将手机和PC通过USB连接;

2、编写手机侧自动化测试脚本,可以反馈测试结果。

3、编写PC测脚本,可以实现USB通断、控制手机端业务执行、数据读取。

4、搭建环境,PC启动执行此脚本。

5、通过PC侧脚本启动终端执行业务【通话10分钟】,并断开USB连接;

6、终端拨通电话,通话10分钟后,读取功耗值,并计算其平均值;

7、通过PC侧脚本连接USB;

8、读取【通话10分钟】脚本的测试结果;

9、根据功耗值是否在预设功耗范围内的功耗结果与【通话10分钟】测试结果,判断此次执行最终结果。

上述方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包含相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。

本发明第三实施方式涉及一种终端的自动化功耗测试系统,包含:测试主机、被测终端和程控电源;测试主机通过数据连接线与被测终端建立数据连接;被测终端内预先加载测试脚本,里面包含待执行的业务与终端动作;程控电源分别与测试主机和被测终端连接;

程控电源包含:与数据连接线连接的第一供电端、与被测终端连接的 第二供电端;第一供电端与数据连接线内的供电线相连;第二供电端与被测终端的电压输入端相连。

其中,测试主机如图5所示,包含:

业务控制模块,用于通过数据连接控制被测终端执行测试脚本内的业务;

连接断开模块,用于在业务控制模块控制被测终端执行测试脚本内的业务后,断开与被测终端的数据连接;连接断开模块通过程控电源断开数据连接,程控电源向连接断开模块返回被测终端的电源功耗数据;

获取模块,用于连接断开模块断开连接后,在预设时长后获取被测终端的电源功耗数据;

恢复模块,用于在获取模块获取到电源功耗数据后,恢复数据连接,并通过该数据连接从被测终端内获取该业务的执行结果;恢复模块通过程控电源恢复数据连接。

功耗检测模块,用于根据电源功耗数据和该业务的执行结果,获取该业务的功耗测试结果。

存储模块,用于预存N个待执行的业务和N个业务的执行顺序;N为大于1的自然数;

恢复模块在恢复数据连接后,通过数据连接控制被测终端启动执行顺序中的下一个待执行业务。

不难发现,本实施方式为与第一实施方式相对应的系统实施例,本实施方式可与第一实施方式互相配合实施。第一实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第一实施方式中。

值得一提的是,本实施方式中所涉及到的各模块均为逻辑模块,在实 际应用中,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现。此外,为了突出本发明的创新部分,本实施方式中并没有将与解决本发明所提出的技术问题关系不太密切的单元引入,但这并不表明本实施方式中不存在其它的单元。

本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。

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