【XTS】测试教程

一、准备工作,以下测试通用(必须要做)

  1. 打开开发者选项中的OEM Unlock 和USB调试开关

  2. 手机默认语言需设置为英文(美式英语)

  3. 手机屏幕超时时间设置为永不(如果无永不选项,可设置为30分钟)

  4. 锁屏密码设置为无

  5. 连接翻墙网络(Google_CTS)

  6. 开发者选项内保持唤醒

  7. 有时候测试需要机器激活Google key,下边我会讲到

  8. GPS相关测试需要把手机放置到外边露天的地方测试(有GPS放大器的可以忽略该项)

二、CTS 测试

1.CTS 是什么?

Compatibility Test Suite意为兼容性测试套件,是Google推出的Android平台兼容性测试机制。CTS的目的是让所有的Android设备开发商能够开发出兼容性更好的Android设备

2.CTS 测试注意事项

测试版本:user版本

3.CTS 测试的意义

Android的CTS测试,是Google推出的Android平台兼容性测试。这是一套包含了上万个自动运行测试用例的测试框架 。CTS测试主要用来测试OEM厂商设计的Android平台是不是符合Android的API接口定义。通过 CTS 测试不仅可以保证Android设备具有良好的用户体验 ,而且可保证大量优质的应用在Android设备上正常运行,同时,也能够让应用开发者能够放心地制作高质量的应用程序,因此只有通过 CTS 认证的设备才能合法的安装使用 Google Market下载的应用

  1. CTS 测试常用测试命令

    cd /home/coosea/google_xts/CTS/android-cts-11_r4-linux_x86-arm/android-cts/tools

    ./cts-tradefed

全测命令run cts
3台一起运行命令run cts --shard-count 3
单测一项run cts –m <模块名> -t <单项名称>
继续测试run retry --retry (session id是l r查看结果,最前面的数字序号)
单测一个模块run cts –m <测试模块名>
举例run cts -m CtsAutoFillServiceTestCases -t android.autofillservice.cts.WebViewActivityTest#testAutofillAndSave

三、GTS 测试

1.GTS 测试是什么

Google Mobile Services Test Suite,即GMS(谷歌移动服务)测试套件

2.GTS 测试注意事项

  • 测试版本:user版本

  • GTS测试必须连接VPN

3.GTS 测试的意义

谷歌移动服务测试套件(Google Mobile Services Test Suite),谷歌移动服务提供了Search、 Search by Voice、Gmail、Contact Sync、 Calendar Sync、Talk、 Maps、 Steet View、 YouTube、 Android Market (Play store)等服务,当用户使用谷歌时,谷歌可以把各种广告嵌入到谷歌的服务中

4.GTS 测试命令

cd /home/coosea/google_xts/GTS/android-gts-8-R4(11)-7380330/android-gts/tools

./gts-tradefed

如何配置APE_API_KEY?(添加实验室key)

比如风和的实验室key:

export APE_API_KEY='/home/coosea/google_xts/GTS/ape_api_key/gts-windriver-public.json'

以下是当前项目可能用到的实验室key,说明如下(在readme_key.txt文件中):

配置了key后:

全测命令run gts
3台一起运行命令run gts --shard-count 3
单测一项run gts –m <模块名> -t <单项名称>
继续测试run retry --retry (session id是l r查看结果,最前面的数字序号)
举例

run gts -m GtsPermissionTestCases -t
com.google.android.permission.gts.InitialRuntimePermissionStateTest
#testAllSystemAppsUsingRuntimePermissionsTargetMncAndAboveSdk

四、GSI 测试

1.GSI 是什么

Generic System Image,即Reference AOSP system image通用系统映像上的兼容性测试套件,这个文件包也是签约获取授权后才能获取,Google也会定期更新GSI包

GSI测试注意事项

  • User版本

  • 测试工具:Android R 之前用VTS Tool,Android R 用CTS Tool

  • 配置Media 媒体包:我已配置好了,大家不用关心此项

  • 替换谷歌system.img(刷入GSI包)

  • 替换system.img 操作方法:

  1. adb reboot bootloader

  2. fastboot flashing unlock (输入命令后按音量上键)

  3. fastboot reboot fastboot

  4. fastboot flash system <Google signed GSI system.img>(system.img包的绝对路径)

  5. fastboot -w

  6. fastboot reboot bootloader

  7. fastboot reboot

3.GSI 测试命令

全测命令run cts-on-gsi -s SN
3台一起运行命令run cts-on-gsi --shard-count 3
单测一项run cts-on-gsi –m <模块名> -t <单项名称>
继续测试run cts-on-gsi -retry --retry SessionId
单测一个模块run cts-on-gsi –m <测试模块名>
举例run cts-on-gsi -m CtsCameraTestCases -t android.hardware.cts.CameraTest#testJpegThumbnailSize

五、VTS测试

1.VTS 是什么

VTS的全称是 Vendor Test Suite(供应商测试套件)

2.VTS测试注意事项

  • user版本

  • 替换google system.img 操作方法

  1. adb reboot bootloader

  2. fastboot flashing unlock (输入命令后按音量上键)

  3. fastboot flash boot boot-debug.img 与GSI的区别

  4. fastboot reboot fastboot

  5. fastboot flash system <Google signed GSI system.img>

  6. fastboot -w

  7. fastboot reboot bootloader

  8. fastboot reboot

3.VTS 的测试意义

  1. 以前Android的系统升级是很麻烦的,为了能更快的将设备升级到新的Android版本,Android O 开始新引入了 Project Treble,Project Treble 适用于搭载 Android O 及后续版本的所有新设备

  2. Android 7.x 及更早版本中没有正式的Vendor层接口,因此每次更新系统都相对耗时和困难

  3. Android O 之后,Treble 提供了稳定的Vendor层接口,供设备制造商访问 Android 代码中特定于硬件的部分,这样就可以只更新框架层,减少升级系统带来的成本和困难

  4. 为了确保Vendor层实现的前向兼容性,新的Vendor层接口会由供应商测试套件 (VTS) 进行验证,该套件类似于兼容性测试套件 (CTS)

4.VTS 测试命令

全测命令run vts
单测一项run vts –m <模块名> -t <单项名称>
继续测试run vts --retry
单测一个模块run vts –m <测试模块名>
举例run vts -m VtsHalAudioV2_0Target -t RecommendedOutputStreamConfigSupport

六、STS测试

1.STS 是什么?

主要是测试 Android Security Patch 是否生效,Goolge最新通告,2019年03月开始STS要全部pass

2.STS测试注意事项?

userdebug版本

3.STS 测试意义

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版本的结果

4.STS 测试命令

全测命令run sts-engbuild
单测一项run sts-engbuild –m <模块名> -t <单项名称>
继续测试run sts-engbuild --retry (session id是l r查看结果,最前面的数字序号)
举例run sts-engbuild -m CtsSecurityTestCases -t android.security.cts.SeccompTest#testCTSSwapOnOffBlocked

CTS-Verifier 测试

1.CTS-Verifier 是什么?

CTS Verifier算是CTS的一部分,需要手动进行,主要用于测试那些自动测试系统无法测试的功能,比如相机、传感器等。由于硬件配置或其他原因,不同手机上部分测试项目被隐藏,也就是说CTS Verifier中case的总数,取决于测试机支持哪些功能

2.CTS-Verifier 测试注意事项

https://source.android.com/compatibility/cts/downloads

提前下载CTS Verifier 测试包,安装CtsVerifier.apk

\\192.168.28.40\ShareWithSZ\GMS相关\cts-verifier测试方法

  1. 查看报告和日志分析

    以CTS测试的报告为例,其他测试基本类似:

    1、打开测试报告,如下:

2、在浏览器打开此文件

2. Log查看和分析:

3. 将以上host_log 文件夹内的文件打开,搜索对应的模块或者方法名,就可以看到具体的错误信息了,然后排查分析修改:

九、其他命令

这个地址推荐大家看看:Android GMS测试 CTS&GTS测试入门_google cts测试如何查看有哪些module-CSDN博客

1.XTS测试过程中由于某个模块Fail项太多,整跑模块又太过耗时。所以需要使用subplan来进行快速测试验证失败项:

(1)在与result文件夹同级目录下创建subplans文件夹

(2)在subplans文件中创建需要测试验证的fail项的xml文件,建议用fail项的模块进行命名,这里命名可以随意

xml文件内容的格式如下(将需要测试的失败项按照对应格式添加进去):

(3)执行测试命令:run cts -o --subplan [需要运行的xml文件文件名]

2. 跳过预设环境命令 --skip-preconditions

测试XTS时,命令末尾加 --skip-preconditions,会不同程度减少测试消耗的时间

<think>好的,我现在需要处理用户关于XTS测试的查询。用户之前已经问过相关问题,现在他们想了解具体的方法或工具。首先,我得回顾之前的对话和提供的引用内容,确保信息准确且不重复。 根据引用内容,特别是引用[1]、[2]、[3]、[4],XTS测试涉及多个子套件,比如ACTS、CTS、VTS等。用户可能想知道如何执行这些测试,以及有哪些工具可用。需要分步骤说明方法,并列出常用工具,比如OpenHarmony的ACTS、Android的CTS Runner等。 要注意用户提到的环境搭建,比如在Windows下使用OpenHarmony的ACTS套件,可能需要从官网下载或版本中获取。同时,测试指令如引用[4]中的run命令需要解释清楚。此外,要强调不同平台(如Android和OpenHarmony)的工具差异,避免混淆。 可能还需要补充测试流程,例如环境准备、用例执行、结果分析,以及常见问题解决方法,如依赖缺失或兼容性问题。确保回答结构清晰,分点列出,方便用户理解。最后生成的相关问题要围绕用户可能进一步的需求,比如性能优化或具体环境配置。</think>### XTS测试方法与工具详解 #### 一、XTS测试方法 1. **测试套件选择** - OpenHarmony平台使用**ACTS套件**(应用兼容性测试套件),主要用于验证应用在移植后的芯片开发板上的兼容性[^2]。 - Android平台包含多种套件: - **CTS**:验证Android框架与核心API兼容性[^3] - **VTS**:测试硬件抽象层(HAL)实现是否符合标准[^3] - **GTS**:针对Google移动服务(GMS)的兼容性测试 2. **环境搭建** - OpenHarmony环境: - 通过官网或版本包获取测试套件(如`acts`)[^1] - 示例目录结构: ```text xts/acts/ ├── testcase # 测试用例 ├── tools # 测试工具 └── resource # 依赖资源 ``` - Android环境:需配置Java SDK、Android Studio及对应版本的CTS/VTS包。 3. **测试执行流程** **以OpenHarmony ACTS为例**: 1. 进入测试套件目录:`cd xts/acts` 2. 运行最小测试集(示例指令): ```bash run -l HatsHdfManagerHdiTest ; HatsMallocPressureTest ; HatsSafeUnlinkTest ``` 此指令验证内存管理、硬件驱动接口等基础功能[^4] 3. 查看报告:生成在`reports/`目录下的XML/HTML文件 **Android CTS示例**: ```bash ./cts-tradefed run cts --module CtsSecurityTestCases ``` #### 二、主要测试工具 | 工具名称 | 适用平台 | 功能特点 | |------------------------|---------------|---------------------------------------| | ACTS Runner | OpenHarmony | 支持C语言用例开发与批量执行[^2] | | CTS Tradefed | Android | 提供模块化测试与多设备并行能力[^3] | | XTS Harness | 跨平台 | 通用测试框架,支持自定义测试逻辑 | | HDF Test Manager | OpenHarmony | 专用于硬件驱动测试(如HatsHdfManagerHdiTest)[^4] | #### 三、关键问题解决方法 1. **依赖缺失报错** - 现象:`Missing resource file` - 解决:检查`resource/`目录完整性,重新部署测试套件[^1] 2. **兼容性失败** - 现象:`HAL implementation mismatch` - 解决:参考VTS规范调整硬件抽象层接口实现[^3] 3. **性能测试超时** - 现象:`HatsMallocPressureTest timeout` - 解决:调整内存压力测试参数或优化内存分配算法[^4] #### 四、测试标准参考 - OpenHarmony兼容性指标:需通过$≥85\%$的ACTS用例[^2] - Android CTS要求:通过率$100\%$核心模块(如`CtsSecurity`)[^3] $$ \text{通过率} = \frac{\text{通过用例数}}{\text{总用例数}} \times 100\% $$
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值