亚马逊应用商店应用测试标准
在您向亚马逊应用商店提交Amazon Fire设备应用或游戏时,这些应用或游戏必须通过一系列测试才有资格发布。开发应用时,请使用本页中的测试标准作为您自己的质量保证测试指南,通过测试后方可提交应用。
- 内容政策
- 一般资格条件
- 测试标准组1: 设备能力测试
- 测试标准组2: Fire TV设备上的应用行为
- 测试标准组2: Fire平板电脑设备中的应用行为(仅限Fire平板电脑)
- 测试标准组2: 关键应用性能指标
- 测试标准组3: 核心应用功能
- 测试标准组4: 亚马逊Fire TV遥控器行为(仅限Fire TV)
- 测试标准组5: Amazon Fire游戏控制器的行为(仅限Fire TV)
内容政策
您提交给我们的每个应用也必须符合亚马逊应用商店内容政策。如果亚马逊确定某个应用包含、促进或推广这些指南禁止的内容,亚马逊会拒绝该应用提交,并通过与您的开发者账户关联的电子邮件地址向您发送通知。
一般资格条件
总体来说,您的应用应符合以下条件:
- 提供简单、考虑周到、不会让用户感到困惑的用户体验。
- 经过全面彻底的测试,不存在错误和明显的缺陷,也不会导致崩溃。
- 提供告知用户操作成功与否的直观指示。
- 如果用户尝试访问不受支持的功能,则优雅退出。例如,应用可以显示一条错误消息,指出“This feature is not currently available”(此功能当前不可用)。
- 充分利用Fire平板电脑或Fire TV的屏幕区域。
- 不存在可见缺陷,例如图像缺失/失真/像素化、用户界面元素未对齐、文字难以辨认等。
- 用户界面文字不存在语法或拼写错误。
针对Fire TV的附加资格条件
专为Fire TV设计的应用应满足以下附加资格条件:
- 将应用设计为适合以1080p分辨率 (1920x1080px) 显示,以便尽可能提供最佳体验。
- 只需要用户输入有限的文字。大量文字输入会影响用户体验。
- 用户应能够在大约3米的距离看清文字和用户界面元素。
- 大小不超过2GB(推荐)。此大小包括首次启动时需要下载的所有附加资产或其他内容。请注意,如果应用的文件大小超过或接近4GB,则可能无法在设备上安装或运行。
针对Fire平板电脑的附加资格条件
专为Fire平板电脑设计的应用应满足以下附加资格条件:
- 应用的用户界面应考虑并利用通知栏和动态软键菜单行为。
亚马逊Fire TV遥控器和语音遥控器的资格条件
为了与Fire TV遥控器兼容,应用应具有以下特征:
- 有一个简单的用户界面,可通过上、下、左、右移动(方向键)轻松导航。
- 不需要动作事件或快速输入。
- 可以单手操作。不要求必须使用两只手才能持续交互。
- 如果用户需要握住遥控器的一侧才能使用应用,请在启动时告知这一情况,以便用户正确处理导航。
- 避免同时进行按钮输入,尤其是对于核心功能。
游戏和其他控制器
为了与游戏控制器(包括Amazon Fire游戏控制器和其他蓝牙游戏控制器)兼容,应用应具有一个简单的用户界面,可以通过方向键或模拟棒输入轻松导航。
如果应用需要使用任何其他控制器,则该控制器必须支持蓝牙HID游戏手柄配置文件,并且不需要额外的软件进行输入。
测试标准组1: 设备能力测试
这组测试旨在确保您的应用未使用Amazon Fire平板电脑或Fire TV设备上不存在的功能。如果应用请求不存在的设备权限,它应该以一种用户友好的方式处理这种错误状况,例如显示一条错误消息。当缺少这些设备功能时,应用不得强制关闭或崩溃。
为了让用户获得最佳体验,应用不应使用以下任何权限。
android.permission.SET_WALLPAPER
android.permission.CALL_PRIVILEGED
android.permission.CALL_PHONE
android.permission.MODIFY_PHONE_STATE
android.permission.READ_PHONE_STATE
android.permission.READ_SMS
android.permission.RECEIVE_SMS
android.permission.SEND_SMS
android.permission.WRITE_SMS
android.permission.ACCESS_FINE_LOCATION
android.permission.RECORD_AUDIO
此外,Fire TV应用不应使用以下权限:
android.permission.CAMERA
测试标准组2: Fire TV设备上的应用行为
您的应用必须与亚马逊Fire TV设备和Fire TV平台正确交互。要完成这组测试,需要在Fire TV设备上安装并启动应用。
2.1 安装大小
- 测试: 在磁盘上安装应用,确保应用的整个安装大小不超过4GB。
- 预期结果: 当应用完全安装在亚马逊Fire TV设备上时,其文件大小不得超过4GB。对于在首次启动时需要下载媒体或内容包以便访问整个核心功能的应用,应在这次初始启动和下载后测量安装大小。
2.2 安装时间
- 测试: 确保快速安装应用资源。
- 预期结果: 理想情况下,安装应用所用时间不超过15秒。确保从应用中移除不用的资源。这可以缩小应用大小并有助于快速安装。
2.3 快速加载时间
- 测试: 观察持续时间超过15秒的加载屏幕上是否显示loading消息。
- 预期结果: 如果加载时间超过15秒,应用必须向用户指出这一点(通过加载屏幕、进度条等)。
2.4登录功能
- 测试: 启动应用并观察应用中提供的所有可用登录选项的功能。
- 预期结果: 用户应该能够使用所有可用的登录选项登录应用。登录选项的一些示例包括使用激活码登录、手动登录和使用手机远程登录。确保登录和批准功能按照预期工作和显示。
2.5总体性能
- 测试: 确保应用的总体性能持续可用,并提供愉快的用户体验。如需更多指导,请参阅应用关键性能指标。
- 预期结果: 应用应保持较高的帧速率,不会长时间降到25fps以下。应用不应妨碍用户与其交互。例如,用户在键入时不应感到明显延迟。使用过程中,该应用不应强制关闭、崩溃或强制锁定。建议的平均帧速率为55-60fps,对于包含快速移动图形对象的应用,更应该达到这一要求。
2.6总体内存使用
- 测试: 对于您在亚马逊应用商店上发布的每个应用版本,确保在应用处于前台时的平均写入速度小于50MB/小时,在应用处于后台时的平均写入速度小于2MB/小时。
- 预期结果: 如果超出50MB/小时的eMMC写入速度上限,长此以往就会导致使用受影响应用的设备发生故障。发布应用更新之前,须确认通过应用播放的任何视频和/或音频均不会在eMMC中缓冲,因为这可能会导致应用写入到eMMC组件的速度超过50MB/小时。视频和/或音频的缓冲通常在eMMC以外的组件上完成。
2.7稳定性
- 测试: 确认应用在运行时能够保持稳定性和完整交互性。
- 预期结果: 在使用过程中,应用不得出现明显减速(FPS丢失)、强制关闭、崩溃、强制锁定或引发错误消息等情况。应用必须保持稳定,甚至在处理有冲突的输入时也是如此。
2.8图形问题
- 测试: 观察应用中的图形用户界面元素,确认没有失真、像素化、未对齐或其他图形异常问题。
- 预期结果: 该应用的图形不应出现失真、像素化、未对齐问题,或包含任何其他图形异常。此外,所有针对亚马逊Fire TV设备设计的应用都必须自动以横向模式显示,并且能够缩放,以适应最低分辨率为480p的电视/显示器的较大外形尺寸。
2.9屏幕显示面积
- 测试: 观察应用的屏幕占用量。
- 预期结果: 应用应占据90%的屏幕以便实现完全兼容(考虑到设计和用户体验指南中所述的过扫描问题)。但是,应用只要填满80%的屏幕并在屏幕上水平居中或垂直居中显示,也算通过测试;应用不应位于屏幕的一角。此外,屏幕上未填充的部分不得存在图形异常。
2.10文本输入和显示
- 测试: 识别应用核心功能中需要文本输入的所有区域,并从大约3米开外观察应用内文本。
- 预期结果: 应用的核心功能不得要求输入大量文本。用户界面组件(菜单、按钮、图像)必须足够大,间距足够远,从大约3米开外能看清。从这一距离处也必须能看清应用内文本。
2.11用户界面高亮显示
- 测试: 确保用户界面元素被选中时高亮显示。
- 预期结果: 应用应具备这样一个用户界面:通过向用户指示用户界面的当前焦点在哪里来容纳按钮(而非触控屏)输入。这可以通过默认的矩形框、可移动光标或用户选择的某种其他指示器来实现。
2.12触控屏用户界面
- 测试: 确保应用用户界面中没有显示虚拟操纵杆、暂停图标或其他与触控屏相关的内容。
- 预期结果: 当检测到控制器输入时,应用必须使触控屏用户界面元素降级,或者从应用中完全删除所有此类触控屏内容。
2.13导航能力
- 测试: 搜寻可能会困住用户的区域,即无法使用屏幕上的元素或控制器按钮导航的区域。
- 预期结果: 用户应能够在应用界面中随意导航,而不会卡在任何一个屏幕中。此外,用户不应被迫使用Home(主页)按钮退出应用。
2.14外部链接
- 测试: 观察应用是否将用户链接到外部内容。
- 预期结果: 外部链接不应中断应用的任何功能。仅当两个应用相互关联时,应用才能直接链接到另一个应用中的视频内容。另请参阅在您的应用内部提供深层链接。
2.15超高清晰度 (UHD),4K播放
- 测试: 如果您的应用支持,请选择并播放应用中的任何超高清或4K内容。
- 预期结果:
- 不应显示音频和视频失真。
- 音频和视频应该同步。
- 分辨率应为3840 x 2160。
-
测试提示:
Developer Tools Menu(开发者工具菜单)显示与颜色标准相关的信息。该菜单还提供了一些选项,可以提供有关应用的实时指标和其他信息。可以通过以下方式访问Developer Tools Menu。
- 遥控器: 在方向键区域,按住中心按钮一秒钟。在按住中心的同时,按下向下按钮。按住两个按钮三到四秒。然后松开两个按钮并按遥控器的菜单按钮。(如果这不起作用,请尝试同时而非连续按下中心按钮和向下按钮。)
- 亚马逊游戏控制器: 同时长按A和Y按钮5秒钟。松开两个按钮并按遥控器的菜单按钮。
- Android调试桥: 在Fire TV上启用ADB并连接计算机后,可以运行以下命令来引用Developer Tools Menu。
adb shell am start com.amazon.ssm/com.amazon.ssm.ControlPanel
要使用ADB命令,必须在Fire TV设置中启用ADB调试、安装Android Studio并知道Fire TV的IP地址。要查找您Fire TV的IP地址,转到Settings(设置)> My Fire TV(我的Fire TV)(或Device & Software(设备与软件))> About(关于)> Network(网络)。在计算机上打开终端窗口并使用以下命令通过ADB连接
adb connect 123.456.7.89:5555
。将123.456.7.89替换为您自己的IP地址。端口保留为5555。如果您希望在使用Android MediaCodec API时显示多媒体信息,请打开Advanced Options(高级选项)。如果您在启用此选项的情况下播放媒体,则屏幕上将显示一个附加显示画面。在附加显示画面中,MUL部分显示多媒体(音频和视频)信息,而AUD部分显示音频焦点信息。
以下屏幕截图显示了Developer Tools Menu和Advanced Options显示。
2.16 Dolby Vision,高动态范围 (HDR)
您应该能够在支持Dolby Vision或其他HDR格式的设备上播放以HDR或Dolby Vision格式录制的电影。要查看Fire TV的显示设置,请转至Settings> Display & Sounds(显示和声音)> Display(显示)。
- 测试: 在应用中选择并播放任何支持Dolby Vision或HDR的节目。
- 预期结果:
- 应该有一个标志或标签,指示内容以Dolby Vision或HDR格式提供。
- 不应显示音频和视频失真。
- 音频和视频应该同步。
- 颜色标准应当为BT2020。
- 测试提示
2.17 Dolby Atmos
您的应用应该能够检测设备功能,因此应该以Atmos音频格式流式传输支持Atmos的内容。如果音轨配置为Dolby Atmos编码格式,并且连接终端节点支持该编码格式,则内容应以Atmos音频格式播放。如果连接终端节点不支持Dolby Atmos,则您的应用必须回退到非Dolby格式。有关Dolby集成的更多指南,请参阅Dolby集成指南 (Fire TV)。
要查看Fire TV的Dolby设置,请转至Settings> Display & Sounds> Audio(音频)。
-
测试: 将支持Atmos的Fire TV连接到支持Atmos的音频/视频接收器 (AVR),或使用支持Atmos音频格式的电视。
要将Fire TV连接到AVR,请遵循以下步骤:
- 将Fire TV Stick连接到AVR输入端口。
- 使用HDMI电缆将AVR音频回传通道 (ARC) 端口连接到电视ARC端口。
要将智能电视连接到AVR,请遵循以下步骤:
- 将智能电视ARC端口连接到AVR ARC端口。
将Fire TV连接到AVR后,确保Fire TV显示视频,音频自AVR输出。由于AVR已连接,音频不应通过电视扬声器输出。
在应用中播放任何支持Atmos的内容。
-
预期结果:
- AVR的数字显示画面应显示文本“Atmos”。
- 播放期间音频和视频应同步。
- 不应有任何帧丢失、音频丢失或彩色伪影。
2.18音频焦点
播放音频的所有应用都应该正确获取和放弃音频焦点,并且与播放的持续时间完全匹配。为了避免音乐应用同时播放,Android引入了音频焦点的概念,这意味着一次只有一个应用可以保持音频焦点。有关如何处理音频焦点的更多信息,请参阅管理音频焦点 (Fire TV)。
- 测试:
- 播放应用(正在测试的应用)中的任何内容。
- 按遥控器上的Home按钮。
- 启动任何其他音乐应用。例如,Amazon Music。
- 按下遥控器上的Home按钮退出音乐应用。
- 启动正在测试的应用并继续播放。
- 在播放期间按Play/Pause(播放/暂停)。
- 预期结果:
- 应当不会发现音频重叠。
- 正在测试的应用应保持在前台,并且不应将焦点移回音乐应用。
2.19 HDMI断开连接
应用收到HDMI断开事件时,应用必须暂停媒体播放。应用不应在没有画面显示的情况下继续播放。播放4K品质的视频可能会使用大量数据,但如果没有画面显示,则不需要使用数据。即使纯音频应用也应在HDMI接收器断开连接时暂停播放。当HDMI线缆重新连接到显示屏时,应用应该保持暂停状态。有关更多信息,请参阅要求7.1: HDMI断开连接。
- 测试:
- 在应用中启动播放。播放期间,切换到电视的不同HDMI输入。等待至少三分钟,然后切换回Fire TV并启动应用。
- 在应用中启动播放。播放期间,使用遥控器上的电源按钮关闭电视。等待至少三分钟,然后打开Fire TV并启动应用。
- 预期结果:
- 更改HDMI输入时,应用中的播放应当暂停。
- 重新连接Fire TV后,内容应从相同位置继续播放。
- 不应当发现崩溃情况。
2.20不支持的软件
- 测试: 测试应用内功能对不支持的软件的依赖性。
- 预期结果: 如果应用因为依赖亚马逊Fire TV平台不支持的软件或操作系统功能而无法使用,则该应用不会通过测试。测试者应记下在此环节观察到的限制(主题、壁纸、小组件、虚拟键盘、程序启动器、应用评级等)。
2.21不支持的硬件
- 测试: 测试应用内控制是否使用不支持的硬件输入。
- 预期结果: 应用不得采用设备不支持的控制机制。这可能包括以下功能:
- 陀螺仪
- 加速度计(或“倾斜”控制)
- 其他外部硬件
- 不支持蓝牙HID游戏手柄配置文件的控制器。
2.22退出时间
- 测试: 确保在按Home按钮时,应用顺利而迅速地退出。
- 预期结果: 按Home按钮时,应用退出所用时间不应超过2秒。
2.23卸载
- 测试: 从设备上卸载应用。
- 预期结果: 应从设备中卸载该应用。
2.24卸载时间
- 测试: 确保应用迅速卸载并删除所有工件。
- 预期结果: 理想情况下,应用应在2秒内卸载。应用应尽可能少地在磁盘上创建工件。这有助于确保在卸载应用时更快速地清理。
测试标准组2: Fire平板电脑设备中的应用行为(仅限Fire平板电脑)
您的应用必须与Fire平板电脑及其操作环境正确交互。要完成这组测试,需要在Fire平板电脑上安装并启动应用。
2.1 启动时无任何错误
- 测试: 成功地从应用库启动应用。
- 预期结果: 应用在Fire平板电脑上启动并将用户带入应用界面,而不会出现任何错误。
2.2 快速加载时间
- 测试: 观察持续时间超过15秒的加载屏幕上是否显示loading消息。
- 预期结果: 如果加载时间超过15秒,应用必须向用户指出这一点(通过加载屏幕、进度条等)。
2.3 全屏模式可用性
- 测试: 如果应用使用全屏,观察软键工具栏是否最小化(可看到全屏手柄),并且Settings(设置)工具栏处于隐藏状态。
- 预期结果: 当应用使用全屏时,软键工具栏应最小化(可看到全屏手柄),并且Settings工具栏处于隐藏状态。
2.4 软键和Settings工具栏
- 测试: 如果应用不使用全屏,观察软键工具栏和Settings工具栏是否显示。
- 预期结果: 当应用不使用全屏时,软键工具栏和Settings工具栏应显示。
2.5 软键菜单按钮功能
- 测试: 观察软键菜单按钮展开后是否出现更多软键工具栏选项。
- 预期结果: 不需要使用Menu(菜单)按钮。但是如果使用,点按Menu按钮不应导致应用强制关闭。
2.6 正确的Back(后退)按钮行为
- 测试: 观察在应用内按Back按钮以退回到上一屏幕时该按钮的行为。
- 预期结果: 使用Back按钮不是必需的。但是如果使用,点按Back按钮不应导致应用强制关闭。
2.7 正确的Home按钮行为
- 测试: 观察在应用内按Home按钮时该按钮的行为。
- 预期结果: 使用Home按钮是必需的,并且应使用户回到Fire平板电脑的主屏幕。
2.8 正确的Search(搜索)按钮行为
- 测试: 观察在应用内按Search按钮时该按钮的行为。
- 预期结果: 使用Search按钮不是必需的。但是如果使用,点按Search按钮不应导致应用强制关闭,且应允许用户在应用内搜索。
2.9 调用Settings工具栏时应用的表现
- 测试: 观察Settings工具栏被调用时的行为,并观察更改设置(如音量)时应用的表现。
- 预期结果: 用户应能够在运行应用的同时更改Fire平板电脑设置。使用Settings菜单不应导致用户丢失状态、强制关闭应用,或以任何方式妨碍用户体验。
2.10 软键工具栏干扰
- 测试: 确认软键工具栏不会干扰应用或遮盖重要的用户界面元素。
- 预期结果: 软键工具栏不应妨碍应用的任何元素,例如按钮、文本或重要图形。
2.11 导航能力
- 测试: 搜寻可能会困住用户的区域,即无法使用屏幕上的元素或软键按钮导航的区域。
- 预期结果: 用户应能够在应用界面中随意导航,而不会卡在任何一个屏幕中。此外,用户不应被迫使用Home软键退出应用。
2.12 休眠模式后状态的保留
- 测试: 按Power(电源)按钮调用设备的休眠模式。
- 预期结果: 当设备从休眠模式转回工作模式时,应用应恢复到其休眠前的状态,保存所有用户数据和进度。为保存其状态,大多数应用应暂停;但是,有一些应用,如闹钟、收音机或音乐播放器等,应在设备休眠时继续运行。另外,如果用户状态丢失情况不严重,应用也可能通过测试。
2.13 下载期间网络连接中断
- 测试: 观察在下载期间网络连接中断时应用的行为。
- 预期结果: 对于大型下载(大型下载时间 >= 5分钟),唤醒锁应处于有效状态。如果未实现唤醒锁,而设备已进入休眠模式,则当用户返回到应用时,系统必须通过消息通知他们下载失败。
2.14 总体性能
- 测试: 确保应用的总体性能持续可用,并提供愉快的用户体验。如需更多指导,请参阅应用关键性能指标。
- 预期结果: 应用应保持较高的帧速率,不会长时间降到25fps以下。应用不应妨碍用户与应用交互。例如,用户在应用中键入时不应感到明显延迟。使用过程中,该应用不应强制关闭、崩溃或强制锁定。建议的平均帧速率为55-60fps,对于包含快速移动图形对象的应用,更应该达到这一要求。
2.15 强制关闭
- 测试: 观察任何可再现或不可再现的强制关闭。
- 预期结果: 用户必须能够与应用的用户界面和功能交互,不会遇到任何强制关闭。
2.16 强制锁定
- 测试: 观察任何可再现或不可再现的强制锁定。
- 预期结果: 用户必须能够与应用的用户界面和功能交互,不会遇到任何强制锁定。
2.17 因用户滥用引发的错误
- 测试: 反复按屏幕上的按钮或其他图形元素。
- 预期结果: 用户反复按某个按钮时应用不应强制关闭。
2.18 图形问题
- 测试: 观察应用中的图形用户界面元素,确认没有失真、像素化、未对齐或其他图形异常问题。
- 预期结果: 该应用的图形不应出现失真、像素化、未对齐问题,或包含任何其他图形异常。用户不应遇到图形质量差的问题。
2.19 用户界面错位
- 测试: 观察按键时是否存在用户界面错位情况。
- 预期结果: 确认用户界面图形的位置准确对应其交互区域在触控屏上的位置。例如,有时用户可能不得不在按钮显示位置上方的20px处按,相应功能才会有反应,这属于失败情形。
2.20 外部链接
- 测试: 观察应用是否将用户链接到外部内容。
- 预期结果: 应用内的外部链接不应中断应用的任何功能。从外部链接返回到应用后,应用应保存用户状态和进度。有些链接会引导用户前往尚未上线的应用,这时可能会链接失败。这是预期行为,但相关应用上线后,链接应该有效。仅当应用之间相互关联时,这些应用才能直接链接到另一个应用中的视频内容。另请参阅在您的应用内部提供深层链接。
2.21屏幕显示面积
- 测试: 观察应用的屏幕占用量。
- 预期结果: 应用应占据100%的屏幕以便实现完全兼容。但是,应用只要填满80%的屏幕并在屏幕上水平居中或垂直居中显示,也算通过测试;应用不应位于屏幕的一角。此外,屏幕上未填充的部分不得存在图形异常。
2.22 音量控制
- 测试: 观察应用内音量和静音控制的行为。
- 预期结果: 应用中内置的任何音量和静音功能都应按预期工作。如果静音,则不应有声音播出。
2.23 文本放置
- 测试: 观察用户输入数据字段内的文本放置和文本。
- 预期结果: 输入框应完整显示用户键入的文本,不应存在文本被裁剪或无法辨认的情况。
2.24 方向改变
- 测试: 观察当设备在横向和纵向模式间切换时应用的行为。根据需要在整个应用内重复测试。
- 预期结果: 当屏幕方向旋转时,屏幕上的图形也应跟着调整以填充新的布局。从一种布局切换为另一种布局时,文本、图形和按钮应正确显示且功能完整。请注意,并非所有应用都允许旋转屏幕。另请注意,照片和视频可能无法跟着调整,因为它们具有固定宽高比。
2.25 社交网络登录功能
- 测试: 观察任何社交网络登录页面的功能。
- 预期结果: 用户应能够与社交网络登录页面交互,进而登录其账户。确保登录和批准功能按照预期工作和显示。
2.26 短信或彩信优雅退出
- 测试: 观察应用内用于提交或尝试共享用户数据的按钮的行为。
- 预期结果: 使用短信或彩信共享用户数据的应用不应强制关闭。这些应用应能够优雅退出,同时显示一条相关错误消息。
2.27 社交网络共享
- 测试: 观察社交网络功能及其与应用的交互。
- 预期结果: 如果应用包含任何社交网络集成(Facebook、Twitter等),则确认用户能够按预期在这些媒体中上传/共享内容。账户创建: 如果应用提供的外部服务要求用户创建账户,则确认能够创建账户,并且该账户可与应用结合使用。
2.28 亚马逊应用商店链接正常工作
- 测试: 观察链接到亚马逊应用商店的外部链接。
- 预期结果: 所有指向其他应用的链接应正确链接到亚马逊应用商店。如果一个链接直接指向亚马逊应用商店中的某个应用,而该应用目前未在商店上线,则可以接受该链接失败。
2.29 卸载
- 测试: 从设备上卸载应用。
- 预期结果: 应从设备中卸载该应用。
2.30 退出时间
- 测试: 退出应用。
- 预期结果: 按Home按钮时,应用退出所用时间不应超过2秒。
2.31 安装时间
- 测试: 确保快速安装应用资源。
- 预期结果: 理想情况下,安装应用所用时间不超过15秒。确保从应用中移除不用的资源。这将缩小应用大小并有助于快速安装。
2.32 卸载时间
- 测试: 确保应用迅速卸载并删除所有工件。
- 预期结果: 理想情况下,应用将在2秒内卸载。应用应尽可能少地在磁盘上创建工件。这将有助于确保在卸载应用时更快速地清理。
2.33 方向锁定
- 测试: 确保应用的方向按照设备方向设置正确显示。
- 预期结果: 如果在设备设置中锁定了设备方向,则在旋转设备时,应用的方向不应改变。应用应按照其默认方向或设备中的锁定方向打开。如果设备中锁定了方向,则应用方向不应随着设备旋转自动改变。
2.34 电池使用情况
- 测试: 确保应用不会过度消耗电池。
- 预期结果: 耗电量大的操作应得到优化,以确保功耗保持在较低水平。
2.35 温度
- 测试: 确保即使长时间使用,设备温度也不会升高到让用户感到不舒服的程度。
- 预期结果: 用户手持设备时,应用不应使设备温度升高到让用户感到不舒服的程度。如果持续使用应用1小时后,设备温度从正常环境温度(33摄氏度)升高到40摄氏度,则应用将被视为未通过测试。确保优化耗电量大的操作,将设备温度保持在较低水平。
2.36 手势
- 测试: 所有可能的手势均应根据其标准行为来处理。预期结果: 手势(如捏合/放大、左/右/上/下滑动、按住等)应按预期工作。
2.37 USB插拔后状态的保留
- 测试: 确保插拔USB后游戏保留其状态。
- 预期结果: 当设备从USB模式转回正常模式后,应用应恢复到其之前的状态,保存所有用户数据和进度。
2.38 后台错误/异常
- 测试: 确保应用没有引发异常。
- 预期结果: 建议您分析设备日志,查看应用是否引发了任何错误或异常。理想情况下,应用不应在后台引发任何错误或异常。
测试标准组2: 关键应用性能指标
启动测试所需的时间
冷启动:显示第一帧所需的时间
这是应用进程终止或设备重新启动后应用首次启动时,从启动直到显示第一帧所用的时间。Fire TV和Fire平板电脑应用应在冷启动后2秒内显示第一帧。
参数 | 测试详情 |
---|---|
测量 | 自动化 |
迭代 | 平均50次迭代 |
网络 | Wi-Fi(最小速度: 25 Mbps) |
设备 | 正在测试的设备 (DUT): - FOS6: Fire TV Stick 4K (2018) - FOS7: 带语音遥控器的Fire TV Stick (2020) - Fire HD 10平板电脑 (2023) |
被测应用 (AUT) - 先决条件
- 使用测试账户登录设备。
- 下载正在测试的应用。
- 设备处于稳定状态。
- 确保后台不存在应用。
测试步骤
- 确保AUT没有在后台运行。如果有,请使用adb命令终止应用进程。
- 使用adb命令
adb shell am start AppPackage/AppActivity
启动应用。 - 计算绘制应用第一帧所用的时间。
- 强制关闭应用。
- 重复步骤1-4,进行50次迭代。
adb logcat | grep "Displayed APP_PACKAGE_NAME/LAUNCHER_ACTIVITY"
adb logcat | findstr "Displayed APP_PACKAGE_NAME\LAUNCHER_ACTIVITY"
示例输出: ActivityManager: Displayed APP_PACKAGE_NAME/LAUNCHER_ACTIVITY +930ms (total +849ms)
热启动:显示第一帧所需的时间
这是当应用进程已在后台运行时,应用从启动直到显示第一帧所用的时间。作为该启动活动的一部分,系统将应用从后台带到前台。Fire TV和Fire平板电脑上的所有应用应在热启动后1秒内显示第一帧.
参数 | 测试详情 |
---|---|
测量 | 自动化 |
迭代 | 平均50次迭代 |
设备 | 正在测试的设备 (DUT): - FOS6: Fire TV Stick 4K (2018) - FOS7: 带语音遥控器的Fire TV Stick (2020) - Fire HD 10平板电脑 (2023) |
被测应用 (AUT) - 先决条件
- 使用测试账户登录设备。
- 下载正在测试的应用。
- 设备处于稳定状态。
- 确保后台不存在其他应用。
测试步骤
- 启动AUT并按下Home按钮。确保AUT在后台。
- 通过adb命令adb shell am start AppPackage/AppActivity启动应用。
- 计算绘制应用第一帧所用的时间。
- 按下Home按钮。
- 重复步骤2-4,进行50次迭代。
adb logcat | grep "Displayed APP_PACKAGE_NAME/LAUNCHER_ACTIVITY"
adb logcat | findstr "Displayed APP_PACKAGE_NAME\LAUNCHER_ACTIVITY"
示例输出: ActivityManager: Displayed APP_PACKAGE_NAME/LAUNCHER_ACTIVITY +930ms (total +849ms)
冷启动:准备就绪所需的时间
这是应用进程终止或设备重新启动后应用首次启动时,从启动直到应用完全绘制并准备好进行用户交互时所用的时间。Fire TV应用应在冷启动后的10秒内准备好供使用。对于Fire平板电脑应用,游戏应用的阈值为15秒,非游戏应用的阈值为10秒。
参数 | 测试详情 |
---|---|
测量 | 自动化或手动 |
迭代 | 平均10次迭代 |
设备 | 正在测试的设备 (DUT): - FOS6: Fire TV Stick 4K (2018) - FOS7: 带语音遥控器的Fire TV Stick (2020) - Fire HD 10平板电脑 (2023) |
被测应用 (AUT) - 先决条件
- 使用测试账户登录设备。
- 下载正在测试的应用。
- 设备处于稳定状态。
- 确保后台不存在其他应用。
测试步骤
- 确保AUT没有在后台运行。如果有,请使用adb命令终止应用进程。
- 启动应用。如果您的应用没有实现
reportFullyDrawn
,则在启动应用的同时启动手动计时器。有关更多信息,请参阅reportFullyDrawn
文档。 - 计算应用完全加载所用的时间 - 完全加载是指客户可以开始与应用交互的应用状态。
- 强制关闭应用。
- 重复步骤1-4,进行10次迭代。
adb logcat | grep "Fully drawn APP_PACKAGE_NAME/LAUNCHER_ACTIVITY"
adb logcat | findstr "Fully drawn APP_PACKAGE_NAME\LAUNCHER_ACTIVITY"
示例输出: ActivityManager: Fully drawn APP_PACKAGE_NAME/LAUNCHER_ACTIVITY +930ms (total +849ms)
如果应用尚未实现reportFullyDrawn
方法,则您可以手动测量准备好可供使用所需的时间(可能不准确)。
热启动:准备好可供使用所需的时间
这是当应用进程已在后台运行时,应用从启动直到应用完全绘制并准备好可供使用时所用的时间。作为该启动活动的一部分,系统将应用从后台带到前台。Fire TV应用和Fire平板电脑应用应在热启动后的2秒内准备好供使用。对于需要用户登录的应用,应根据登录后用例来衡量该时间。
参数 | 测试详情 |
---|---|
测量 | 自动化或手动 |
迭代 | 平均10次迭代 |
设备 | 正在测试的设备 (DUT): - FOS6: Fire TV Stick 4K (2018) - FOS7: 带语音遥控器的Fire TV Stick (2020) - Fire HD 10平板电脑 (2023) |
被测应用 (AUT) - 先决条件
- 使用测试账户登录设备。
- 下载正在测试的应用。
- 设备处于稳定状态。
- 确保后台不存在应用。
测试步骤
- 启动AUT并按下Home按钮。确保AUT在后台。
- 启动应用。如果您的应用没有实现
reportFullyDrawn
,则在启动应用的同时启动手动计时器。 - 计算应用完全加载所用的时间 - 完全加载是指来到客户可以与应用交互的应用画面。
- 按下Home按钮。
- 重复步骤2-4,进行10次迭代。
adb logcat | grep "Fully drawn APP_PACKAGE_NAME/LAUNCHER_ACTIVITY"
adb logcat | findstr "Fully drawn APP_PACKAGE_NAME\LAUNCHER_ACTIVITY"
示例输出: ActivityManager: Fully drawn APP_PACKAGE_NAME/LAUNCHER_ACTIVITY +930ms (total +849ms)
如果应用尚未实现reportFullyDrawn
方法,则您可以手动测量准备好可供使用所需的时间(可能不准确)
内存测试
前台内存使用情况
这是应用在前台和视频播放过程中消耗的内存。Fire TV应用应将4K视频应用的前台内存 (RAM) 消耗限制在400MB,1080P或更低分辨率的应用应限制在300MB。Fire平板电脑游戏应用应将前台内存消耗限制在1000MB以下,非游戏应用则应将前台存储消耗限制在600MB以下。
参数 | 测试详情 |
---|---|
测量 | 自动化 |
迭代 | 平均10次迭代 |
设备 | 正在测试的设备 (DUT): - FOS6: Fire TV Stick 4K (2018) - FOS7: 带语音遥控器的Fire TV Stick (2020) - Fire HD 10平板电脑 (2023) |
被测应用 (AUT) - 先决条件
- 使用测试账户登录设备。
- 下载正在测试的应用。
- 设备处于稳定状态。
- 确保后台不存在应用。
测试步骤
- 确保AUT没有在后台运行。如果有,请使用adb命令终止应用进程。
- 通过adb命令
adb shell am start AppPackage/AppActivity
启动应用。 - 打开应用,播放视频内容15分钟。
- 计算应用的前台内存使用情况。
- 按下Home按钮。
- 重复步骤2-4,进行10次迭代。
adb shell dumpsys meminfo | grep “APP PACKAGE”
adb shell dumpsys meminfo | findstr “APP PACKAGE”
示例输出: 81,773K: APP PACKAGE (pid 21917/activities)
视频流媒体播放后的后台内存使用情况
这是应用处于前台时,在视频播放会话后立即将该应用置于后台后该应用所消耗的内存。虽然没有定义后台内存消耗的阈值,但当系统内存 (RAM) 不足时,应用在后台使用的内存量将是终止后台应用的决定性因素。当系统需要更多内存用于前台和其他优先任务时,将首先终止后台内存消耗量最高的应用。
参数 | 测试详情 |
---|---|
测量 | 自动化 |
迭代 | 平均10次迭代 |
设备 | 正在测试的设备 (DUT): - FOS6: Fire TV Stick 4K (2018) - FOS7: 带语音遥控器的Fire TV Stick (2020) - Fire HD 10平板电脑 (2023) |
被测应用 (AUT) - 先决条件
- 使用测试账户登录设备。
- 下载正在测试的应用。
- 设备处于稳定状态。
- 确保后台不存在应用。
测试步骤
- 确保AUT没有在后台运行。如果有,请使用adb命令终止应用进程。
- 通过adb命令
adb shell am start AppPackage/AppActivity
启动应用。 - 打开应用,播放视频内容15分钟。
- 按Home按钮将应用发送到后台。
- 等待60秒。
- 计算应用的后台内存使用情况。
- 重复步骤2-4,进行10次迭代。
adb shell dumpsys meminfo | grep “APP PACKAGE”
adb shell dumpsys meminfo | findstr “APP PACKAGE”
示例输出: 81,773K: APP PACKAGE (pid 21917/activities)
有关更多信息,请参阅应用性能脚本。
测试标准组3: 核心应用功能
一般来说,您的应用应“按照设计的方式工作”。 虽然这是一个笼统的说法,但核心功能往往被忽略,而这正是测试最重要的方面之一。下面的测试关系到诸如游戏是否正确得分、是否遵循游戏规则等情况。
3.1 核心应用功能
- 测试: 观察应用的核心功能。
- 预期结果: 确定应用的主要目的,以及能否在Amazon Fire平板电脑或Fire TV设备上实现此目的(例如,音乐应用必须能够播放音乐)。
3.2 功能缺失
- 测试: 观察应用是否有任何缺失的功能,这些功能可能作为特性列在应用元数据下。
- 预期结果: 应用描述中提到的功能应作为应用功能的一部分提供。
3.3 优雅降级
- 测试: 观察应用中使用的受目标Fire设备支持的所有功能。
- 预期结果: 如果应用有任何功能在目标Fire设备上不可用,则应优雅降级,显示一条错误消息,而不是强制关闭。
优雅降级的应用应仍然能够为终端用户提供价值。如果应用的核心功能不可用,而这些核心功能是应用的唯一价值,则应用将不会通过测试。例如,如果一个拍照应用无法让用户拍照,即便它告知用户相机不可用,该应用仍不会通过测试。
如果一个应用的某些次要功能无法使用,但其主要功能仍然可以使用,则该应用仍可能通过测试。例如,如果一个公交线路应用通知用户Google地图不可用,而用户仍然能够查看公交线路和公交时间表,则该应用可以通过测试。
3.4 电子邮件(仅限Fire平板电脑)
- 测试: 观察当设备上设置和未设置电子邮件时,与应用核心功能相关的外部电子邮件应用使用的功能。
- 预期结果: 如果应用的核心功能之一是通过某个外部电子邮件客户端发送电子邮件,则应当在没有预先通过该外部电子邮件客户端设置用户电子邮件的情况下对其进行测试。据观察,应用在试图调用外部电子邮件客户端时会强制关闭。预期结果是应用不应强制关闭。应用可以在发出或不发出消息来通知用户的情况下禁用电子邮件功能。
3.5 软件相关设置
- 测试: 观察在更改软件相关选项的设置(例如,游戏难度、筛选和显示设置)时应用的行为。
- 预期结果: 测试的设置应按预期发挥作用,更改应用中的相关功能。
3.6 硬件相关设置(仅限Fire平板电脑)
- 测试: 观察在更改硬件相关选项的设置(例如,音量、加速度计以及横向和纵向设置)时应用的行为。
- 预期结果: 测试的设置应按预期发挥作用,更改应用中的相关功能。
3.7 应用数据存储
- 测试: 观察应用在退出后能否保存用户状态或数据。
- 预期结果: 如果应用具有保存用户数据的模式或功能,则必须存储该数据,并且在退出并重启应用后仍能访问数据。
3.8 更新后数据的持久性
- 测试: 安装应用的一个旧版本并保存一些用户数据。在旧版本的基础上安装应用的最新版本。观察能否在应用的新版本中访问旧版本中保存的数据。
- 预期结果: 应用应保留用户数据,如游戏数据、通过“应用内购买”所购买的内容、保存的设置、下载的内容、登录凭证、搜索、保存的聊天记录、书签和保存的页面。
3.9 访问外部应用
- 测试: 确保应用依赖项得到正确处理。
- 预期结果: 如果您的应用依赖另一个应用来执行某些任务(例如发送一个文件),而设备上没有其他应用可执行此操作,则主应用不应强制关闭。
3.10 布局(仅限Fire平板电脑)
- 测试: 确保应用的布局适合Fire平板电脑屏幕。
- 预期结果: 应用外观不应像针对Fire平板电脑屏幕放大的手机版应用。布局和用户界面元素(如按钮、文本输入框、字体、图像等)应针对Fire平板电脑进行优化。此外,触控目标不应太小。应该能够轻松识别对象。尺寸应足够大,间距应足够宽,即便是粗手指也能自如操作。
3.11 硬件加速(仅限Fire平板电脑)
- 测试: 确保在整个应用中实现平滑的2D图形渲染。
-
预期结果: 应在清单文件中启用硬件加速。要启用硬件加速的2D图形,应编辑AndroidManifest.xml文件并向
<application />
标签中添加以下属性:android:hardwareAccelerated="true"
3.12 第三方控制器支持(仅限Fire TV)
- 测试: 确保应用支持的任何第三方控制器均与蓝牙HID游戏手柄配置文件兼容。
- 预期结果: 亚马逊Fire TV设备支持使用第三方控制器,只要这些控制器遵循蓝牙HID游戏手柄配置文件即可。不支持需要额外安装驱动程序或启动器应用的专有技术。
3.13 多控制器输入(仅限Fire TV)
- 测试: 对于支持本地多人游戏的应用,确保应用接受来自多个控制器的同时输入。
- 预期结果: 应用必须处理来自多个控制器的同时按钮输入,并且不会对游戏体验造成任何不利影响。如果应用支持多种控制器类型,则必须可以通过受支持控制器的任意组合来参与本地多人游戏。
3.13 音频播放
- 测试: 确保用户退出应用后,应用立即停止播放音频。
- 预期结果: 应用必须在用户退出应用时立即停止播放音频。音乐应用(如果正在播放内容)可能会在后台继续播放。新的音频源开始播放(例如通过启动另一个应用)后,第一个应用就必须让出音频焦点。
3.14 时钟屏保和系统待机(仅限Fire TV)
- 测试: 确保设备一旦进入时钟屏保状态(显示屏幕保护程序)或待机模式,应用便停止播放音频。
- 预期结果: 当设备进入时钟屏保(屏幕保护程序)或待机模式时,应用应停止播放音频。此规则有两个例外:
- 视频应用(如果正在播放内容)必须保持开启状态(
FLAG_KEEP_SCREEN_ON
),并且永远不应进入时钟屏保或待机模式。 - 音乐应用(如果正在播放内容)必须继续通过时钟屏保和待机模式播放内容,而不丢失音频焦点。
3.15 元数据
- 测试: 确保为应用提交的任何屏幕截图和图标均大小正确,不包含图形错误,并且代表应用的适当版本。
- 预期结果: 提交的应用必须包括一个大图标(512×512 PNG,透明)和3到10个屏幕截图(PNG或JPG)。在用户界面中查看时,这些图像不得出现失真、拉伸或像素化情况。请注意,如果您在提交过程中没有为应用提供特定于亚马逊Fire TV的屏幕截图,则在Fire TV应用商店中,系统将使用您提供的任何手机或平板电脑屏幕截图来代表您的应用。这会让您的客户感到困惑。如果应用的目标设备是Fire TV,则提供正确的Fire TV屏幕截图,或者使用通常适用于所有设备的可以代表应用的屏幕截图。有关图像指南,请参阅图像和视频。
测试标准组4: 亚马逊Fire TV遥控器行为(仅限Fire TV)
亚马逊Fire TV使用遥控器控制进行导航和用户输入。Fire TV平台不支持用户使用鼠标或键盘输入,也不支持触控。
注意: 除4.2小节(麦克风按钮)外,本节中的所有测试均同时涉及亚马逊Fire TV遥控器和Alexa语音遥控器。
4.1 Select(选择)按钮
- 测试: 按Select按钮。测试使用方向键高亮显示用户界面元素的情形,以及没有用户界面元素高亮显示的情形。
- 预期结果: 按Select按钮时,必须在高亮显示的用户界面对象上启动一个逻辑操作(类似于触控屏高亮显示区域上的“点按”输入)。
4.2 Microphone(麦克风)按钮(仅限Fire TV语音遥控器)
- 测试: 按Microphone按钮并执行语音搜索。
- 预期结果: 确认按Microphone按钮时,不会因语音搜索活动而导致稳定性或图形问题。应用必须实施
onPause()
,然后实施onResume()
,以便在语音搜索取消时保留状态。对于音乐应用,应通过使用OnAudioFocusChangeListener
减小音量。
4.3 方向键
- 测试: 在各个方向(左/右/上/下)按方向键。
- 预期结果: 方向键必须移动焦点并高亮显示给定方向的用户界面。
4.4 Home按钮
- 测试: 按Home按钮。
- 预期结果:
- 对于亚马逊应用商店中归类为游戏的应用,Home按钮将显示一个Game Paused(游戏已暂停)对话框。此行为不得导致应用内出现稳定性或图形问题。应用必须实施
onPause()
,以便在显示Game Paused对话框时保留状态。 - 对于所有其他应用,Home按钮使用户导航至Fire TV启动器的Home部分。应用必须实现
onPause()
,以便在意外返回主页时保留状态。
4.5后退按钮
- 测试案例: 在应用中按下“后退”按钮时,用户界面应恢复到上一个画面。
- 预期结果: 使用Back按钮不是必需的。但是如果使用该按钮,点按“后退”按钮不应导致应用强制关闭或在用户界面中进入无限循环。
4.6媒体按钮
- 测试: 按Fast Forward(快进)、Play/Pause和Rewind(倒回)按钮。
- 预期结果: 在媒体播放过程中,媒体按钮按预期发挥作用。 在非媒体应用中,不应将媒体按钮用于某些其他功能,因为这可能会干扰系统控制媒体在后台播放的能力。 请注意,如果您的应用使用一种框架(如Unity),那么您可以忽略此要求,因为这些框架中不支持将键事件传递给系统。
4.7所有其余按钮
- 测试: 按所有其余按钮。
- 预期结果: 对于这些其余按钮没有行为要求。但是:
- 单按某个按钮不得使用户退回到主屏幕。
- 按钮可以使用户在用户界面中向后导航。
- 如果用户位于应用的主菜单中(或者用户界面导航对应的起始点),则应用可以通过按某个按钮退出。
4.8核心功能
- 测试: 观察并测试应用的核心功能。
- 预期结果: 确定了应用的最常见用例/使用场景之后,执行详细的功能测试排练(10-15分钟)。确定在使用此特定控制器浏览其功能时,应用是否与亚马逊Fire TV设备完全兼容。**注意:**某些应用可能需要在按下按钮的同时进行输入(例如与Select按钮配对的方向键输入),才能导航和使用应用的核心功能。由于亚马逊Fire TV遥控器和语音遥控器针对单手操作进行了优化,所以此功能测试必须确定是否可以接受单手UX来与应用持续交互。
测试标准组5: Amazon Fire游戏控制器的行为(仅限Fire TV)
所有已宣布与游戏控制器兼容的应用都使用Amazon Fire游戏控制器作为基准设备来进行评估。只支持利用蓝牙HID游戏手柄配置文件的游戏控制器。
5.2 方向键
- 测试: 在各个方向(左/右/上/下)移动方向键。
- 预期结果: 移动方向键必须沿给定方向在用户界面中移动焦点。
5.3 A按钮
- 测试: 按A按钮。
- 预期结果: 使用A按钮确认菜单选项或接受用户界面提示。
- 对于游戏,在游戏过程中,按A操作按钮应执行游戏控制布局的主要操作。
- 在媒体应用中,A按钮还应播放或暂停音频/视频。
5.4 B按钮
- 测试: 按B按钮。
- 预期结果: 必须能够通过按B按钮来向后导航退出菜单选项以及拒绝用户界面提示。如果应用是一款游戏,则在游戏过程中,按B操作按钮应执行游戏控制布局的辅助操作。
5.5 Home按钮
- 测试: 按Home按钮。
- 预期结果:
- 对于亚马逊应用商店中归类为游戏的应用,Home按钮将显示Game Paused对话框。此行为不得导致应用内出现稳定性或图形问题。应用必须实施
onPause()
,以便在显示Game Paused对话框时保留状态。 - 对于所有其他应用,Home按钮使用户导航至Fire TV启动器的Home部分。应用必须实施
onPause()
,以便在意外返回启动器时保留状态。
5.6 媒体按钮
- 测试: 按Fast Forward(快进)、Play/Pause和Rewind(倒回)按钮。
- 预期结果: 在媒体播放过程中,媒体按钮按预期发挥作用。 在非媒体应用中,不应将媒体按钮用于某些其他功能,因为这可能会干扰系统控制媒体在后台播放的能力。 请注意,如果您的应用使用一种框架(如Unity),那么您可以忽略此要求,因为这些框架中不支持将键事件传递给系统。
5.7 其余按钮
- 测试: 按所有其余按钮并移动左、右模拟棒(左/右/上/下)。
- 预期结果: 对于这些其余按钮或模拟棒没有行为要求。但是:
- 单按某个按钮不得使用户退回到主屏幕。
- 按钮可以使用户在用户界面中向后导航。
- 如果用户位于应用的主菜单中(或者用户界面导航对应的起始点),则应用可以通过按某个按钮退出。
5.8 核心功能
- 测试: 观察并测试应用的核心功能。
- 预期结果: 确定了应用的最常见用例/使用场景之后,执行详细的功能测试排练(10-15分钟)。确定在使用此特定控制器导航功能时,应用是否与亚马逊Fire TV完全兼容。
Last updated: 2024年11月5日