50万奖金+官方证书,深圳国际金融科技大赛正式启动,点击报名 了解详情
写点什么

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

  • 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:002726

评论 1 条评论

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

【牛客刷题-算法】NC25 删除有序链表中重复的元素-I

清风莫追

算法 链表 10月月更

网络请求模块(2)

张立梵

Python. 爬虫必备知识讲解 10月月更

Fiddler(一) - Fiddler简介

No Silver Bullet

fiddler 10月月更 抓包工具

【C语言难点突破】指针入门讲解

Geek_65222d

10月月更

【牛客刷题-算法】NC22 合并两个有序的数组

清风莫追

算法 数组 10月月更

最长回文串

掘金安东尼

10月月更 算法、

2022-10-04:以下go语言代码输出什么?A:{123} main.T{x:123} B:{123} T{x:123} C:boo boo D:boo main.T{x:123}。 packag

福大大架构师每日一题

golang 福大大 选择题

微服务通信

穿过生命散发芬芳

微服务 10月月更

ESP32-C3 学习测试 蓝牙 篇(六、添加 Service)

矜辰所致

service 蓝牙 ESP32-C3 10月月更

硬核好文!网络拓扑类型:总线、环形、星形、网状、树形、点对点、混合

wljslmz

网络技术 网络拓扑 10月月更

80%的前端开发都答不上来的js异步面试题

loveX001

JavaScript

Fiddler(二) - 使用Fiddler做抓包分析

No Silver Bullet

fiddler 抓包分析 10月月更

Mac下vagrant从安装到体验

程序员欣宸

vagrant 虚拟机 10月月更

Collections之Arraylist源码解读(五)

知识浅谈

ArrayList 10月月更

C++学习---_IO_new_fdopen函数原理分析学习

桑榆

c++ 源码分析 10月月更

Vue3入门指北(八)v-model

Augus

Vue3 10月月更

InetAddress.getLocalHost() 执行很慢?

xiaoxi666

网络 网络库

令人头秃的js隐式转换面试题,你能做对吗

loveX001

JavaScript

老生常谈React的diff算法原理-面试版

beifeng1996

React

【愚公系列】2022年10月 Go教学课程 018-分支结构之switch

愚公搬代码

10月月更

【牛客刷题-算法】NC16 对称的二叉树

清风莫追

算法 二叉树 10月月更

基于IDE和dlv远程调试Kubernetes组件

琦彦

Go Kubernetes 调试 10月月更 delve

经常会采坑的javascript原型应试题

loveX001

JavaScript

React-Hooks怎样封装防抖和节流-面试真题

beifeng1996

React

面试官:React怎么做性能优化

beifeng1996

React

【一Go到底】第五天---指针

指剑

Go golang 10月月更

说说Vue响应式系统中的Watcher和Dep的关系-面试进阶

bb_xiaxia1998

Vue

书单推荐|宅家不动过国庆,好书相伴不寂寞

图灵教育

书单 国庆节

书单推荐|宅家不动过国庆,好书相伴不寂寞

图灵社区

书单 国庆节

面向对象究竟是什么鬼?该如何理解?

乌龟哥哥

10月月更

什么是 Python 垃圾回收机制中的引用计数

宇宙之一粟

Python 垃圾回收机制 引用计数 10月月更

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