美文网首页
Android XTS测试简述

Android XTS测试简述

作者: 特立独行的佩奇 | 来源:发表于2022-07-30 14:03 被阅读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标准测试方法
    • 下载cts 测试包
      CTS测试包下载
      也可以通过编译Android源代码的方式获得,在android源代码目录下输入make cts命令来编译CTS,之后会在out/host/linux-x86/cts/下生成android-cts文件夹。这个文件夹就是 Compatibility Test Suit

    • 进入cts 命令行

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

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

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

    • 运行相应的测试plan
    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是针对下面内容进行的测试:

    • 内核
    • 硬件抽象层 (HAL)

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

    VTS标准测试方法

    TBD

    VTS简要验证方法

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

    相关文章

      网友评论

          本文标题:Android XTS测试简述

          本文链接:https://www.haomeiwen.com/subject/ujicwrtx.html