Android XTS测试简述

2022-07-30  本文已影响0人  特立独行的佩奇

XTS 简述

XTS 是一个统称,包含VTS、CTS、GTS,如果是TV类型产品,还要做netflix 认证,简称NTS,其余TS含义如下:

元素 说明
VTS Vendor Test Suite
CTS Compatibility Test Suite
GTS Google Mobile Services Test Suite
NTS Neflix Test Suite

下面来分别介绍这几个测试:

CTS

CTS 测试简介

Android的CTS测试,意为兼容性测试;只有通过CTS测试的设备才有可能获得Android的商标和享受Android Market的权限
Android CTS 通过运行和安装一系列 dex 和 APK文件,通过模拟不同的场景,测试Android 标准的接口是否正常返回,以此来保证不同版本APP的兼容性


CTS test.png

CTS测试包括CTS基本测试CTS Verifier测试两部分,后者是前者的补充,CTS检查的是API和功能,而CTS Verifier是测试在静态设备上测试无法自动测试的API和功能,例如音频质量,触摸屏,加速度计,相机等等
CTS 更多信息可以参考Google 官方网站:
兼容性测试套件

CTS标准测试方法
  1. 运行CTS需要在宿主机上,一般宿主机使用 Linux 内核的操作系统;

  2. 准备好要测试的设备,刷上要自己要测试的版本,进入开发者模式设置stay awake,宿主机安装adb,adb device 确保能识别到 adb设备;

  3. 进入目录android-cts,该目录是通过上面那两种方法解压获得的,在android-cts目录下会有3个文件夹,其中一个是tools;进入tools目录,输入./startcts 来启动CTS

  1. ls --plan 命 令显示google自带的测试方案,如:Java、Signature、Android、CTS、VM、RefApp、Performance、 AppSecurity。其中Performance这个方案是google暂不要求的 Java、Signature、Android、VM、 RefApp、Appsecurity方案都是CTS方案的子集

  2. 用命令ls -d 来查看已连接的设备,CTS测试之前我们必须保证至少有一个设备连接上

  3. 输入命令start --plan CTS 来执行CTS测试方案,该方案有两万多条测试项目,需要很长时间,我们做的都是针对某些包的测试;如果连接了多个设备的话需加上-d 参数,后面跟上设备id来告诉CTS需要测试的设备

  4. 对单独一个包进行测试的方法:start --plan CTS -p 包名 ;推荐用这种方法来进行针对性的测试。需要知道有哪些包名,可以输入命令:ls --plan CTS

CTS简要验证方法

windows 下使用下面的bat 脚本,同时准备一个case.txt

@echo off

adb root
echo Testing start... > results.txt
set casename=''
set pkg=android.display.cts. #根据需要修改
setlocal enabledelayedexpansion
for /f %%i in (cases.txt) do (
set casename=%%i
set classname=!pkg!!casename!
echo Testing !classname!

adb shell am instrument -w -r -e newRunListenerMode true -e class !classname! -e timeout_msec 900000 android.display.cts/androidx.test.runner.AndroidJUnitRunner >> results.txt
)

pause

该脚本会读取case.txt中case名而后运行,case.txt 的内容示例如下:

BrightnessTest
DisplayTest
VirtualDisplayTest

可以在cts 源代码中找到自己需要的测试case 名称:
/cts/tests/tests/display/src/android/display/cts/
每个测试case 都是以xxxTest.java 命名的,具体测试case 中的内容可以参考xxxTest.java 的源代码

Instant 的测试bat脚本:

@echo off

echo Testing start... > results_instant.txt
set casename=''
set pkg=android.display.cts.
setlocal enabledelayedexpansion
for /f %%i in (cases.txt) do (
set casename=%%i
set classname=!pkg!!casename!
echo Testing !classname!

adb shell am instrument -w -r -e newRunListenerMode true -e notAnnotation android.platform.test.annotations.AppModeFull,com.android.compatibility.common.util.CtsDownstreamingTest -e class !classname! -e timeout_msec 900000 android.display.cts/androidx.test.runner.AndroidJUnitRunner >> results_instant.txt
)

pause

VTS

VTS 简介

CTS 是对Android 上层标准接口进行测试,VTS是针对下面内容进行的测试:

VTS 在桌面设备上运行,并直接在所连接的设备或模拟器上执行测试用例,与 CTS类似,VTS 是一个自动化测试套件

VTS标准测试方法

TBD

VTS简要验证方法

VTS测试代码都是native 层代码,因为可以直接编译在测试机上运行;
找到cts souce code 目录,直接mmm + code url 编译生成vts测试档案,adb push 到测试机的 data 目录下运行即可;

上一篇下一篇

猜你喜欢

热点阅读