手機和移動設備的耗電量自動化測試方法

發表于:2013-01-22來源:百度質量部作者:不詳點擊數: 標簽:自動化測試
手機和移動設備的耗電量自動化測試方法1.簡介 耗電量測試背景 耗電量測試是手機測試中必不可少的一項,當前的手機耗電量測試主要為手工測試,隨著手機產品線的增多,人力的投入非常大。為解決多產品線耗電量測試耗費的大量人力及時間成本,

  1.簡介

  耗電量測試背景

  耗電量測試是手機測試中必不可少的一項,當前的手機耗電量測試主要為手工測試,隨著手機產品線的增多,人力的投入非常大。為解決多產品線耗電量測試耗費的大量人力及時間成本,采用了自動化測試方案,完成測試用例的自動選擇和組合,并自動產生數據記錄、分析以及生成報告,大大減少了測試的人力成本,提高了測試效率。

  工具應用場景

  本工具適用于:

  1) 手機系統快速迭代,產品數量急速增加,由此帶來的耗電量測試需求旺盛、周

  期快和測試人力資源短缺的環境。

  2) 手機產品周期性的耗電量測試需求。

  2. 測試環境搭建

  PC與測試儀使用USB連接,PC控制測試儀進行電流輸出并采集測試數據及波形圖;待測手機不安裝電池,由Agilent測試儀進行供電并記錄手機的工作電流;手機與PC間并無連接,通過預設的時間戳完成操作間嚴格同步。設備連接圖如下:

  3. 實現原理

  耗電量自動化測試工具由手機端和PC端兩部分組成,PC端和手機端同步運行。手機端使用Café自動化測試框架,對不同測試CASE進行測試環境的設置和清理。PC端負責與設備連接,記錄測試數據并保存,測試完畢后分析測試結果并自動生成報告。流程圖如下:

  注:Cafe測試框架是一款具有開創性意義的Android平臺的自動化測試框架,框架覆蓋了Android自動化測試的各種需求??蚣苤铝τ趯崿F跨進程測試、快速測試、深度測試,解決了Android自動化測試中的諸多難題,比如業界一直沒有解決的跨進程測試問題

  4. 問題與實現細節

  如何模擬CPU睡眠

  1) 手動測試耗電量通過按下power鍵,等待5秒的方式來使CPU睡眠,測試此時電流是否符合CPU睡眠時的電流,由此可以判斷CPU是否處于睡眠狀態。

  2) 如何用程序模擬CPU睡眠?我們知道,CPU處于睡眠狀態,程序無法運行,即如何通過程序在CPU睡眠之后,到達一定時間后,將其喚醒。

  解決方案:

  1) 若嚴格模擬手工測試,保持程序持續運行,CPU無法處于睡眠狀態,無法模擬真實的手機待機環境

  2) 通過對android源碼中鬧鐘的研究,采用鬧鐘機制,定時喚醒CPU,從而保證了整個自動化耗電量測試的測試過程中,CPU能夠正常睡眠。(真正模擬了手工測試時的環境)

  CPU睡眠判斷問題

  1) 測試用例正常執行的時候,CPU睡眠時,程序停止運行,CPU被定時器喚醒后代碼繼續執行

  2) 測試用例異常執行的時候,所引起的CPU沒有正常進入睡眠狀態,程序不會停止運行,此時一條測試用例很快執行完畢。

  3) 由于CPU沒有睡眠,異常執行結果顯示fail,測試用例進入下一條繼續執行,從而打亂其他測試用例的執行時間,出現一條測試用例fail,后續測試用例全部fail的情況。

  解決方案:

  1) 通過對CPU睡眠前后的時間的判斷來確定當前測試用例運行情況,若此時間符合CPU睡眠后的時間值,則判斷用例執行正常

  2) 若此時間小于一定的時間值,則可直接判定CPU沒有睡眠,程序提前跑到了此時間斷點,用例執行失敗

  3) 針對失敗的用例,獲取CPU wake_lock,補充睡眠時間,使本來失敗的用例運行之間符合成功用例所用時間,從而解除了測試用例之間的耦合

  同步問題

  1) 耗電量測試,手機供電由測試儀器提供,無法通過USB將手機連接至電腦(USB連接會產生充電效果),故手機無法與PC通信,PC端無法獲知測試用例的執行情況

  2) 耗電量測量由PC端與電流測試供電器連接,通過供電器測試到的電路結果反饋給PC端,PC端進行相應輸出結果,這個過程中,手機和PC無法通過USB連接來通信,導致難以同步。

  解決方案:

  1) 使用時間戳的方式來同步,對于每一個測試用例設置一個嚴格的測試時間,

  2) 測試用例的測試階段分為設置環境時間,測試時間及緩沖時間,通過對時間戳的嚴格把控,實現了無通信狀態下的同步。

  功耗測試設備連接

  1) 設備只提供了簡單的操作和記錄,無法對測試用例進行自動控制及數據記錄。

  2) 設備無法自行生成測試報告

  解決方案:

  1) 通過調用COM組件,獲取相應操作的接口,實現對設備的控制

  2) 從EXCEL中讀取測試需要的測試用例的相關信息,再配置對應的參數,控制設備進行測量,記錄,波形保存等

  3) 與歷史數據進行對比,進行分析并生成報告。

  5. 創新點

  打通耗電量測試的自動化全流程,形成一套完整的自動化工作流,節省大量的人力成本。目前尚未聽說其他公司的耗電量測試有實現自動化。

  通過代碼,實現了CPU睡眠,喚醒等操作,并且通過對時間的判斷,確定case的執行結果是否有效,從而解決了電流測試自動化的難題,真正的做到模擬了手工測試時的環境。

  在手機和PC端不同通信的情況下,通過對時間戳的控制,達到了測試CASE運行與PC段耗電量數據記錄的準確同步(誤差會在每次CASE結束的時候得到糾正,從而使得測試CASE的時間很準確)。

  能夠在PC端實現對測試結果的記錄和分析,將結果保存在EXECL表中,將電流圖以時間為名字記錄在執行磁盤上,測試結束后可以通過對結果的分析,找到相應的電流圖,分析其異常原因,并且能夠根據測試結果,與原生android系統的測試結果進行比對,輸出測試報告。

  整個自動化測試工具簡潔可靠,使用方便,學習成本低,能夠很快上手,進行測試,測試結果準確。

  執行CASE可以根據需求,讓用戶根據需求,目的,自行選擇CASE的組合執行,使得整個測試更加有效率。

  6. 應用效果

  工具投入日常測試后,每條產品線每周可節約4小時,人工參與量降低為之前的10%以下,極大提高了測試效率。

原文轉自:http://qa.baidu.com/blog/?p=942

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97