优酷APP响应式布局之测试方案 | 《优酷响应式布局技术全解析》第七章

简介: 本章介绍 优酷APP响应式布局之测试方案

上一章:优酷响应式在消费场景的落地 iOS | 《优酷响应式布局技术全解析》第六章>>>

作者| 阿里巴巴文娱技术 刘丽琴

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

一、测试面临的挑战

移动端主要测试类型包括功能测试、性能测试、稳定性测试、兼容性适配测试等,针对响应式测试主要难点在兼容性测试,原因是兼容性测试范围扩大,测试效率面临较大挑战。具体表现在以下几方面:
1)端类型增加,之前关注Phone端即可,现在要关注Phone、Pad、折叠屏、车机大屏
2)组件样式繁多,Phone端组件样式显示一种状态,现在不同屏幕设备、不同状态下组件呈现样式布局会有相应不同
3)系统交互多,包括分屏、浮窗、平行视界、系统转屏设置与响应式交互
4)测试对象多,需要考虑所有的页面、组件、弹窗功能遍历
5)多业务场景交互,比如全屏播放

二、技术实现分析

针对以上挑战,测试团队对优酷全端响应式适配进行深入分析,得出相应的测试点。主要从以下几方面进行分析:

响应式业务流程
image.png

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

1) UI显示由响应式SDK完成
响应式SDK提供了在不同尺寸设备上通用的响应式能力,在屏幕尺寸发生变化时,页面样式、布局的UI显示也会发生相应的变化,这块主要关注兼容性适配测试。

2)数据处理逻辑由上层业务完成
数据处理主要进行了数据合并、数据过滤、数据映射及数据补全的逻辑处理,重点关注响应式和非响应式下数据处理逻辑的正确性。这块就需要构造各种不同数据进行逻辑覆盖验证。

除此之外,针对业界厂商目前支持的屏幕尺寸变化能力,需要考虑到不同能力下的交互测试:
1)系统支持旋转屏幕设置;
2)Android Pad支持分屏,部分华为Pad支持平行视界能力;
3)iPad支持浮窗、分屏能力。

三、测什么?

由以上的分析结果不难得出测试范围以及主要的测试点,另外一个重要部分,是需要对响应式开关进行测试,已确定及时止损的能力。

1、 测试范围

1)分层:SDK测试、业务层测试;
2)分端:Phone、Pad、折叠屏、车机大屏;
3)分平台:Android、iOS;
4)分能力:响应式开/关;
5)分机型:iPad分屏、浮窗能力,见下表:

image.png

2、 主要测试点

image.png

四、怎么测?

通过对响应式的测试分析,知道了测哪些,下面从功能测试、兼容性测试等方面来阐述怎么测。

1、 功能测试

功能测试主要验证数据处理逻辑在大屏端的正确性。数据处理逻辑主要对组件进行了数据合并、数据映射、数据过滤及补全,针对数据的构造主要通过mock的能力实现,确认大屏端逻辑处理正确。

同时,数据处理逻辑不能影响Phone端的组件页面,这部分测试主要进行回归测试,并且回归量相对较大,为了提高测试效率优酷打造了组件自动化测试方案。

2、组件自动化测试

image.png

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

本次组件测试,覆盖首页/频道页35个组件,正常、异常mock文件500+,dailybuild高频测试,在响应式项目中很好的保证了组件测试的力度和覆盖度。

3、兼容性测试

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

机型选择

image.png

测试平台

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

1) 通用脚本降低脚本编写成本、提高执行稳定性、快速开展业务测试
通用脚本基于scheme跳转能力,解决了业务入口触达稳定性问题;提供自动滚屏和基于元素查找的点击功能,还包含通用弹窗处理以及登录功能。

2)长截图能力解决了不同分辨率以及不同物理尺寸下图片验证的难点
长截图实现方式有两种,一种滚屏过程中截长图;一种滚屏截图,最后拼接成长截图能力。

3)图像验证解决人工检测问题
通过图像识别算法,智能筛选出可疑图片,大大减少了人工检测图片数量。

image.png

4、其他测试

1)稳定性测试
大屏端稳定性测试是很有必要的,特别是iPad端低端设备居多并且内存较Phone端也相对低,所以需要考虑这些设备上的稳定性问题。

2)性能测试
响应式方案会显示更多的图片和数据,其数据解析和图片渲染过程会对APP启动和流畅度,内存产生明显影响。

3)数据测试
第一,响应式旋转屏幕时,组件行数列数会发生变化,此时要保证不同数据处理下,埋点数据下发正常:
第二,响应式映射处理的组件埋点数据下发与映射前的组件埋点一致。

五、总结

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

后续的响应式测试如何高效支持持续迭代对测试来说是一个新的挑战,主要在两方面:

一是,如何保证开发新的组件支持响应式
建立响应式编码规范,对代码进行静态扫描,对不符合的规范进行告警。

二是,如何高效保障sdk的增量修改的质量
响应式sdk开源后,将脱离APP独立存在,针对sdk单独的测试方案需要考虑开展单元测试和覆盖率分析进行保障sdk质量。

相关文章
|
缓存 监控 Android开发
App Trace 快速安装解析(开发者视角)
App Trace 是一款应用性能监控工具,可追踪启动时间、方法耗时及卡顿等指标,助力开发调试与性能优化。支持 Android 和 iOS 平台,提供依赖引入、初始化配置和自动化脚本等快速安装方案,同时包含采样率、本地缓存等高级配置选项。集成后可通过日志检查与测试事件验证功能,注意在发布版本中使用 no-op 版本以减少性能影响,并确保隐私合规。
|
数据可视化 前端开发 测试技术
接口测试新选择:Postman替代方案全解析
在软件开发中,接口测试工具至关重要。Postman长期占据主导地位,但随着国产工具的崛起,越来越多开发者转向更适合中国市场的替代方案——Apifox。它不仅支持中英文切换、完全免费不限人数,还具备强大的可视化操作、自动生成文档和API调试功能,极大简化了开发流程。
|
机器学习/深度学习 人工智能 监控
提升软件质量的关键路径:高效测试策略与实践在软件开发的宇宙中,每一行代码都如同星辰般璀璨,而将这些星辰编织成星系的过程,则依赖于严谨而高效的测试策略。本文将引领读者探索软件测试的奥秘,揭示如何通过精心设计的测试方案,不仅提升软件的性能与稳定性,还能加速产品上市的步伐,最终实现质量与效率的双重飞跃。
在软件工程的浩瀚星海中,测试不仅是发现缺陷的放大镜,更是保障软件质量的坚固防线。本文旨在探讨一种高效且创新的软件测试策略框架,它融合了传统方法的精髓与现代技术的突破,旨在为软件开发团队提供一套系统化、可执行性强的测试指引。我们将从测试规划的起点出发,沿着测试设计、执行、反馈再到持续优化的轨迹,逐步展开论述。每一步都强调实用性与前瞻性相结合,确保测试活动能够紧跟软件开发的步伐,及时适应变化,有效应对各种挑战。
|
监控 测试技术 Android开发
App Trace技术解析:传参安装、一键拉起与快速安装
本文从开发者视角解析App Trace技术的关键功能与实现方法,涵盖传参安装、一键拉起和快速安装技术。详细介绍了Android和iOS平台的具体实现代码与配置要点,探讨了参数丢失、跨平台一致性及iOS限制等技术挑战的解决方案,并提供了测试策略、监控指标和性能优化的最佳实践建议,帮助开发者提升用户获取效率与体验。
|
存储 Java PHP
轻量化短视频电商直播带货APP源码全解析:核心功能与设计流程​
在电商直播热潮下,开发专属直播带货APP成为抢占市场关键。本文详解原生开发轻量化APP的核心功能与全流程设计,涵盖用户登录、商品浏览、直播互动、购物车、订单及售后功能,并介绍安卓端Java、苹果端Object-C、后台PHP的技术实现,助力打造高效优质的直播电商平台。
|
自然语言处理 算法 数据可视化
文本聚类效果差?5种主流算法性能测试帮你找到最佳方案
本文探讨了自然语言处理中句子嵌入的聚类技术,使用Billingsmoore数据集(925个英语句子)进行实验。通过生成句子嵌入向量并可视化分析,对比了K-Means、DBSCAN、HDBSCAN、凝聚型层次聚类和谱聚类等算法的表现。结果表明,K-Means适合已知聚类数量的场景,DBSCAN和HDBSCAN适用于未知聚类数量且存在异常值的情况,而谱聚类在句子嵌入领域表现不佳。最终建议根据数据特征和计算资源选择合适的算法以实现高质量聚类。
1070 0
文本聚类效果差?5种主流算法性能测试帮你找到最佳方案
|
JSON 小程序 UED
微信小程序 app.json 配置文件解析与应用
本文介绍了微信小程序中 `app.json` 配置文件的详细
2805 12
|
Java 测试技术 持续交付
【入门思路】基于Python+Unittest+Appium+Excel+BeautifulReport的App/移动端UI自动化测试框架搭建思路
本文重点讲解如何搭建App自动化测试框架的思路,而非完整源码。主要内容包括实现目的、框架设计、环境依赖和框架的主要组成部分。适用于初学者,旨在帮助其快速掌握App自动化测试的基本技能。文中详细介绍了从需求分析到技术栈选择,再到具体模块的封装与实现,包括登录、截图、日志、测试报告和邮件服务等。同时提供了运行效果的展示,便于理解和实践。
1487 4
【入门思路】基于Python+Unittest+Appium+Excel+BeautifulReport的App/移动端UI自动化测试框架搭建思路
|
JSON 供应链 搜索推荐
淘宝APP分类API接口:开发、运用与收益全解析
淘宝APP作为国内领先的购物平台,拥有丰富的商品资源和庞大的用户群体。分类API接口是实现商品分类管理、查询及个性化推荐的关键工具。通过开发和使用该接口,商家可以构建分类树、进行商品查询与搜索、提供个性化推荐,从而提高销售额、增加商品曝光、提升用户体验并降低运营成本。此外,它还能帮助拓展业务范围,满足用户的多样化需求,推动电商业务的发展和创新。
706 5
|
机器学习/深度学习 安全 算法
布谷交友App源码开发新趋势:精准匹配与多元盈利模式解析
布谷交友App系统软件开发搭建需要紧跟市场趋势,把握用户需求,设计合理的盈利模式,并不断优化产品功能和用户体验,才能在激烈的市场竞争中脱颖而出,实现可持续发展。

热门文章

最新文章

推荐镜像

更多
  • DNS