STS 測試文件
阿新 • • 發佈:2018-11-05
STS 測試文件
STS全稱Security Test Suite,安全測試工具,主要是測試手機安全漏洞,是否合入要求
的所有安全patch。後續認證各個Android版本都會需要測試STS。
一、測試方法
與CTS測試基本一致,唯一不同的是測試版本和測試指令。
測試版本
Android6.0 版本,採用user gms版本測試。
Android7.0+版本,採用userdebug gms版本測試。
手機預置條件
- Screen and storage
如果待測裝置沒有一個嵌入式的螢幕,則需要連線一個螢幕。如果待測裝置存
在儲存卡槽,則需要插入一個空的SD卡。SD卡需要支援Ultra High Speed(UHS)或
者至少速度為Class 10來確保CTS測試的通過。 - 如果待測裝置存在SIM卡槽,在每個卡槽中,均需要插入啟用的SIM卡,如果待測設
備支援SMS,每張SIM卡需要在Setting中顯示他自己的電話號碼。 - 給待測手機刷入待測版本,或者將待測手機恢復出廠設定
Settings > Backup & reset > Factory data reset - 將待測裝置的系統語言設定為英語(United States)
Settings > Language & input > Language - 如果待測裝置存在GPS或者Wi-Fi/Cellular網路功能,開啟Location設定
Settings > Location > On - 連線到一個支援IPv6網路的Wi-Fi,同時連線到Internet
Settings > Wi-Fi - 確認在待測裝置上沒有螢幕鎖或者密碼
Settings > Security > Screen lock > None - 開啟待測裝置上的USB debugging
Settings > Developer options > USB debugging - 針對Android 4.2以後的系統, Developer options預設被隱藏。如果想要顯示Developer
options,需要Settings > About phone,單擊Build number七次。返回上一層介面,即可找到。 - 確保將系統時間設定為12小時制
Settings > Date & time > Use 24-hour format > Off - 設定Settings > Developer options > Stay Awake > On
- 設定Settings > Developer options > Allow mock locations > On
僅在Android 5.x和4.4.x需要對該步驟進行設定 - 設定Settings > Developer options > Verify apps over USB > Off
在Android 4.2以後的系統需要設定 - 開啟瀏覽器,將設定資訊去掉
- 利用USB線連線待測裝置和PC
在Android 4.2.2及以後系統,連線待測裝置和PC時,系統將彈出一個對話方塊,詢問
是否接受一個RSA Key,允許通過PC進行debugging,此時選擇允許USB debugging。
二、電腦配置
STS目前需要支援64-bit的Linux或者Mac OS的PC進行測試。
(目前最新的Android系統,
需要在Ubuntu 14.04上進行測試)
ADB和AAPT
在進行CTS測試之前,要確保PC中已經安裝了最新版本的Android Debug Bridge(adb)
和Android Asset Packaging Tool(AAPT),同時將這些工具所在的路徑新增到系統的環境變
量中。
下載Android SDK Tools(https://developer.android.com/studio/index.html),解壓縮後,
執行tools目錄中的android檔案,在彈出的Android SDK Manager對話方塊中,選擇更新Android
SDK Tools、Android SDK Platform-tools和Android SDK Build-tools,更新完成後,將tools、
platform-tools及build-tools三個資料夾所在路徑,新增到系統環境變數PATH中,重新source
一下即完成配置。
Java Development Kit(JDK)
安裝合適版本的Java Development Kit,針對Android 7.0及以上系統,在Ubuntu系統上需
要Open JDK 8
Device detection建立Ubuntu系統的udev規則,方法如下:
sudo gedit /etc/udev/rules.d/51-android.rules
SUBSYSTEM==“usb”, ATTR{idVendor}==“1782”, MODE=“0666”, GROUP=“plugdev”
sudo chmod 777 /etc/udev/rules.d/51-android.rules
sudo service udev restart
三、測試方法
在PC端下載測試包並解壓縮。
Android6.0版本 - 如果CTS版本在7.0以前,需要對待測裝置進行以下設定:
adb install -r android-cts/repository/testcases/CtsDeviceAdmin.apk
In Settings > Security > Select device administrators
確保android.deviceadmin.cts.CtsDeviceAdminReceiver*被選中,android.deviceadmin.cts.
CtsDeviceAdminDeactivatedReceiver及其以外預先安裝的device administrators保持不被勾選 - 開啟terminal終端,進入android-cts/tools目錄
1)./cts-tradefed
2)KaTeX parse error: Unexpected character: '' at position 146: …ts --help-all) ̲ Android7.0+版本 …測試命令
整測命令:run sts-engbuild
單case測試命令:run sts-engbuild -m (name of module) -t (name of test failed)
更詳細的命令可輸入help 命令來檢視(run sts --help-all)
四、測試結果和log
Android6.0版本android-cts/repository/results目錄下會生成以時間為命名的測試result
android-cts /repository/logs目錄下會生成以時間為命名的測試log
Android7.0+版本
android-sts/results目錄下會生成以時間為命名的測試result
android-sts/logs目錄下會生成以時間為命名的測試log
注: - test_result.xml測試結果,右擊用瀏覽器便可以打開了,裡面有所有測試的詳細資訊
- logs中包含以下兩種log:
host log中貼出的是測試過程中terminal中列印的資訊
device log 中是 system 和 main log
五、測試包
STS有單獨的測試包,且每月均會更新,區分Arm和x86
測試包是加密的,密碼為:sts