1. 程式人生 > >STS 測試文件

STS 測試文件

STS 測試文件
STS全稱Security Test Suite,安全測試工具,主要是測試手機安全漏洞,是否合入要求
的所有安全patch。後續認證各個Android版本都會需要測試STS。
一、測試方法
與CTS測試基本一致,唯一不同的是測試版本和測試指令。

測試版本
Android6.0 版本,採用user gms版本測試。
Android7.0+版本,採用userdebug gms版本測試。

手機預置條件

  1. Screen and storage
    如果待測裝置沒有一個嵌入式的螢幕,則需要連線一個螢幕。如果待測裝置存
    在儲存卡槽,則需要插入一個空的SD卡。SD卡需要支援Ultra High Speed(UHS)或
    者至少速度為Class 10來確保CTS測試的通過。
  2. 如果待測裝置存在SIM卡槽,在每個卡槽中,均需要插入啟用的SIM卡,如果待測設
    備支援SMS,每張SIM卡需要在Setting中顯示他自己的電話號碼。
  3. 給待測手機刷入待測版本,或者將待測手機恢復出廠設定
    Settings > Backup & reset > Factory data reset
  4. 將待測裝置的系統語言設定為英語(United States)
    Settings > Language & input > Language
  5. 如果待測裝置存在GPS或者Wi-Fi/Cellular網路功能,開啟Location設定
    Settings > Location > On
  6. 連線到一個支援IPv6網路的Wi-Fi,同時連線到Internet
    Settings > Wi-Fi
  7. 確認在待測裝置上沒有螢幕鎖或者密碼
    Settings > Security > Screen lock > None
  8. 開啟待測裝置上的USB debugging
    Settings > Developer options > USB debugging
  9. 針對Android 4.2以後的系統, Developer options預設被隱藏。如果想要顯示Developer
    options,需要Settings > About phone,單擊Build number七次。返回上一層介面,即可找到。
  10. 確保將系統時間設定為12小時制
    Settings > Date & time > Use 24-hour format > Off
  11. 設定Settings > Developer options > Stay Awake > On
  12. 設定Settings > Developer options > Allow mock locations > On
    僅在Android 5.x和4.4.x需要對該步驟進行設定
  13. 設定Settings > Developer options > Verify apps over USB > Off
    在Android 4.2以後的系統需要設定
  14. 開啟瀏覽器,將設定資訊去掉
  15. 利用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版本
  16. 如果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保持不被勾選
  17. 開啟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
    注:
  18. test_result.xml測試結果,右擊用瀏覽器便可以打開了,裡面有所有測試的詳細資訊
  19. logs中包含以下兩種log:
    host log中貼出的是測試過程中terminal中列印的資訊
    device log 中是 system 和 main log
    五、測試包
    STS有單獨的測試包,且每月均會更新,區分Arm和x86
    測試包是加密的,密碼為:sts