51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2181|回复: 1
打印 上一主题 下一主题

CTS 测试细节

[复制链接]
  • TA的每日心情
    奋斗
    2021-8-6 16:14
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    跳转到指定楼层
    1#
    发表于 2018-4-11 15:50:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    一.说到细节,首先介绍一下流程。然后再从流程的项目来讲。

    (现在假设Host端环境已经架设好,准备进行测试,基本流程如下)

    开始
    1.确认目标Image
    2.下载并解压缩目标Image
    3.可以正常开机?
    4.基本功能正常?
    5.进行手机环境准备
    6.确保USB连接正常
    7.Host输入命令,运行CTS测试
    8.等待生成CTS报告
    9.报告结果符合预期?
    11.发出CTS报告
    End
    10.调试环境,进行retry
    yes
    no
    yes
    no
    yes
    no
    二.下面根据流程,来分析细节

    1. 确认目标Image

    这个来源比较多。可以是:
    - 上级安排
    - 定期测试
    - 有特定的change需要验证
    - 等等
    可以根据来源不同,来判断优先级。

    2.下载,并解压缩目标Image

    这个没有太多好说的,主要注意以下两条:
    - 不同项目的Image,最好放在不同的文件夹下,避免混淆
    - Image 一般比较大,最好准备1T以上的硬盘

    3.可以正常开机?

    由于有些版本的Image,自身问题。
    导致:开机卡logo;开机进fastboot;卡机进android无限重启等现象。
    如果无法正常开机,就需要先debug,再换版测试。

    4.基本功能正常?

    在项目初期进行测试的时候,容易出现基本功能,比如Bluetooth,WiFi,Camera等功能不可用的情况。
    刷完机后,最好进行基本功能验证后再测试。
    如果有问题,就再换版测试。

    5.进行手机环境准备

    这个前面提过,官方写的非常详细。我粘贴一下:

    Android设备设置

    工厂数据重置设备:设置>备份和重置>出厂设置复位
    警告:这将清除设备中的所有用户数据。
    将设备的语言设置为英语(美国):设置>语言和输入>语言
    如果设备上有GPS或Wi-Fi /蜂窝网络功能,请打开位置设置:设置>位置>开
    连接到支持IPv6的Wi-Fi网络,可以将被测设备(DUT)视为隔离客户端(请参阅上面的物理环境部分),
    并具有Internet连接:设置> Wi-Fi
    确保设备上没有设置锁定模式或密码:设置>安全性>屏幕锁定>无
    在设备上启用USB调试:设置>开发人员选项> USB调试。
    * 注意:在Android 4.2及更高版本上,默认情况下隐藏开发人员选项。要使它们可用,请转到设置>关于
    手机,然后点击构建号码 七次。返回上一个屏幕以查找开发人员选项。有关其他详细信息,请参阅启用
    设备上开发人员选项。*
    确保时间设置为12小时格式:设置>日期和时间>使用24小时格式>关闭
    选择:设置>开发人员选项>保持清醒>打开
    选择:设置>开发人员选项>允许模拟位置>打开
    注意:此模拟位置设置仅适用于Android 5.x和4.4.x.
    选择:设置>开发人员选项>通过USB验证应用程序>关闭
    注意: Android 4.2中需要验证应用步骤。
    启动浏览器并关闭任何启动/设置屏幕。
    连接用于使用USB电缆测试设备的台式机
    注意:将运行Android 4.2.2或更高版本的设备连接到计算机时,系统会显示一个对话框,询问是否接受
    允许通过此计算机进行调试的RSA密钥。选择允许USB调试。
    在设备上安装和配置帮助应用程序。
    注意:对于CTS版本2.1 R2至4.2 R4,请设置您的设备(或仿真器)以运行辅助功能测试:
    adb install -r android-cts/repository/testcases/CtsDelegatingAccessibilityService.apk
    在设备上,启用:设置>辅助功能>辅助功能>委托辅助功能服务
    注意:对于7.0之前的CTS版本,在声明的设备上 android.software.device_admin,将您的设备设置为运
    行设备管理测试:
    adb install -r android-cts/repository/testcases/CtsDeviceAdmin.apk
    在设置>安全>选择设备管理员,启用两个 android.deviceadmin.cts.CtsDeviceAdminReceiver*设备管理
    员。确保 android.deviceadmin.cts.CtsDeviceAdminDeactivatedReceiver和任何其他预装设备管理员保持禁用
    将CTS媒体文件复制到设备,如下所示
    注意:对于CTS 2.3 R12及更高版本,如果设备支持视频编解码器,则必须将CTS媒体文件复制到设备。
    cd到媒体文件下载并解压缩到的路径。
    更改文件权限: chmod u+x copy_media.sh
    运行copy_media.sh:
    要将剪辑复制到720x480的分辨率,请运行: ./copy_media.sh 720x480
    如果您不确定最大分辨率,请尝试./copy_media.sh all复制所有文件。
    如果adb下有多个设备,请将-s(serial)选项添加到末尾。例如,要使用串行1234567将设备复制到720
    x480,请运行:./copy_media.sh 720x480 -s 1234567
    6.确保USB连接正常

    这个确实很重要。
    因为USB供电和数据线本身的原因,会导致设备offline,进而导致测试失败。
    所以建议如下:
    使用比较新的,正规的USB数据线;
    使用电脑的后置USB口连接数据线;
    使用USB-hub时,选择自带电源功率大的类型。

    7.Host输入命令,运行CTS测试

    参考如下:
    链接: https://pan.baidu.com/s/1nv1JPot 密码: 6hw5

    8.等待生成CTS报告

    根据以往经验,在Android 7.0上3台测试机shared CTS测试需要2天,也就是2x3=6。4台机器大概是1.5天。
    其他情况下,自己评估一下吧。
    在Android 7.0以下的版本,3台测试机shared CTS测试只需要1天。其他情况下,自己算一下吧。

    9.报告结果符合预期?

    首先介绍几个概念:
    -CTS理论上需要所有的测项全部Pass,才能获得Google的approve,允许Android 手机出货。
    -实际上,由于CTS tool检查机制,以及security path的更新,会导致一些信息不同步的问题。简单的说,
    就是可能上了Google提供的新版security path,而CTS检查的是旧的值。就会造成与预期不符的CTS Fail。
    这一类fail会得到Google waive。
    -除了上面提到的情况,开发过程中的修改,也会与CTS要求不符,导致fail,这种fail就需要进行测试,及
    时发现,及时解决。

    那么怎么样是符合预期呢?
    1.测完所有的测试项目。比如说CTS 7.1r9有443486项,295个Moudle。这些需要全部执行。
    2.fail项只能包含如上提到的,经过Google waive 的fail。

    10.调试环境,进行retry

    实际执行CTS测试的时候往往状况比较多,比如说会出现如下情况:

    测试机掉线(自动关机,USB 连结超时,设备被上锁等等)
    测试执行到一半停下来了
    网络中断
    等等
    遇到这类情况,就需要认为的进行USB重连和调试网络的操作。
    给测试机做factory reset和重烧 syestem.img是比较常用的方法。

    11.发出CTS报告

    得到符合预期的CTS报告,就可以准备打包送给Google了,这里补充两点:

    发出之前确认报告的完整性
    Google只接受 .zip 格式的报告
    开发初期的CTS测试:

    开发初期由于android系统和CTS框架的稳定性问题,往往会碰到一些问题,比如说:

    测试机在测试过程中关机
    USB断线
    测试机不足
    CTS 不能retry
    项目初期Image更新速度快
    鉴于有上面这些问题,所以在开发初期的时候,建议采取一些策略:
    拿一版基本功能ready的Image进行测试,直到跑出完整的report。顺便也能直到这一版CTS tool的测项数
    量。并在今后的版本上对failed项目进行retry,直到结果的failed项目少于100时,再去整测CTS。

    CTS测试bug复验:

    CTS测试项目数量庞大,整测消耗的时间也比较长。
    在旧版本的fail项目,修复后需要在新版上验证,再进行送测。
    在复验的时候,一般有两种情况:

    1.别人跑了一版CTS,结果有fail项。自己再测试一下,排除环境问题。
    这时候需要拿到跑fail生成的report,复制到对应CTS环境的results路径下,并解压。
    然后,刷好对应Image,进行retry。
    retry命令介绍如下:
    -r, –retry [session ID] retry a previous session.
    –retry-type used with retry, retry tests of a certain status. Possible values include “failed”, “not_executed”,
    and “custom”. Valid values: [FAILED, NOT_EXECUTED, CUSTOM]

    2.旧版结果有fail项。新版需要确认是否修复。
    对于这种情况,因为版本号不一样所以retry命令不再适用了,当然非得用retry命令也是可以的,但是需要
    改reprot里的build-fingerprint。
    不过不建议这么做。因为有更方便的方法,就是用add subplan 命令。
    add subplan命令介绍如下:
    Add:
    a/add s/subplan: create a subplan from a previous session
    Options:(–是两个-,这里有显示问题,也可以在tradefed下敲help add查看帮助)
    –session : The session used to create a subplan.
    –name/-n : The name of the new subplan.
    –result-type : Which results to include in the subplan. One of passed, failed, not_executed. Repeatable.

    按照上面的方法新建subplan,然后使用: run cts –subplan <刚才创建的subplan name> 即可。是不是非
    常方便呢。

    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-9-21 00:36 , Processed in 0.063402 second(s), 22 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表