知方号

知方号

STS、CTS、GTS、VTS测试指南

STS、CTS、GTS、VTS测试指南

Android Security Test Suite (STS) 是谷歌关于android安全补丁安装情况的一个测试套件STS和security patch相关的,是CTS测试新增加一项安全测试套件。STS是201808才开始测试的。Security patch日期在3个月内是GTS的一个case,如果不通过无法获得google认证。在18年5月之前谷歌对于security patch这个属性都是在build库下面跟着aosp更新的。现在需要通过STS之后由vendor来更新。STS需要通过userdebug版本的targetfile来生成一个user版本的结果。

STS测试前提 设备必须刷是userdebug romusb调试已经打开,usb安装、点击功能需要正常可以获得root,执行adb root必须成功 STS 工具  自行下载

STS 测试命令

                sts-tradefed run sts-dynamic-incremental -m -t MR版本测试指令 

                sts-tradefed run sts-dynamic-full -m -t IR版本测试指令 

默认执行:

sts-tradefed run sts-dynamic-full

指定目标设备:

sts-tradefed run sts-dynamic-full -s 【指定你的android设备】

------------------

CTS,GSI,GTS,VTS,STS区别

区别:

1.烧录img版本不同

     CTS,GSI,GTS,VTS  烧录user版本img

  STS 烧录user-debug版本img

2.是否需要额外烧录谷歌img

     VTS 需额外推送 谷歌img 和 boot-debug.img

      GSI 需额外推送谷歌img

      其它测试不需要

3.测试前是否需要推送媒体包 

      CTS , GSI ,GTS 需要推媒体包

      其余测试不需要

//推送媒体包的方式:在Media执行脚本+设备SN号

4.测试指令有细微差别,仅需修改对应测试名称

//注意事项: CTS 测试和 GSI 测试共用一个测试脚本,因此GSI测试可在CTS测试下进行,但不可同时进行(即这个两个测试不可以同时共用一个测试工具)

4.1.CTS测试(单台测试预计170小时)   全测命令:run cts --shard-count 3 -s CTS00000001 -s CTS00000002 -s CTS00000003    // -s  【SN号】   重测命令:run retry -r 1 --shard-count 3 -s CTS00000001 -s CTS00000002 -s CTS00000003    / -r  【第几个测试报告】   单侧模块:run cts -m  CtsPermission2TestCases -s CTS00000001   // -m 【测试模块】   单侧case:run cts -m  CtsPermission2TestCases -t android.permission2.cts.PermissionPolicyTest#platformPermissionPolicyIsUnaltered -s CTS00000001   // -t 【测试项】   4.2.GTS测试(单台测试预计20小时)   全测命令:run gts --shard-count 3 -s GTS00000001 -s GTS00000002 -s GTS00000003   重测命令:run retry -r 1 --shard-count 3 -s GTS00000001 -s GTS00000002 -s GTS00000003   4.3.VTS测试(单台测试预计45小时)    注:需要烧录Google System.img     全测命令:run vts --shard-count 3 -s VTS00000001 -s VTS00000002 -s VTS00000003    重测命令:run retry -r 1 --shard-count 3 -s VTS00000001 -s VTS00000002 -s VTS00000003

4.4.GSI测试(单台测试预计35小时)-->与CTS共用Tool    注:需要烧录Google System.img    全测命令:run cts-on-gsi --shard-count 3 -s GSI00000001 -s GSI00000002 -s GSI00000003    重测命令:run retry -r 1 --shard-count 3 -s GSI00000001 -s GSI00000002 -s GSI00000003     4.5.STS测试(单台测试预计7小时)    注:需要烧录Userdebug版本测试    全测命令:run sts-dynamic-full --shard-count 3 -s STS00000001 -s STS00000002 -s STS00000003    重测命令:run retry -r 1 --shard-count 3 -s GSI00000001 -s GSI00000002 -s GSI00000003

4.6.CTS_V测试 -->DQA 负责测

#其它测试指令 

 l i

 l d

 l r

 l c

--------------------------------

一、指令

basic:

套件指令测试版本更新频率下载地址ctsrun ctsrelease季度https://source.android.com/docs/compatibility/cts/downloadsgtsrun gts ; run gts-interactiverelease季度https://docs.partner.android.com/gms/testing/gts 须登陆vtsrun vtsrelease季度https://docs.partner.android.com/gms/testing/vts 须登陆cts-on-gsirun cts-on-gsireleaseCTS套件:季度; system.img:每月同CTSstsrun sts-dynamic-fulldebug每月https://drive.google.com/drive/folders/1xqPTtC6MWiQizfFVdG7Ho0f2oGsmH0e-tvtsrun tvtsreleasehttps://docs.partner.android.com/tv/test/tvts/release-notes

pior:

功能指令备注重试多台只64位且不包括3个包run retry --retry 1 --shard-count 2 --abi arm64-v8a --exclude-filter CtsLibcoreTestCases --exclude-filter CtsNetTestCases --exclude-filter CtsAppSecurityHostTestCases此3个包涉及IPV6测试CTS子计划run cts --subplan帮助helpcts帮助run cts --help; run cts --help -all

monthly:

月份CTS(使用月份)GTS(使用月份)VTS(使用月份)STS(安全补丁月份)img(安全补丁月份)发布月份3 6 9 123 6 9 123 6 9 12上一个月2023-10android-cts-13_r5-linux_x86-armandroid-gts-11-R1(11-14)-10495246android-vts-10477834_arm64(13_R5)android-sts-13_sts-r19-linux-arm64android13-arm64-img-10694250.zip2023-11android-sts-13_sts-r20-linux-arm64signed-gsi_arm64-img-10828306.zip2023-12android-sts-13_sts-r21-linux-arm64signed-gsi_arm64-img-10953849.zip2024-01android-cts-13_r6-linux_x86-armandroid-gts-11-R2(11-14)-11137706.zipandroid-vts-11183460_arm64(13_R6)android-sts-13_sts-r22-linux-arm64signed-gsi_arm64-img-11114083.zip 常用网址: 功能网址备注https://source.android.com/docs/内网partner之gmshttps://docs.partner.android.com/gms/testing/overview外网+授权账号登陆partner之securityhttps://docs.partner.android.com/security外网+授权账号登陆GTS/VTS/system.img最新版下载https://drive.google.com/drive/folders/0ByUA0TZpIQ_UYll6QnFxaVVNVTA?resourcekey=0-OaeHWcxibqcFpnZw_OzYiw外网+授权账号登陆TV system.img最新版下载https://docs.partner.android.com/tv/test/android/gsi?hl=en外网+授权账号登陆SPLhttps://drive.google.com/drive/folders/0B85mEDAGzAbsckRrZFhhV3YwTEk?resourcekey=0-6zNsbY0nWUmYsJO2TF-RZQ外网+授权账号登陆apahttps://partner.android.com/approvals外网+授权账号登陆 三、镜像文件

通过指令adb shell getprop | grep patch得到的信息看安全补丁的日期

[ro.build.version.security_patch]: [2023-10-05] # 此为system.img的[ro.vendor.build.security_patch]: [2023-10-05] # 此为公司版本的 命令之间用 ; 时,前一个命令完成后(不论是否成功)运行下一个命令,命令之间用 && 时,前一个命令完成后(成功时)运行下一个命令 CTS-on-GSI 一键更换image

在system.img所在目录下执行如下指令:adb reboot bootloader&&fastboot flashing unlock&&fastboot flashing unlock_critical&&fastboot reboot fastboot&&fastboot flash system system.img&&fastboot -w&&fastboot reboot

VTS 一键更换image

在system.img/vendor_boot.img所在目录下执行如下指令:adb reboot bootloader&&fastboot flashing unlock&&fastboot flashing unlock_critical&&fastboot reboot fastboot&&fastboot flash system system.img&&fastboot flash vendor_boot vendor_boot-debug.img&&fastboot -w&&fastboot reboot

# CTS-on-GSIadb reboot bootloaderfastboot flashing unlockfastboot flashing unlock_criticalfastboot reboot fastbootfastboot flash system system.imgfastboot -wfastboot reboot# VTSadb reboot bootloaderfastboot flashing unlockfastboot flashing unlock_criticalfastboot reboot fastbootfastboot flash system system.imgfastboot flash vendor_boot vendor_boot-debug.imgfastboot -wfastboot reboot 四、每日构建版本

每日构建地址 android 13:https://ci.android.com/builds/branches/aosp-android13-tests-release/grid?legacy=1

1)下载CTS,VTS,CTS-VERIFIER搜索字段,例如android12 aosp-android12-tests-dev aosp-android12-tests-release

2)下载TVTS搜索字段 git_master-tv-dev

3)下载google system image搜索字段 git_tm-gsi-release git_sc-tv-gsi-release git_rvc-tv-gsi-release

五、子计划使用

为什么使用子计划? 以CTS测试为例,有1058个测试模块,全部测试完需要1周时间。如果只需要验证其中的某几个模块,如media相关的模块。没有子计划时需要一个模块输入一条指令,使用子计划可以将所有media模块放在一个测试计划中,运行一条指令可以实现所有Media模块测试。help add 可以查看子计划的具体使用方式 以android 13的 13_r4套件为例,其CTS有1055个模块,样机充足时可以分多台提升测试效率

测试项模块数耗时CTS1055在样机充足时,可以使用子计划,分为三部分测试,提升测试效率 P1: DEQP1台:30h; P2:Media1台:24h,之后多次retry ; P3:其他模块:2台:36h,之后多次retry ;CTS-on-GSI3471台:36h,之后多次retryCTS-Verifier手动测试3天GTS2731台:24hSTS201台:6hVTS6431台:6h 六、样机端操作

进入开发者模式:settings->About->build num (tap 5 times) ->open Developer options 设置设备常亮:Developer options->Stay awake->on 打开USB调试:Developer options->USB debugging->on 关掉USB安装应用提示:Developer options->Verify apps over USB->off

七、电脑端操作

1 Media相关的测试需要将media文件放在电脑/tmp/android-cts-media路径下,测试前不需要将Media文件拷贝到手机中,测试时会自动拷贝。 如果/tmp/android-cts-media路径下没有media文件,将会从网上下载,由于文件比较大,比较耗时

rkp attestattion key 获取rkp json文件

在工厂模式下,版本信息处 左左右右,此时弹出提示信息; 在另一个菜单处,点击右键,会自动保存到U盘

way1:需要登陆网页输入账号python3.9 ./device_info_uploader.py --credentials ./cred.json --json-csr csrs.json --cache-token --company-id 25958473112589way2:可以直接使用python3.9 ./device_info_uploader.py --credentials-keyfile ./-rkp-cd-service-account.json --json-csr csrs.json --company-id 25958473112589 八. 测试分析

android13 测试周期(包含verifier):7天 预测试周期(不包含verifier): 4天 机器数量:7台

测试项用时机器数量(台)CTS-without-deqp-media3d2台CTS-without-deqp-media-642d2台CTS-deqp30h1台CTS-deqp-6415h1台CTS-media3d1台CTS-media-642d1台gts2d1台cts-on-gsi3d1台vts6h1台sts6h1台cts-verifier4d1台

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至lizi9903@foxmail.com举报,一经查实,本站将立刻删除。