一、客户端质量评估体系的需求

移动客户端的质量包括功能和体验两方面。在不同阶段,客户端质量保障能力建设的粒度和广度的需求并不相同。早期可能快速试错是一种更为高性价比且有效的手段,但是随着应用的规模和用户体量逐渐增加,合理的质量保障投入就成为了一个必需品。明确质量保障的需求和范围,找到质量保障的成本和质量出现问题的修复成本的有机结合点,实现质量和成本收益最大化,是在设计和实施质量保障工作前务必要考虑清楚的事情。

体系化建设主要包括两个维度的实践:通过评估手段和方法的建设实现“有法可依”,通过流程和监督体系的建设实现“有法必依”。本文将介绍优酷技术质量部在“有法可依”维度进行的一系列建设,希望能给读者提供一些参考。

二、客户端质量评估体系的建设

根据优酷质量保障的需求和业务特点,我们重点在如下图示的几个重要阶段进行了投入,并且在构建打包阶段、整包验证阶段和线上验证阶段进行了重点建设。

1. 需求评审阶段

需求评审是整个开发测试流程的起点,占据非常重要的位置。质量控制团队在需求制定和评审阶段有效介入,确认需求的合理性以及质量的可评估性,在需求中强调对质量风险的处理能力以及对测试支持的友善性,将会对后期软件质量的可控起到非常重要的作用。我们在每个版本启动阶段进行需求评审,除了明确需求细节之外,会对新需求潜在的质量和用户体验影响、以及可测试性进行讨论,最大限度的暴露问题并寻求解解方案,极大的节省了后续定位问题和返工的成本。

2. 编码开发阶段

我们通过推动 Code Review 以及单元测试来评估这一阶段的质量情况,主要扮演了协调者和监督者的角色,编码开发阶段的规范化也是我们在加大力度进行建设的部分。

3. 构建打包阶段

构建打包阶段相对整个应用版本的生命周期来说仍然处于一个较早期的阶段,适合的能力针对性的投放在这个阶段可以做到以小博大,投入少,产出明显,例如静态代码扫描、包大小健康度检查等等。优酷技术质量部也是优先在这个环节发力,解决了较多相对埋藏较深的历史遗留隐患。

4. 整包验证阶段

通过测试分层、分类,加强自动化能力建设以及拓展新的测试能力这几个手段,我们在整包测试环节取得了不错的进展,提升了测试能力和测试效果。

针对优酷客户端测试的需求和组织形式,我们优先根据测试的目的从两个维度对测试内容进行分层操作:服务端 + 客户端,白盒 + 黑盒。

常规的端上黑盒验证存在一些固有弊端:场景多、链路长、执行过程复杂,难以维护和提效。通过服务端和客户端的测试分层,在服务端的接口处设置一道验证屏障,保证服务端的逻辑正确,可以有效减少测试验证的链路长度和复杂度,简化客户端的测试场景,从而减小客户端的测试压力。服务端的自动化验证是相对容易实现和部署的,执行效率高,成本低;经过简化的客户端验证因为少了很多待验证场景,去掉了相当多的 pre-condition 设置和环境 / 场景切换动作,自动化可行性也大大提高。

在此基础上,我们又对客户端侧的测试进一步进行细化。部分可以通过白盒测试解决的场景,可自动化程度极高,维护成本非常低,例如通过白盒直接控制播放器接口的方式对播放器进行操作,比 UI 操作的准确性和稳定性都要高很多。设想一个拖拽快进播放的场景,通过 UI 自动化实现几乎是一场噩梦,多机适配更是一个不可能的任务,但是白盒化测试来实现却易如反掌。但确实有些测试确实需要走到 UI 层用黑盒的方式操作才能实现,或者在 UI 层的操作才能触及到验证点,测试团队只有在这种情况下测试团队会选择黑盒方式完成测试。通过两次分层,各层测试场景的数量和复杂度均比较可控,可自动化程度极大提高,需要人工投入的成本和压力减少。

为了最大化的提效,我们对端上测试又进行了分类,如:回归测试、遍历测试、兼容性测试和适配测试等等,其目的是为了进一步提升测试的针对性,减少测试外延,降低测试复杂度。通过测试分类,不同的测试类型关注不同的验证点,进一步拆分了测试场景,降低了每一种类型的测试复杂度,从而使得回归、遍历和兼容性测试可以更好的进行自动化转化,快速高效的完成核心场景的检查,并通过适配测试补齐自动化测试在覆盖面上的短板。对几种测试类型的选择使用和组合使用,将使得测试策略更加灵活,测试效率和效果大大提高。

除了功能验证外,客户端性能测试不可或缺。优酷在性能测试上投入了较多的精力进行建设,取得了不错的成绩。

5. 线上验证阶段

经过编码开发阶段、打包构建阶段和整包阶段三个阶段不同维度的验证,可以最大限度的减少问题上线。但是线上用户的使用设备和使用环境千差万别,使用场景也很随机,线下测试基本无法做到对线上场景进行穷举验证。因此应用发布上线后,很大概率还是带着这样那样的问题的,仍然需要有效的质量保障手段支持。

减少线上用户影响的一个有效方法是控制用户范围,发布灰度版(beta 版、试用版)或分批发布都是比较可行的办法。灰度发布不是简单的随机圈一波用户进行测试版推送,推送的策略非常重要。我们分析了线上用户的各项特征指标,建设了用户分布模型,并基于此实现了可控的灰度推送策略,帮助优酷在灰度发布的效果和效率上取得到了较大的提升。

减少线上用户影响的另一个方法是快速止血,这需要建设完备的线上监控体系:

首先,要求有一个可靠的数据平台,有效的收集和回流线上的特征数据信息;

其次,需要根据自身业务的特点,针对性的制定监控策略,有效的利用数据平台的数据。

无论是在灰度期间还是应用正式上线全量之后发现的问题,都是对线下测试的有益补充,应该有效的加以利用。我们建设了从灰度发布到线上全量的自动化体系,串联起了灰度发布、正式发布、线上监控等环节,并对监控发现的问题自动进行分发并回收结果。基于这套自动化的流程,不仅可以确保线上问题得以及时发现,还可以加强线上问题的处理效果,目前已经成为了优酷版本发布流程中的必备环节。另外,线上问题尤其是影响面比较大的,应该进行深入分析,对可以提炼出问题路径或者验证方法的问题转化为线下验证用例。当前优酷在构建打包阶段的静态代码扫描和整包验证阶段的 BadCase 回归,都有基于线上问题转化而来的用例,来补充线下测试在测试设计阶段难以预估的测试场景。

6. 平台服务化

从需求评审到线上验证,质量保障工作贯穿于每一个需求的整个生命周期,涉及的验证环节众多且分散。我们是通过提供统一的、标准化、规范化的测试平台服务来串联各个环节的测试能力,由平台负责实现、管理、调度各种客户端测试手段,并对接各个业务团队的测试需求,提供各业务一致的解决方案。另外,测试平台利用流程服务的驱动在优酷版本发布的过程中实现关键节点的测试验证和结果展示,帮助业务方、PMO 等核心角色确认当前集成版本的质量。通过平台化建设,整合客户端的各种测试能力实现的这一套测试体系,真正构成了优酷的客户端质量评估体系。

作者:翀宸,阿里文娱技术专家

详解优酷客户端质量评估体系相关推荐

  1. 详解优酷视频质量评价体系

    万字长文 | 详解优酷视频质量评价体系 分享嘉宾|李静博士,阿里巴巴文娱集团资深算法专家,阿里巴巴大文娱摩酷实验室视频体验与质量团队负责人 整理出品|AICUG人工智能社区 本文地址:https:// ...

  2. 优酷客户端质量保障体系实践 | 完整PDF

    分享嘉宾:阿里文娱技术专家 翀宸 优酷技术质量部海川平台负责人,主要负责优酷客户端测试解决方案的调研和实现,以及优酷基础架构业务的质量保障. 分享大纲: 优酷客户端质量保障体系的挑战 基于打包构建过程 ...

  3. 优酷客户端性能评估解决方案:通用性能测试

    客户端性能的重要性不言而喻,一方面影响着客户端整体质量稳定性,任何性能指标的越界都可能造成整个 APP 的崩溃 一.客户端性能测试的需求和重要性 客户端性能的重要性不言而喻,一方面影响着客户端整体质量 ...

  4. 隔空手势操作、智能护眼模式——详解优酷最新交互技术

    目前,人脸和图像识别的相关技术已经广泛投入到商业应用中,比如以 FaceU 为代表的视频拍摄工具类 APP,以及各种直播类 APP 中都有基于脸部的动态贴纸特效功能.此外各大硬件厂商也在设备的系统层面 ...

  5. 优酷客户端埋点质量保障三步曲

    一.背景 优酷客户端在埋点的质量保障过程中,遇到了一些困难和挑战,我们从项目流程.测试方案.业务深入度 3 个方面进行改造,经历多个版本的迭代,形成了一套客户端埋点质量保障方案,这里和大家分享一下. ...

  6. 开源|优酷动态模板研发体系为分发提效30%

    一 概述 优酷是一个多屏.多端,以内容分发及内容消费为主体的文娱生态综合体.在内容分发场景,存在大量的客户端开发需求,包括视觉升级.各场景的业务需求迭代.大小屏设备需求同步等,为了降低研发在跨端场景中 ...

  7. 用友系统客户端登录不上服务器,图文详解用友客户端连不上服务器解决方法.pdf...

    图文详解用友客户端连不上服务器解决方法,k3客户端连不上服务器,客户端连不上服务器,u8客户端连不上服务器,用友u8连不上服务器,用友连不上服务器,用友t3连不上服务器,用友u8客户端连不上,gta5 ...

  8. [Pytorch系列-61]:循环神经网络 - 中文新闻文本分类详解-3-CNN网络训练与评估代码详解

    作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客 本文网址:https://blog.csdn.net/HiWangWenBing/article/detai ...

  9. 伯索显示未联通音视频服务器,你不可错过的,音视频质量评估体系+WebRTC多媒体通信+高并发高可用服务器架构+星域CDN无限节点...

    文 | rpandora 出处 | LiveVideoStack 深圳的台风没有阻挡80位技术小伙伴的脚步,他们的热情为我们点燃了沙龙现场的热度,6位大咖精彩的分享也引爆了现场的氛围,而正是大咖的干货 ...

最新文章

  1. manage.py命令
  2. ffmpeg视频学习网站
  3. “赋值”与“初始化”
  4. 电脑word在哪_求职必会!她是微软Office Word认证大师,想教你成为效率10倍提升的Word高手...
  5. 二:Maven中pom.xml元素详解
  6. java实现KMZ文件转KML文件
  7. 本特利振动前置器330180-51-00
  8. C++ 制作FlappyBird
  9. 添加滑条进行图像叠加
  10. 用vlookup函数就能判断你的Excel水平处于几段
  11. 以太网二层技术——VPLS详解
  12. U3D里UI相关逻辑和文件的组织关系的各种形式的比较
  13. 数据仓库建模方法/范式建模法/维度建模法/事实表/维度表/优缺点/建模流程/概念建模/逻辑建模/物理建模
  14. 中国通史—春秋战国的学术思想
  15. 【一级考试专题-1】整数和均值
  16. Halide学习笔记----Halide tutorial源码阅读2
  17. html、css、js(javaWEB开发)
  18. 《2021当代青年婚恋状态研究报告》:觅伊打破交友困境
  19. 比尔盖茨离婚,平分8000亿! 用5张图看看微软的发展史
  20. solidity智能合约中tx.origin的正确使用场景

热门文章

  1. UI工程师-无需编程-免费开发企业APP应用
  2. ue4 流送关卡使用注意
  3. 彻底搞懂图的广度优先算法
  4. 【NLP入门教程】七、词义消歧
  5. 帝国时代2高清版秘籍
  6. 一组漫画告诉你Linux 系统有什么
  7. scratch3.0教程003:狼来了
  8. 无法复制 pdb 文件到wince设备(CIPHER LAB 9570),调试失败
  9. 四川翌加科技:抖音0粉丝怎样开橱窗的
  10. Flask学习笔记(十四)自定义模型类