一、测试背景
随着 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、之后新开发的组件,如何减小测试回归范围。
对于这些问题,如果各位同学有好的建议和想法,欢迎在评论中和我们交流。
作者简介:
琴奇,阿里文娱测试开发工程师。
相关阅读:
优酷暗黑模式(八):分发场景落地(Android & iOS)
评论 1 条评论