优酷界面设计分析

核心提示作者 | 阿里巴巴文娱技术 刘丽琴头图 | CSDN 下载自东方IC响应式布局是在屏幕尺寸发生变化时,APP的页面、组件按照规则进行动态自适应,实现一套代码兼容多尺寸终端设备。响应式技术应用在多端上减少了开发人力投入,但是对于测试来说需要

作者|阿里文娱科技刘丽琴

头部| CSDN下载自东方IC

响应式布局是指当屏幕尺寸发生变化时,APP的页面和组件根据规则动态自适应,实现一套代码兼容的多尺寸终端设备。响应式技术在多终端的应用减少了开发人力的投入,但对于测试来说,测试的范围需要相对扩大,多终端多大小app的质量要有保证。下面简单介绍一下优酷在响应式测试过程中沉淀的测试能力和方法。

测试面临的挑战

移动测试的主要类型包括功能测试、性能测试、稳定性测试、兼容性适配测试等。响应式测试的主要难点是兼容性测试,因为兼容性测试的范围扩大了,测试效率面临很大挑战。具体表现在以下几个方面:

1)终端类型增加。之前,要注意手机终端。现在要注意手机,Pad,折叠屏,车载大屏。

2)组件的样式很多,Phone组件的样式显示一个状态。现在,组件呈现样式的布局在不同的屏幕设备和不同的状态下会有所不同。

3)系统交互多,分屏、浮窗、平行地平线、系统换屏设置、响应式交互。

4)测试对象多,要考虑所有页面、组件、弹窗功能。

5)多业务场景交互,比如全屏播放。

技术实现分析

针对以上挑战,测试团队对优酷全端响应式改编进行了深入分析,并总结了相应的测试点。主要从以下几个方面入手:

响应式业务流程

如上图所示,响应式测试分为两部分:UI测试和数据处理逻辑测试:

1.UI显示由响应式SDK完成。

响应式SDK在不同大小的设备上提供通用的响应功能。当屏幕尺寸发生变化时,页面样式和布局的UI显示也会随之变化。这个主要关注兼容性和适应性测试。

2.数据处理逻辑由上层业务完成。

数据处理主要包括数据合并、数据过滤、数据映射和数据补全的逻辑处理,重点关注响应和非响应模式下数据处理逻辑的正确性。需要为逻辑覆盖验证构建这段数据。

另外,对于目前行业厂商支持的屏幕尺寸变化能力,需要考虑不同能力下的交互测试:

1.系统支持旋转屏幕设置;

2.Android Pad支持分屏,部分华为Pad支持平行视觉能力;

3.iPad支持浮动窗口和分屏功能。

衡量什么?

从以上分析结果,不难得出测试范围和主要测试点。还有一个很重要的部分是,响应开关需要测试,及时止损的能力已经确定。

测试范围

1)分层:SDK测试和业务层测试;

2)分体式:手机、Pad、折叠屏、车载大屏;

3)子平台:安卓、iOS;

4)子容量:响应式开/关;

5)型号分类:iPad分屏和浮动窗口能力,见下表:

主要测试点

如何衡量?

通过对响应式测试的分析,我们知道要测试哪些。下面从功能测试和兼容性测试两个方面来介绍如何测试它们。

1.功能测试

该功能主要在大屏幕上验证数据处理逻辑的正确性。数据处理逻辑主要对组件进行数据合并、数据映射、数据过滤和完成。对于数据构造,主要是通过mock的能力来实现,确认大屏幕上的逻辑处理是正确的。

同时,数据处理逻辑不能影响Phone的组件页面。这部分测试主要是回归测试,回归量比较大。为了提高测试效率,优酷创建了组件自动化测试方案。

2.组件的自动测试

借助图像识别,该测试可以避免技术改造的影响,具有良好的稳定性。从以上五个方面来解决问题,通过设计测试场景,清洗线上引流数据,自动构造所需组件数据,自动套用mock数据,基于魔镜算法服务进行相似度+配置UI对比。

本次组件测试覆盖首页/频道页面35个组件,500+正常和异常模拟文件,dailybuild高频测试,保证了响应式项目中组件测试的强度和覆盖面。

3.兼容性测试

响应式测试的难点在于兼容性测试,需要多终端、多系统、多尺寸验证UI显示,测试工作量大。优酷针对兼容性测试推出了优化的兼容性测试方案,包括型号选择和测试平台:

型号选择

测试平台

为了解决兼容性测试的成本问题,对兼容性测试进行了以下改进:

1)通用脚本可以降低脚本编写的成本,提高执行的稳定性,快速进行业务测试。

通用脚本基于方案跳转能力,解决了服务入口达到稳定的问题。提供基于元素搜索的自动滚动和点击功能,还包括一般的弹出窗口处理和登录功能。

2)长截图的能力,解决了不同分辨率、不同物理尺寸下的图像验证困难。

长截图有两种实现方式:一种是在滚动的过程中剪切长截图;滚动屏幕截图并最终拼接长屏幕截图的功能。

3)图像验证解决了人工检测的问题。

通过图像识别算法,智能筛选出可疑图像,大大减少了人工检测图像的数量。

4.其他测试

1)稳定性测试

需要测试大屏的稳定性,尤其是iPad的低端设备和Phone的内存都比较低,需要考虑这些设备的稳定性。

2)性能测试

Responsive scheme会显示更多的图片和数据,其数据分析和图像渲染过程会对APP启动、流畅度和记忆产生显著影响。

3)数据测试

首先,当响应性地旋转屏幕时,组件的行数和列数将改变。此时,需要保证在不同的数据处理下,埋置数据会正常发出:

其次,响应映射处理后的元件埋点数据的分布与映射前的元件埋点一致。

摘要

对响应式测试的功能测试和兼容性测试做了大量研究,沉淀出了组件测试方案和兼容性测试方案,既保证了响应式高质量在线测试,又提高了测试效率。

如何高效地支持后续响应测试中的持续迭代是测试面临的新挑战,主要表现在两个方面:

首先,如何确保新组件的开发支持响应能力

建立响应编码规范,静态扫描代码,对不符合规范进行报警。

二、如何高效保证sdk增量修改的质量?

响应式sdk开源后,将独立于APP而存在。对于sdk的单独测试方案,需要考虑单元测试和覆盖分析,以保证sdk的质量。

 
友情链接
鄂ICP备19019357号-22