CN106686179B - 一种基于测试自动化的手机功耗测试系统及方法 - Google Patents
一种基于测试自动化的手机功耗测试系统及方法 Download PDFInfo
- Publication number
- CN106686179B CN106686179B CN201611224591.6A CN201611224591A CN106686179B CN 106686179 B CN106686179 B CN 106686179B CN 201611224591 A CN201611224591 A CN 201611224591A CN 106686179 B CN106686179 B CN 106686179B
- Authority
- CN
- China
- Prior art keywords
- power consumption
- data
- test
- mobile phone
- code
- 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
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 126
- 238000000034 method Methods 0.000 title claims abstract description 22
- 238000005259 measurement Methods 0.000 claims abstract description 50
- 238000013515 script Methods 0.000 claims abstract description 18
- 230000002688 persistence Effects 0.000 claims abstract description 7
- 230000003111 delayed effect Effects 0.000 claims description 26
- 238000005265 energy consumption Methods 0.000 claims description 18
- 230000006870 function Effects 0.000 claims description 14
- 238000004422 calculation algorithm Methods 0.000 claims description 12
- 238000007405 data analysis Methods 0.000 claims description 10
- 238000010998 test method Methods 0.000 claims description 10
- 230000009191 jumping Effects 0.000 claims description 7
- 238000004458 analytical method Methods 0.000 claims description 6
- 238000005538 encapsulation Methods 0.000 claims description 3
- 238000004364 calculation method Methods 0.000 claims description 2
- 238000003780 insertion Methods 0.000 claims description 2
- 230000037431 insertion Effects 0.000 claims description 2
- 238000004891 communication Methods 0.000 claims 1
- 238000012545 processing Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 239000011159 matrix material Substances 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 238000012935 Averaging Methods 0.000 description 1
- 238000010835 comparative analysis Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 230000005662 electromechanics Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000013152 interventional procedure Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/24—Arrangements for testing
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开了一种基于测试自动化的手机功耗测试系统及方法,其中该系统包括:手机的自动控制界面,功耗测试设备的自动控制界面,自动化脚本,数据同步对应及持久化。本发明不需要人工手动地对手机和功耗测量设备进行操作,只需利用自动化脚本进行控制即可,还可以解决人工手动控制带来测量不同步的问题,并且可以同时对多台手机进行测试,提高了功耗测试的效率。
Description
技术领域
本发明属于手机功耗测试领域,具体涉及手机自动化能耗测试系统。
背景技术
随着科技的进步和手机的普及,人们在日常生活和工作学习中,对手机的依赖性日益增强,如今手机已经成为人们生活的一部分。于此同时,人们对手机性能的需求也日益提升。手机CPU的性能飞速发展,直到近年手机CPU性能提升速度有所放缓。这主要是由于手机电池的能量密度提升缓慢,在续航性能的要求下,手机CPU的性能受到了制约。
手机性能的要求和续航性能的需求成为了一组对立的矛盾。如何让有限的电量发挥最大的价值,即系统和程序对手机能耗的利用如何能够更加有效,成为了值得手机生产商、硬件生产商和手机开发者共同重视的问题。
对于手机程序开发者来说,可以通过对手机的能耗曲线和手机的trace文件进行对比分析,研究得出手机程序某指令与其对应的能耗,对程序耗能进行优化;对于硬件生产商和手机生产商来说,可以通过对手机的能耗曲线和手机硬件的工作情况,来研究手机程序对各个硬件的能耗情况,从而对手机硬件进行优化和升级。
为了让开发者及生产商更好的看出程序或硬件工作模式对手机电量的消耗,需要在不同型号的多个手机上进行能耗的分析,但是目前能耗的自动化测试系统尚处空缺,同时,功耗曲线和手机程序运行状态的同步;问题也没有一个通行的解决方法。
鉴于上述背景,为了给出一个通行的能耗与程序的同步方法,并且进行批量自动化测试,本发明设计了一个基于测试自动化的手机功耗测试系统。在预先设计脚本后,自动对不同手机程序或命令进行测试,并且与能耗曲线进行同步比对,方便生产商、开发者对硬件和程序的能耗进行更全面和深入的分析。
发明内容
本发明所要解决的技术问题是:提供一种基于测试自动化的手机功耗测试系统,该方法不需要人工手动地对手机和功耗测量设备进行操作,只需利用自动化脚本进行控制即可,还可以解决人工手动控制带来测量不同步的问题,并且可以同时对多台手机进行测试,提高了功耗测试的效率。
本发明为解决上述技术问题采用以下技术方案:
一种基于测试自动化的手机功耗测试系统,包括如下步骤:
步骤1,利用测试自动化的框架编写用于切换测试手机功耗的不同场景的自动化脚本,如打开蓝牙、打开wifi和关闭数据流量,并把这些功能封装成用户界面,对用户界面上的控件进行的操作、通过连接的数据线传入手机中,手机自动完成不同的功耗测试所需的场景的切换;
步骤2,将功耗测量设备与计算机相连接,编写用于控制功耗测试设备的代码实现诸如开始测试和停止测试,并将这些代码封装成用户界面;
步骤3,编写自动化的脚本来模拟用户的鼠标和键盘操作(如利用鼠标对步骤1、2中的用户界面的点击操作,实现手机场景的切换、打开功耗测试仪器等操作),并将一系列的对手机和功耗测试仪器的控制操作进行封装,最后利用封装后的自动化脚本对两个用户界面进行自动化的控制从而实现对手机和功耗测量设备的自动化控制;
步骤4,将所述步骤3中通过自动化的测量的得到数据与手机运行的日志文件和trace文件进行同步对应、并持久化,用于进一步地分析手机的硬件和代码的具体功耗。
作为本发明的一种优选方案,所述步骤1、2的计算机与手机以及功耗测试设备的连接方式为:计算机与手机以及功耗测试设备的连接上通过有线的方式连接,这样可以最大程度地减少互相通信带来的时延。
作为本发明的一种优选方案,步骤3中所述自动化的测试过程为:自动化脚本模拟用户对手机和功耗测量设备的操作,每次对手机测量场景的切换的同时,打开功耗测试设备,并记录手机此时的功耗,实现数据测量上的同步。
作为本发明的一种优选方案,步骤3中所述自动化的测试过程为:对手机功耗的测量时,不限于一台手机,而是可以同时编写不同的脚本语言来同时控制不同的手机和功耗测量设备;其中一台手机必须对应与一台功耗测量设备或功耗测量设备的一个输入端口。
作为本发明的一种优选方案,步骤3中所述自动化的测试过程为:在手机进行测试场景的切换之前,先打开功耗测量设备进行测量,并在一个统一的固定延时t之后把手机切换到对应的测试场景。
作为本发明的一种优选方案,步骤4中所述自动化的同步对应过程为:将功耗测量数据延时固定时延t之后,使与手机实际功耗同步。
一种基于测试自动化的手机功耗测试系统,包括:
数据分析与控制模块,包括第一子模块和第二子模块,其中第一子模块与待测手机连接,用于控制手机的运行模式,并获取手机内的trace文件和日志文件,并基于trace文件和日志文件获取程序运行的时间;
第二子模块用于控制功耗测量模块的运行,并获取功耗测量模块的测量数据;
功耗测量模块,与待测手机连接,用于测量手机在不同情况下的功耗情况。
进一步的实施例中,所述第一子模块用于根据实际功耗曲线,与trace文件进行比对,找到特定代码的运行起止时间;
所述第二子模块用于利用功耗测试设备测量代码运行时间10倍的功耗数据,并将该功耗数据按时间分为前后两段,前半段数据为代码功耗测试数据,后半段为空闲阶段功耗测试数据;利用系统空闲阶段的周期性跳变,将代码功耗测试数据与空闲阶段功耗测试数据进行同步,从而得到两者的同步时延;得到的同步时延与系统空闲阶段的功耗的周期性跳变都具有周期性,利用同步时延的周期性,改变同步时延的周期数目,得到由代码功耗数据减去空闲阶段的功耗数据得到的实际功耗数据,并对这实际功耗数据利用DBSCAN算法进行去噪,然后取均值,得到最终的实际功耗数据。
一种基于测试自动化的手机功耗测试方法,通过基于测试自动化的手机功耗测试系统,所述手机功耗测试系统包括:
数据分析与控制模块,包括第一子模块和第二子模块,其中第一子模块与待测手机连接,用于控制手机的运行模式,并获取手机内的trace文件和日志文件,并基于trace文件和日志文件获取程序运行的时间;
第二子模块用于控制功耗测量模块的运行,并获取功耗测量模块的测量数据;
功耗测量模块,与待测手机连接,用于测量手机在不同情况下的功耗情况;
所述手机功耗测试方法包括如下步骤:
步骤1、连接待测试手机、数据分析与控制模块,以及功耗测量模块;
步骤2、通过数据分析与控制模块控制待测试手机的运行模式,使待测试手机运行预定的时间;通过数据分析与控制模块获取功耗测量模块的功耗数据,以及待测试手机的trace文件和日志文件;根据功耗数据计算待测试程序的功耗曲线;根据trace文件和日志文件获取程序运行的时间;
步骤3、根据功耗曲线和程序运行时间计算程序执行期间的总功耗。
优选的,所述步骤2进一步为:
步骤21,利用功耗测试设备测量代码运行时间10倍的功耗数据,并将该功耗数据按时间分为前后两段,前半段数据为代码功耗测试数据,后半段为空闲阶段功耗测试数据;利用系统空闲阶段的周期性跳变,将代码功耗测试数据与空闲阶段功耗测试数据进行同步,从而得到两者的同步时延;
步骤22,步骤21得到的同步时延与系统空闲阶段的功耗的周期性跳变都具有周期性,利用同步时延的周期性,改变同步时延的周期数目,得到由代码功耗数据减去空闲阶段的功耗数据得到的实际功耗数据,并对这实际功耗数据利用DBSCAN算法进行去噪,然后取均值,得到最终的实际功耗数据;结合步骤22得到的实际功耗曲线,与trace文件进行比对,找到特定代码的运行起止时间。
优选的,所述步骤2进一步为:
步骤21、将最终的测量功耗数据按时间分成两等份,其中第一份为代码功耗数据,第二部分为空闲功耗数据,并将空闲功耗数据延时不同的时间,并分别计算延时后的空闲功耗数据与代码功耗数据之间的相关系数,该相关数据具有周期性,取最小的正延时作为最终的最小同步时延;
步骤22、利用所述步21得到的最小同步时延,加上若干空闲功耗的跳变周期,得到一系列新的同步时延,并基于这一系列同步时延对空闲功耗曲线进行延时,得到一系列新的空闲功耗曲线,并将代码功耗曲线分别与这些空闲功耗相减,得到一系列实际功耗曲线;
将所述步骤22中得到的一系列实际功耗曲线通过DBSCAN聚类算法进行聚类,并把所得最大的聚类里的数据取均值,作为去除噪声后的实际功耗数据;
在需要测量的代码中嵌入记录该代码执行情况的trace代码,并在程序执行结束后,根据最后得到的trace文件分析特定代码的起止时间,然后对所述步骤22得到的实际功耗曲线进行积分得到该代码的能耗。本发明采用以上技术方案与现有技术相比,具有以下技术效果:
1、本发明基于测试自动化的手机功耗测试系统,不需要人为地介入操作,能够自动化地切换并测试不同的场景下的手机功耗。
2、本发明基于测试自动化的手机功耗测试系统,利用脚本在手机场景切换的同时,打开功耗测试设备进行测试,能够极大程度地保证功耗测量设备的测量数据与手机实际功耗的同步性。
3、本发明基于测试自动化的手机功耗测试系统,可以利用自动化脚本实现同时对多台手机不同应用场景下的功耗测试,使得功耗测试的效率大大提高。
附图说明
图1:本发明基于测试自动化的手机功耗测试系统的系统框架图。
图2:实施例中采用本发明实现自动化地测试手机功耗的流程图。
具体实施方式
下面详细描述本发明的实施方式,所述实施方式的示例在附图中示出。下面通过参考附图描述的实施方式是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本发明是基于以下方式实现的:一种基于测试自动化的手机功耗测试系统,包括:
数据分析与控制模块,包括第一子模块和第二子模块,其中第一子模块与待测手机连接,用于控制手机的运行模式,并获取手机内的trace文件和日志文件,并基于trace文件和日志文件获取程序运行的时间;第二子模块用于控制功耗测量模块的运行,并获取功耗测量模块的测量数据;
功耗测量模块,与待测手机连接,用于测量手机在不同情况下的功耗情况。
也就是说,本发明通过一个与待测手机连接的功耗测量模块获取手机测试过程中的功率,得到功率曲线。同时通过一个控制模块对待测手机的运行模块进行控制,对功耗测量模块进行控制,从而能够进行自动化测试。
具体地,通过自动化控制手机的运行模式,并记录特定运行模式下的功率消耗情况和代码运行情况,可以统计代码运行时所消耗的功率,进行有针对性的对代码进行优化。
以下通过一个具体案例说明控制方式和控制过程。
在某个实施例中,一种基于测试自动化的手机功耗测试系统,包括:手机的自动控制界面,功耗测试设备的自动控制界面,自动化脚本,数据同步对应及持久化。所述手机的自动控制界面,利用测试自动化的框架实现对手机测试场景的切换;功耗测试设备的自动控制界面包含对功耗测量设备的开启、关闭等操作;自动化脚本(控制模块)用于模拟用户键鼠操作实现对手机及功耗测试设备的控制界面的自动化操作;数据对应及持久化将功耗测量数据与手机日志及trace文件同步并做持久化处理。
进一步地,所述手机功耗测试之前,首先将待测试手机、功耗测量设备与电脑连接,同时将手机电池正负极与功耗测试设备连接以测量手机的功耗。手机以及功耗测量设备与计算机之间的连接方式可以是有线的,如数据线等,也可以是无线的,如wifi、蓝牙等。可以同时连接多台手机到计算机,要求每台手机对应于唯一的功耗测量设备或功耗测量设备唯一的输入端口,以保证功耗测量的互不干扰性。编写手机以及功耗测量设备的控制界面。其中手机控制界面需要封装一系列功耗测试场景切换的功能,如打开关闭wifi、打开关闭数据流量、上传下载数据等。功耗测量设备的控制界面需要实现对功耗测量设备的一系列功能的封装,如打开供电、关闭供电、开始测量、结束测量等。手机和功耗测量设备的控制界面包含的功能不限于以上的功能,可以增加其他需要的功能。
对于安卓平台,测试自动化的框架可以选择android driver或者其他可选的测试自动化框架;对于iOS平台可以选择UIAutomation或者其他可选的测试自动化框架。对于功耗测量设备,可以选择本身就带有配套的控制界面的测量设备。
进一步地,通过编写自动化的脚本来模拟用户对手机以及测量设备控制界面的操作,以实现一系列不同场景下的针对不同硬件或者软件代码等的功耗的自动化测试。可以编写并发运行的脚本实现同时对多个手机和多个功耗测量设备的控制。并且在每次手机测试场景切换时,功耗测量设备均要提前t打开,并在每次场景切换时,保持t不变。
可以基于Quik Macro等自动化脚本框架编写自动化脚本。每个测试场景下测量数据向右做t的延时操作,然后与手机的日志、trace文件等进行对应,然后做持久化处理,用于后续的功耗分析与计算。
总之,本发明主要通过一功耗测量系统来实现数据测量与分析,该功耗测量系统与测试手机连接,采集相关数据。
具体地,通过数据处理模块采集第一时间测试时间段的消耗功率和第二时间段的消耗功率,其中,在第一测试时间段内,待测程序运行;第二测试时间段内,待测程序不运行。因此第一测试时间段的消耗功率包括系统自身运行所需的功率和待测程序运行所需的功率;第二测试时间段的消耗功率为系统自身运行所需的功率。为了提高测量的准确性,第一测试时间为待测程序运行时间的3倍以上。通过求平均的方式减少测量误差。
理论上,为了提高测试的准确性,第一时间段内的系统自身运行消耗的功率应等于第二时间段内的系统自身运行消耗的功率,从而能够准确计算出待测程序运行所消耗的功率。但是实际上,第一测试时间段内,系统本身运行的代码和第二时间段内的不完全相同,消耗的功率会略有差别。为了减少误差,可以通过延长第一测试时间和第二测试时间,同时通过相关的算法对数据进行清洗,减少明显的偏差。
在第一测试时间段内,待测程序中的相关单元运行若干次,为了计算待测程序中的各个单元的耗能情况,采集trace文件中的数据,提取代码运行时间,通过各个代码运行时间和对应该时间内的功率消耗,计算各个单元的总耗能,从而对各个单元的耗能情况进行统计,如果某个单元的耗能过高,可以针对该单元进行代码优化,从而降低程序的功耗。
总之,本发明的主要过程如上所述,通过采集系统的功耗数据,以及trace文件中软件代码的运行时间,对代码的功耗进行统计,从而获得耗能情况。进而有针对性的进行优化。
在某个案例中,一种基于trace文件的代码功耗测试方法,包括如下步骤:功耗数据的测量与同步时延的计算,计算实际功耗数据并去噪,代码的功耗的计算。
功耗数据的测量与同步时延的计算,利用系统空闲时间的周期性功耗跳变进行提取;计算实际功耗数据并去噪采用“基于DBSCAN的数据去噪”方法进行筛选;基于trace文件代码的功耗的计算利用trace文件与去噪后的实际功耗曲线相结合进行计算。
所述功耗数据的测量过程中,首先关闭被测试手机的所有后台软件以减少其他软件对功耗测试带来的影响,待系统稳定后执行待测试的代码,并同时利用功耗测试设备记录手机功耗数据,并在代码执行结束后继续记录功耗数据,一直到200s为止。
功耗记录的时间可以为其他数字,但要保证至少是代码总共运行的时间的至少4倍及以上,并且在后半段时间内至少出现20次及以上的空闲功耗的周期性跳变,以获得准确的同步时延与去噪效果。
所述同步时延的计算过程中,首先将测量的功耗数据按照时间先后顺序等分为P1与P2两部分,其中P1除了包含有代码运行的功耗外,还包括了代码运行结束后的空闲功耗数据,P2则只含有空闲功耗数据。对P2进行不同程度地延时,并分别计算与P1计算相关系数,由于空闲功耗曲线周期性地功耗跳变,所获得的相关系数也具有周期性,把相关系数在第一个正周期时间内得到最大值的时间点记为最小同步时延tδ。
进一步地,所述计算实际功耗数据并去噪过程中,利用DBSCAN算法的良好的去噪性能进行噪声的去除。首先,基于最小同步时延tδ得到通用的同步时延t’。并利用t’对P2进行不同程度地延时得到一系列不同地空闲功耗曲线,再将P1减去这些空闲功耗曲线得到一系列实际能耗曲线(功耗数据)P0。
t’=(tδ+t0×n),
P0=P1-P2(t-t’),
其中,t0表示空闲功耗数据地跳变周期,t是一个变量表示时间,n∈Z,当同步时延t’为负数时表示对时间序列进行左移处理,当t’为正数时表示对时间序列进行右移处理。
将n取34个不同地数值,得到34个不同的P0数据,并对这些数据按照时间维度进行加窗,并对窗口内的数据进行DBSCAN算法聚类,保留最大的聚类并取均值,作为该窗口内去噪后的实际功耗数据。接着滑动窗口,对下一个窗口内的数据进行处理,直到处理完所有的数据。
其中,利用DBSCAN去噪的算法中有四个重要的参数,分别是以P为中心点的邻域内的最少点的数量minPts、num、半径eps、rate。minPts表示核心点指定区域内密度最低值,num表示某一点指定区域内的密度值,eps为指定区域的半径,rate是对指定区域半径的修正系数。在DBSCAN算法中,对与一个给定的点,以该点为圆心,以eps为半径的范围内的其他点的个数记为nd,当nd大于等于minPts时,记该点为核心点;本次项目中,nd大于1而小于minPts时,记该点为边界点,边界点的分类需要根据它能够密度可达的核心点的分类决定;当nd小于1时,该点为不属于任何分类的噪声点。其中半径eps的选取方式如下:
epsn=eps×rate,
其中,该公式中的X表示需要聚类的向量集合所形成的矩阵,n是向量的维数,m是向量的个数。max(X)是X矩阵每个维度最大的数值形成的新的向量,min(X)是X矩阵每个维度最小的数值形成的新的向量,prod用以计算向量各个维度的乘积。为了能够动态调整该算法的去噪效果,利用rate对eps进行约束,得到新的epsn。
可选地,minPts、num、eps、rate都不是固定值,可以根据数据量的规模调整,直到取得良好的去噪效果为止。
进一步地,在所述代码的功耗的计算时,根据trace文件中代码的执行起止时间,与去噪后的P0数据对照,并对去噪后的P0进行梯形积分,得到被测试的特定代码的执行总能耗,然后利用总能耗对时间取均值,得到该代码执行期间的平均功耗。
以上实施例仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明保护范围之内。以上详细描述了本发明的优选实施方式,但是,本发明并不限于上述实施方式中的具体细节,在本发明的技术构思范围内,可以对本发明的技术方案进行多种等同变换,这些等同变换均属于本发明的保护范围。另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本发明对各种可能的组合方式不再另行说明。
Claims (8)
1.一种基于测试自动化的手机功耗测试系统,其特征在于,包括:
数据分析与控制模块,包括第一子模块和第二子模块,其中第一子模块与待测手机连接,用于控制手机的运行模式,并获取手机内的trace文件和日志文件,并基于trace文件和日志文件获取程序运行的时间;
第二子模块用于控制功耗测量模块的运行,并获取功耗测量模块的测量数据;
功耗测量模块,与待测手机连接,用于测量手机在不同情况下的功耗情况;
所述第一子模块用于根据实际功耗曲线,与trace文件进行比对,找到特定代码的运行起止时间;
所述第二子模块用于利用功耗测试设备测量代码运行时间10倍的功耗数据,并将该功耗数据按时间分为前后两段,前半段数据为代码功耗测试数据,后半段为空闲阶段功耗测试数据;利用系统空闲阶段的周期性跳变,将代码功耗测试数据与空闲阶段功耗测试数据进行同步,从而得到两者的同步时延;得到的同步时延与系统空闲阶段的功耗的周期性跳变都具有周期性,利用同步时延的周期性,改变同步时延的周期数目,得到由代码功耗数据减去空闲阶段的功耗数据得到的实际功耗数据,并对这实际功耗数据利用DBSCAN算法进行去噪,然后取均值,得到最终的实际功耗数据。
2.一种如权利要求1所述的基于测试自动化的手机功耗测试系统的测试方法,其特征在于,包括如下步骤:
步骤1、连接待测试手机、数据分析与控制模块,以及功耗测量模块;
步骤2、通过数据分析与控制模块控制待测试手机的运行模式,使待测试手机运行预定的时间;通过数据分析与控制模块获取功耗测量模块的功耗数据,以及待测试手机的trace文件和日志文件;根据功耗数据计算待测试程序的功耗曲线;根据trace文件和日志文件获取程序运行的时间;
步骤3、根据功耗曲线和程序运行时间计算程序执行期间的总功耗;
所述步骤2进一步为:
步骤21,利用功耗测试设备测量代码运行时间10倍的功耗数据,并将该功耗数据按时间分为前后两段,前半段数据为代码功耗测试数据,后半段为空闲阶段功耗测试数据;利用系统空闲阶段的周期性跳变,将代码功耗测试数据与空闲阶段功耗测试数据进行同步,从而得到两者的同步时延;
步骤22,步骤21得到的同步时延与系统空闲阶段的功耗的周期性跳变都具有周期性,利用同步时延的周期性,改变同步时延的周期数目,得到由代码功耗数据减去空闲阶段的功耗数据得到的实际功耗数据,并对这实际功耗数据利用DBSCAN算法进行去噪,然后取均值,得到最终的实际功耗数据;结合步骤22得到的实际功耗曲线,与trace文件进行比对,找到特定代码的运行起止时间。
3.根据权利要求2所述的基于测试自动化的手机功耗测试方法,其特征在于,所述步骤2替换为:
步骤21、将最终的测量功耗数据按时间分成两等份,其中第一份为代码功耗数据,第二部分为空闲功耗数据,并将空闲功耗数据延时不同的时间,并分别计算延时后的空闲功耗数据与代码功耗数据之间的相关系数,该相关系数具有周期性,取最小的正延时作为最终的最小同步时延;
步骤22、利用所述步骤21得到的最小同步时延,加上若干空闲功耗的跳变周期,得到一系列新的同步时延,并基于这一系列同步时延对空闲功耗曲线进行延时,得到一系列新的空闲功耗曲线,并将代码功耗曲线分别与这些空闲功耗相减,得到一系列实际功耗曲线;
将所述步骤22中得到的一系列实际功耗曲线通过DBSCAN聚类算法进行聚类,并把所得最大的聚类里的数据取均值,作为去除噪声后的实际功耗数据;
在需要测量的代码中嵌入记录该代码执行情况的trace代码,并在程序执行结束后,根据最后得到的trace文件分析特定代码的起止时间,然后对所述步骤22得到的实际功耗曲线进行积分得到该代码的能耗。
4.根据权利要求1所述的基于测试自动化的手机功耗测试系统的测试方法,其特征在于,包括如下步骤:
步骤1,基于测试自动化的框架,编写可以在计算机上运行的用户界面,用户可以通过对界面的操作实现对手机的控制和操作;
步骤2,通过编写用户界面,可以通过计算机对功耗测量设备进行实时控制,以及两者之间的通信;
步骤3,结合步骤1、2得到的两个用户界面,编写脚本语言模拟用户对两个用户界面的操作,实现自动化功耗测试;
步骤4,将步骤3功耗测量设备得到的测试数据,与手机的trace文件和日志文件进行比对,分析手机功耗。
5.根据权利要求4所述基于测试自动化的手机功耗测试方法,其特征在于,所述步骤2的具体过程为:利用测试自动化的框架编写用于切换测试手机功耗的不同场景的自动化脚本,并把这些功能封装成用户界面,对用户界面上的控件进行的操作、通过连接的数据线传入手机中,手机自动完成不同的功耗测试所需的场景的切换。
6.根据权利要求4所述基于测试自动化的手机功耗测试方法,其特征在于,步骤2中具体过程为:将功耗测量设备与计算机相连接,编写用于控制功耗测试设备的代码实现开始测试和停止测试功能,并将这些代码封装成用户界面。
7.根据权利要求4所述基于测试自动化的手机功耗测试方法,其特征在于,所述步骤3的具体过程为:编写自动化的脚本来模拟用户的鼠标和键盘操作,包括利用鼠标对步骤1、2中的用户界面的点击操作,实现手机场景的切换和打开功耗测试仪器的操作,并将一系列的对手机和功耗测试仪器的控制操作进行封装,最后利用封装后的自动化脚本对两个用户界面进行自动化的控制从而实现对手机和功耗测量设备的自动化控制。
8.根据权利要求4所述基于测试自动化的手机功耗测试方法,其特征在于,所述步骤4的具体过程为:将所述步骤3中通过自动化的测量的得到数据与手机运行的日志文件和trace文件进行同步对应、并持久化,用于进一步地分析手机的硬件和代码的具体功耗。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611224591.6A CN106686179B (zh) | 2016-12-27 | 2016-12-27 | 一种基于测试自动化的手机功耗测试系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611224591.6A CN106686179B (zh) | 2016-12-27 | 2016-12-27 | 一种基于测试自动化的手机功耗测试系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106686179A CN106686179A (zh) | 2017-05-17 |
CN106686179B true CN106686179B (zh) | 2019-06-21 |
Family
ID=58871678
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611224591.6A Active CN106686179B (zh) | 2016-12-27 | 2016-12-27 | 一种基于测试自动化的手机功耗测试系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106686179B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019127081A1 (zh) * | 2017-12-27 | 2019-07-04 | 深圳前海达闼云端智能科技有限公司 | 智能终端的功耗稳定方法、其装置及电子设备 |
CN109541295A (zh) * | 2018-10-16 | 2019-03-29 | 深圳壹账通智能科技有限公司 | 测量移动设备功耗的系统和方法 |
CN109933494A (zh) * | 2019-03-28 | 2019-06-25 | 晶晨半导体(上海)股份有限公司 | 硬件设备的功耗测试方法及系统 |
CN112130086B (zh) * | 2020-05-29 | 2023-10-31 | 国家电网有限公司 | 一种动力电池剩余寿命预测方法及系统 |
CN114627955B (zh) * | 2022-05-06 | 2022-10-28 | 长鑫存储技术有限公司 | 功耗测试方法、装置、设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102156530A (zh) * | 2010-09-30 | 2011-08-17 | 华为终端有限公司 | 移动终端的功耗管理方法和装置 |
CN103179241A (zh) * | 2013-03-08 | 2013-06-26 | 百度在线网络技术(北京)有限公司 | 一种移动终端功耗的自动化测试方法和系统 |
WO2014105303A1 (en) * | 2012-12-27 | 2014-07-03 | Intel Corporation | Methods, systems and apparatus to manage power consumption of a graphics engine |
CN104461849A (zh) * | 2014-12-08 | 2015-03-25 | 东南大学 | 一种移动处理器上cpu与gpu软件功耗测量方法 |
CN205407947U (zh) * | 2016-03-10 | 2016-07-27 | 北京易诚高科科技发展有限公司 | 手机功耗测试仪 |
-
2016
- 2016-12-27 CN CN201611224591.6A patent/CN106686179B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102156530A (zh) * | 2010-09-30 | 2011-08-17 | 华为终端有限公司 | 移动终端的功耗管理方法和装置 |
WO2014105303A1 (en) * | 2012-12-27 | 2014-07-03 | Intel Corporation | Methods, systems and apparatus to manage power consumption of a graphics engine |
CN103179241A (zh) * | 2013-03-08 | 2013-06-26 | 百度在线网络技术(北京)有限公司 | 一种移动终端功耗的自动化测试方法和系统 |
CN104461849A (zh) * | 2014-12-08 | 2015-03-25 | 东南大学 | 一种移动处理器上cpu与gpu软件功耗测量方法 |
CN205407947U (zh) * | 2016-03-10 | 2016-07-27 | 北京易诚高科科技发展有限公司 | 手机功耗测试仪 |
Non-Patent Citations (3)
Title |
---|
Android智能手机能耗机制分析与建模技术研究;何兴诗;《中国优秀硕士学位论文全文数据库》;20160315(第03期);第三至五章 |
基于Android系统的能耗计算研究;王双星;《中国优秀硕士学位论文全文数据库》;20150715(第07期);第三、四章 |
智能终端功耗自动化测试系统的研究与设计;刘鑫正;《电子测量技术》;20140930(第37卷第9期);全文 |
Also Published As
Publication number | Publication date |
---|---|
CN106686179A (zh) | 2017-05-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106686179B (zh) | 一种基于测试自动化的手机功耗测试系统及方法 | |
CN106645978B (zh) | 智能穿戴设备的穿戴状态检测方法及检测装置 | |
Han et al. | E3: Energy-efficient engine for frame rate adaptation on smartphones | |
CN104580710B (zh) | 一种基于学习用户操作习惯的自动省电方法 | |
CN110376429A (zh) | 一种识别家用电器使用状态的方法 | |
CN105183139A (zh) | 一种应用程序自动关闭方法、系统和移动终端 | |
US8522183B1 (en) | Static timing analysis adjustments for aging effects | |
TWI393894B (zh) | 識別迴路上電器用電行為的方法、系統與電腦程式產品 | |
Yu et al. | Sensing human-screen interaction for energy-efficient frame rate adaptation on smartphones | |
CN105630797B (zh) | 数据处理方法及系统 | |
CN113626200A (zh) | 任务负载计算方法、装置、存储介质以及终端 | |
CN103974112B (zh) | 一种电视机控制方法及装置 | |
CN106598222A (zh) | 一种场景模式的切换方法和系统 | |
CN103458117B (zh) | 移动终端的屏幕超时时间的设置方法及移动终端 | |
CN107276785A (zh) | 一种无线局域网优化方法及装置 | |
Ardestani et al. | Thermal-aware sampling in architectural simulation | |
CN107252323A (zh) | 女性生理周期的预测方法、装置及用户设备 | |
CN105848205B (zh) | 一种按照通话流程修正的mr定位精度提升方法及装置 | |
CN116029491B (zh) | 一种电力调度管理系统及其控制方法 | |
CN109199325A (zh) | 一种睡眠监测方法及装置 | |
CN106096013A (zh) | 基于电磁环境数据库的频率查询及规划方法 | |
CN100556171C (zh) | 第三代移动通信系统网络层性能的快速仿真方法 | |
CN106649115B (zh) | 一种基于trace文件的代码功耗测试方法 | |
Brini et al. | A model-based approach for the design of ultra-low power wireless sensor nodes | |
Papageorgiou et al. | Invoking web services based on energy consumption models |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |