CTS 测试总结
CTS測試總結
???根據需要使用google提供的最新版本cts?tool進行測試。
因我們本地使用的是windows系統,那么在本地使用cts?tool時需要我們自己書寫一個終端來運行cts?tool。當然如果你之前已經寫好了腳本文件直接拷貝到對應的文件夾下就OK。
?
android-cts-6.0_r8-linux_x86-arm\android-cts\tools\目錄下新建一個文件CTS-Tradefed.bat編輯:
@echo?off
set?CTS_ROOT=..\..
rem?set?RDBG_FLAG=-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=0?暫不需用遠程調試
set?CTS_LIB=%CTS_ROOT%\android-cts\tools\cts-tradefed.jar
set?TDF_LIB=%CTS_ROOT%\android-cts\tools\tradefed-prebuilt.jar
set?HST_LIB=%CTS_ROOT%\android-cts\tools\hosttestlib.jar
set?JARS=%CTS_LIB%;%TDF_LIB%;%HST_LIB%
rem?echo?java?%RDBG_FLAG%?-cp?%JARS%?-DCTS_ROOT=%CTS_ROOT%?com.android.cts.tradefed.command.CtsConsole
call?java?%RDBG_FLAG%?-cp?%JARS%?-DCTS_ROOT=%CTS_ROOT%?com.android.cts.tradefed.command.CtsConsole
rem?pause
@echo?on
?
???內容大體是將所需的庫和包載入進來。運行此腳本,即可模擬出測試環境。運行腳本前需要更新本地jdk的版本,讓其與cts?tool的版本相匹配,從而能正常運行此腳本。
?
???Windows終端跑單條case進行測試驗證:
run?cts?–c?Class?-m?Method?--skip-preconditions?(最新的tools必須帶有--skip-preconditions)
例如:run?cts?-c?android.bluetooth.cts.BluetoothLeScanTest?-m?testScanFilter?--skip-preconditions
?
跑完CTS的單條case,我們可以在android-cts\repository\results文件夾中找到測試報告:
?
在android-cts\repository\logs下我們可以看到跑此條case的關鍵log
?
當然你在分析時需要詳盡的log去分析。在跑單條case時需要打開mtklog,抓取mtklog,分析此log會更易分析出問題的所在。
?
在解決cts時常見的辦法:
???查看根據Class和Method的關鍵字看出所測試的是什么進行定位。根據log的提示發現什么錯誤導致的cts不通過。當然這個對簡單容易定位的問題很快就能解決。如根據log跟蹤代碼線索中斷。那需要另找方法。
?
???在毫無頭緒時,需對比driver?only版本,確認是否是mtk?release過來的代碼就已經有問題了。如果是則需提交eService向mtk詢問情況,并讓他們給出修改方案。若cts?fail原因是最新代碼的修改導致的,那就查看近期的代碼更新,對代碼的確認(dailybuild能很好地確認代碼修改的范圍)。跟修改出問題的owner確認修改方案。
有些問題已超出自己的能力范圍,那提個eService同步給mtk。向mtk尋求幫助可以提高解決速率,更好的趕上項目進度!
?
???有時cts測試fail項是因為手機測試前提未滿足導致的,所以在測試cts前需要確保手機的配置已經完成:
1.?down完版本后恢復下出廠設置
2.?確保IMEI號已經寫好
3.?wifi及Bluetooth的mac地址已經寫入
4.?測試時插入了SIM卡。
5.?Wifi已經連接(最好是連接已經配好vpn的設備),如果wifi沒有vpn,需手機配置vpn確保能登錄google官網
?
?
總結
- 上一篇: 【教程】Spire.PDF教程:C# 从
- 下一篇: Blender 导出obj到 OpenG