写点什么

优酷暗黑模式(十一):质量保证简析

  • 2020-02-29
  • 本文字数:2220 字

    阅读完需:约 7 分钟

优酷暗黑模式(十一):质量保证简析

一、测试背景

随着 iOS 13 系统添加了对暗黑模式的支持,暗黑模式所带来的质感以及填充感是大家所公认的。优酷 App 也准备加入对 iOS 13 和 Android 10 系统的暗黑模式支持,优酷测试部门的暗黑模式适配工作提上了日程。全站暗黑视觉升级对测试来说也是全新的挑战,因为暗黑模式的适配涉及大到一个页面、组件,小到一个按钮、一个组件元素;涉及到交互弹窗、Toast,同时也有全局换肤以及氛围配置的兼容工作。


那么优酷测试部门是怎么去覆盖全站的暗黑模式的测试工作的呢?这篇文章希望通过对暗黑模式测试的简单总结,来为未来的全站颜色切换等测试流程提供方法沉淀,同时也希望给其他 BU 开展暗黑模式适配的测试提供参考。


二、测试方案

起初,对于优酷 App 暗黑模式的测试,我们邀请开发同学进行了实现方案讲解,分析影响面之后,我们总结出有效 review case 7 类。起初,测试团队认为这些 case 足以覆盖所有的情况,剩下的 UI 细节交给设计同学走查验收。



可是,在之后的实际测试中,我们发现除一级页面之外,其他二级页面,小的组件都存在没有切暗黑状态的情况。要么被开发同学遗漏,或者被设计走查遗漏。并且还发现 App 启动崩溃、App 启动耗时变长、iOS 13 以下系统的兼容性等问题。经过复盘之后,测试团队觉得暗黑模式的测试可能没有这么简单,光凭这 7 类 case 是不够全面的,大家之前的评估存在偏差。


所以我们需要考虑暗黑模式适配到底需要测什么?通过测试中遇到的问题,我们不难看出暗黑模式测试需要包括功能、性能、稳定性、兼容性、用户体验,相关的测试一个都不能少。需要方方面面覆盖,不然 App 整体的质量及用户体验堪忧。


1、暗黑怎么测?

通过上面的介绍,我们知道了测什么。那么,应该怎么测呢?各个阶段我们需要关注哪些内容?下面详细介绍怎么测,以及对应测试阶段需要关注的测试点避免踩坑。

1) 功能测试

全站暗黑模式测试是有很多页面的,我们需要覆盖这些大大小小、深深浅浅的页面呢。这里,我们就要整体确定测试维度,避免忙乱无序,事倍功半。前期就需要我们制定有序的测试维度:


2) Android 10、iOS 13 及以上系统设备

基本测试 case 包括下面几个方面:


  • 深色/浅色切换显示颜色模式正确

  • 暗黑模式下切换皮肤、氛围,优先级暗黑<皮肤<氛围

  • 冷启动、切后台暗黑模式读取状态正确


有一些特殊组件是需要专门适配的。例如: 服务端下发标题 image 在暗黑模式下展示效果不正确,所以针对此类特殊组件需要降级处理。


2、稳定性测试

最开始,我们并未为暗黑模式添加全局的 "enable/disable"开关。然而,优酷 iOSApp 提测之后,我们发现 App 偶现启动崩溃。经过定位,发现此类崩溃是读取暗黑模式需要的颜色时机过早,iOS 暗黑 SDK 还未初始化完毕导致的。


针对此类问题我们设计了兜底策略,保证一定能读取到相应的值。同时,添加全局"enable/disable"开关,App 默认开启暗黑模式,如果遇到质量问题可以随时下线。


3、兼容性测试

1) Android 10、iOS13 以下系统设备

下面是我们需要测试的点


  • Android 10,iOS13 以下的手机要能正常安装支持暗黑模式的包且正常工作

  • Android 10,iOS13 以下的系统不能错误地读取到暗黑模式的色值和资源

2)Android 9 系统厂家自行实现“暗黑模式”的情况

  • 需要检查此类设备切到非官方“暗黑模式”后,功能有没有严重异常。由于这类暗黑模式的实现非官方,针对此设备上出现的轻微 UI 问题,一般不做修复。

  • 此类机型上我们出现过播放场景横竖屏切换崩溃的问题 。

4、用户体验

我们在保证技术实现的基础上,必须要保证用户体验达标。本着对用户负责的态度,暗黑模式的验收第一标准就是用户体验。针对用户体验问题也是最高优先级修复:我们在保证技术实现的基础上,必须要保证用户体验达标。本着对用户负责的态度,暗黑模式的验收第一标准就是用户体验。


针对用户体验问题也是需要最高优先级修复。所以暗黑模式准备上线的时候,优酷 App 是准备默认不打开暗黑模式,通过下发配置来打开开关,二次启动 App 暗黑模式才会生效。测试团队认为这个方案导致视觉观感不佳,对这个方案进行了质疑。虽然看似确保了稳定性,但是严重影响用户体验。所以最终研发团队修改了方案,在最大程度保证稳定性的前提下,将优酷 App 的暗黑模式设置为默认打开。

三、展望

暗黑模式的上线,给测试团队的测试工作带来了极大的挑战,我们也在思考如何减轻测试团队的压力。


1、暗黑模式的页面和组件改造可能是有遗漏的。是否可以把已经实现暗黑模式的组件加上埋点,上线后通过捞取数据来查缺补漏。


2、针对暗黑模式的回归测试方案,怎么能最大化的减少测试回归量。目前方案:iOS 13 暗黑模式下跑全量功能 case,每个业务场景试一下浅色模式和暗黑模式的切换;Android 10 暗黑模式下跑全量功能 case,每个业务场景试一下浅色模式和暗黑模式的切换。


3、之后新开发的组件,如何减小测试回归范围。


对于这些问题,如果各位同学有好的建议和想法,欢迎在评论中和我们交流。


作者简介


琴奇,阿里文娱测试开发工程师。


相关阅读


优酷暗黑模式(一):是什么、为什么、如何落地?


优酷暗黑模式(二):如何建立设计语言标准化管理体系


优酷暗黑模式(三):暗黑模式设计指南


优酷暗黑模式(四):设计标准化的技术实现


优酷暗黑模式(五):暗黑模式的技术实现策略


优酷暗黑模式(六):暗黑模式的技术支撑 iOS


优酷暗黑模式(七):暗黑模式的技术支撑 Weex & H5


优酷暗黑模式(八):分发场景落地(Android & iOS)


优酷暗黑模式(九):消费场景落地(Android)


优酷暗黑模式(十):消费场景落地(iOS)


2020-02-29 10:002306

评论 1 条评论

发布
暂无评论
发现更多内容

TiDBv6.5离线部署

TiDB 社区干货传送门

6.x 实践

TiDB x Flink x Iceberg 实时 ODS 实践

TiDB 社区干货传送门

实践案例 大数据场景实践 实时数仓场景实践 数据中台场景实践 OLAP 场景实践

Github上星标55.9k的微服务神仙笔记真的太香了

做梦都在改BUG

Java 架构 微服务 Spring Cloud 设计模式

深入浅出微服务:40个微服务架构实战案例(Dubbo+Springcloud)

做梦都在改BUG

Java 微服务 Spring Cloud

用友与临港集团签署战略合作协议

用友BIP

国资国企数智化转型

官宣!时序数据库 TDengine 与天翼云完成产品兼容性认证

爱倒腾的程序员

涛思数据 时序数据库 ​TDengine

JVM——解析运行期优化与JIT编译器

Java你猿哥

JVM ssm 虚拟机 编译器 JIT编译器

微服务是不是金科玉律?基于Spring Cloud如何构建分布式系统?

做梦都在改BUG

Java 架构 微服务 Spring Cloud

属实不赖!Alibaba开源GitHub星标114K微服务架构全彩进阶手册

Java你猿哥

Java 架构 微服务 微服务架构 ssm

开发敏捷高效 | 云原生应用开发与运维新范式

CODING DevOps

DevOps 云原生 CODING DevOps 开发运维 敏捷高效

【5.19-5.26】写作社区优秀技术博文一览

InfoQ写作社区官方

热门活动 优质创作周报

池州控股集团财务共享项目启动啦!

用友BIP

财务共享

如何通过财务共享推进财务精细化管理

用友BIP

财务共享

太香了!Alibaba内部架构师进阶指南,理论+实践双飞

做梦都在改BUG

Java 架构

面试进阶齐飞!Github一天万赞的阿里Java系统性能优化有多牛?

Java你猿哥

Java JVM ssm Java性能优化

浅析财务共享各阶段面临的挑战

用友BIP

财务共享

TiDB 使用国内公有云和私有部署的 S3 存储备份指南

TiDB 社区干货传送门

数据库架构设计 6.x 实践

厦门狄耐克:助推智慧医疗,需要夯实自身的技术底座

华为云开发者联盟

云计算 后端 华为云 华为云开发者联盟 企业号 5 月 PK 榜

秒杀系统常见问题—如何避免库存超卖?

做梦都在改BUG

秒杀系统 电商超卖

国内半导体分立器件逐步向高端应用市场推进,未来可期

华秋电子

软件测试/测试开发丨Web自动化测试中显式等待的高级使用

测试人

程序员 软件测试 自动化测试 测试开发

SpringBoot 实现启动项目后立即执行方法的几种方式

Java你猿哥

源码 jdk Spring Boot ssm

跪了!Alibaba内部优质Springboot笔记:两大项目实战+源码解析

做梦都在改BUG

Java spring 微服务 Spring Boot 框架

惊喜!华秋DFM软件升级,新功能让你爱不释手

华秋电子

Github标星78k,Alibaba最新发布的Spring Boot项目实战文档!太强了

Java你猿哥

Java 面试 Spring Boot ssm Spring MVC

TiDB x Flink 数据集成实践

TiDB 社区干货传送门

实践案例 大数据场景实践 数据中台场景实践 OLAP 场景实践

如何将千亿文件放进一个文件系统,EuroSys'23 CFS 论文背后的故事

Baidu AICLOUD

文件存储 元数据

用友协办国有资本投资运营公司第八次圆桌会议, 展示数智国资发展新路径

用友BIP

国资国企数智化转型

JVM—解析运行期优化与JIT编译器

做梦都在改BUG

Java JVM JIT

专业解读财务共享实现财务数智化转型的有效路径

用友BIP

财务共享

阿里全新推出:微服务突击手册,把所有操作都写出来了|超清PDF

Java你猿哥

Java spring Spring Cloud ssm Ribbon

优酷暗黑模式(十一):质量保证简析_移动_阿里巴巴文娱技术_InfoQ精选文章