写点什么

高德技术评测建设之路

  • 2020-05-12
  • 本文字数:4171 字

    阅读完需:约 14 分钟

高德技术评测建设之路

前言

近几十年是互联网高速发展的时代。随着互联网行业的发展壮大,必然会出现角色的细分,从而演化出了不同的职能岗位。随着日益激烈的市场竞争,修炼内功,提升产品效果也成为了各公司发展的重要工作。产品效果如何评估?用户体验如何度量?本文试图阐述 评测 这一新岗位在高德的主要职责,发展进化过程,以及这一岗位所负责的产品效果评估手段与体系搭建。


当你在各搜索引擎输入评测二字时,看到的相关搜索通常是这样的:




这些问题其实能代表大部分人对评测的了解——就是除了游戏评测、手机评测、汽车评测、生活用品评测之外,人们对评测其实不太了解。互联网公司里 Title 是评测的同学又是做什么的呢?也许大家的了解就更少了。


做了三年多的评测,在第一年经常面对的灵魂拷问就是:“你们评测是做什么的?”这种问题回答起来,基本类似于哲学的终极三问了:“你是谁?你从哪儿来?你到哪儿去?”


评测是谁?这是评测的定位问题。评测从哪儿来?这是评测的根基和起源。评测要到哪儿去?这是评测的发展目标和方向。

评测是谁?

简单地说, 评测是评估产品效果的团队 。希望能站在用户的角度,在上线前验证需求效果,在上线后通过对自身、用户数据和竞品的全面分析,建立起产品立体的效果评估体系,也就是评测体系。

评测从哪儿来?

要回答这个问题,其实就是——为什么要评测?


如同每个版本更新,我们都会关心性能如何一样,当上线了新的策略时,大家也会同样关心产品的效果。产品效果如何评估?策略相关的需求开发完成之后,研发实现的实际效果是否和产品经理的预期一致?实际效果又是否和用户的预期一致?在理想情况下,这三者应该是无差异的。但我们也应该有衡量它们之间是否有差异的方式,给出效果变化是否正向的结论,以更好地保障用户的使用体验。


此外,即使上线前,所有人都一致给出了正向结论,认为需求上线后一定会给用户体验带来极大提升。真实的产品体验如何,仍然得用户说了算。比较大的修改可以通过 AB 实验的方式圈出小部分用户,快速收集用户数据,进一步对需求效果是否正向做出评价。或者直接上线,通过对行为数据及用户反馈的分析来完成线上评估。


同时,要在市场上找准自己的位置,对竞品的分析必不可少。


有了这些效果评估及分析的需求,就有了评测团队。


如何进行评测

上线前的离线效果评测及分析、AB 实验及分析、上线后的指标监控及问题分析、问题挖掘,竞品监控和分析是常见的评测手段。


一、离线评测

上线前,针对产品的需求,评测的职责是通过各种方式分析及验证产品效果,给出是否能达到上线标准的结论,同时分析出头部问题所在。


技术评测团队成立之初,主要建设的部分有:确定合作流程、建设评测专业能力和建设评测工具。


  • 合作流程


对标一个版本开发的项目流程,从需求确定到开发,到测试验证再到上线。评测从需求串讲阶段开始,明确有哪些需求涉及到效果变化。再根据变化情况制定评测方案,同时检查工具是否符合需要,如否则进入工具快速开发阶段。然后获取评测数据,进入评估验证阶段,最后发送报告,给出需求是否通过评测的结论,并对出现的问题进行总结分类。



对于评测介入的不同业务线来说,评测的流程大致相同。但由于业务不同,评测方案与方式会有很大不同。


  • 评测方案


根据产品需求,明确效果修改影响范围,从而确定评测样本、评测方式和评测标准。


  • 评测样本


评测样本通常会根据需求影响范围的不同,区分为随机语料和特定语料。


特定语料一般针对需求修改的特定维度、类型进行抽取,目的是保证评测任务的覆盖率。随机语料则是为了反映需求的真实影响范围。当一个评测任务需要使用特定语料时。通常建议使用特定及随机语料各一份,以同时保证足够的覆盖,同时了解真实影响范围,确保不会出现不符合预期的变化。


除真实语料外,在特定场景下也会使用自己构建的语料。通常原因为:1)策略上线之前没有真实线上语料;2)影响的场景太小,在真实语料中很难找到足够的 Case。


  • 评测标准


评测标准通常涉及到一个概念,即真值。当某类数据在现实世界中有唯一正确答案时,即有绝对真值存在,如数据信息。因此我们对这类数据的评价标准就是是否跟真值一致。


另一类是相对真值。来源可以是用户日志。例如,当我们在判断提供给用户的预计到达时间(ETA)是否正确时,可以用用户在起终点之间的真实行驶时间作为真值和我们的预估时间进行对比。但由于单一用户的实际行驶时间受个人行驶习惯以及单次的行驶情况所影响,并不是完全准确的。因此是相对真值。在搜索等业务线,用户的点击行为,也可以成为相对真值,从而成为效果评测的标准。


是否有真值,真值是否容易获取,能否大批量自动化的获取,是在确认评测标准时需要做的判断。


  • 评测方式


对应不同的评测目的,我们给出不同的离线评测方式。有真值的业务,通过真值的自动获取或者标注,可以实现自动化评测。而无真值的业务线,判断效果好坏的成本较高,通常需要进行人工评测或者半自动化评测。



人工评测,顾名思义,就是靠人力打分。各搜索公司大概是最早对自己的产品进行效果评估的,谷歌、微软、百度、苹果等,都采用了类似的方式对质量进行评价。


Google 曾经发布过长达 164 页的人工质量评估指南。百度和必应也发布过类似的文档。


苹果在介绍自己的评测体系时,也曾经专门解释过 Human Judgement metrics, why we track them?


  • 可以在上线前发现版本问题。

  • 人工评测的指标与定量指标紧密关联。

  • 可以定义一个版本的整体质量,并可持续跟进效果变更。

  • 比用户反馈更详细,更容易定位问题。


人工评测缺点不用多说,成本高、覆盖面小、效率偏低。因为它的优点,目前仍然是各公司评测体系不可缺少的一部分。与别的评测手段结合使用时,能起到很好的效果。


要保证人工评测的质量和效率,有三个关键点,一是标准,二是流程,三是工具。


标准文档,类似于操作手册,目的是降低人员培训成本,并在一些较难判断的 Case 上,尽量减少大家认知上的差异。所以标准文档应该越傻瓜越好。定义明确、所有的特殊和例外场景都有示例、在实践中反复检验,并且保持更新频率。文档更新应该有专人负责,并且明确更新周期,同时将更新点同步到所有评估人员。


人工操作错误在所难免,没人能达到百分百的准确。同时需要人工评测的评测对象,通常本身没有客观统一的确定答案,因此大家难免在判断上有差异。这些问题都需要从流程上加以保障。如同一 Case 必须多人标注,仅保留一致率较高的 Case,否则便丢弃。或者采用初审复审制,经验较少的人员进行初审,高级人员进行复审。


盲审,这种方式通常在对比时使用,去掉新旧版或者左右版的标识,并且让结果随机出现,从而保证评测人员的客观性,不受主观因素影响。


人工评测中的人,通常也有两种身份。一种是普通用户,一种是专家。专家评测需要站在更专业的视角,结合自己对业务的理解和经验才能得出结论。另一种则是普通用户也能站在自己的视角给出效果好坏。后一种可以进行众测,达到较大范围的收取用户体验与反馈,同时获得一些真实数据支持迭代优化的效果。地图导航由于其专业性,通常需要进行专家评测。


  • 评测工具


评测工具是评测效率和质量的保证。核心功能包括,数据仓库、任务管理、任务的抓取和解析,diff 统计和筛选,任务实例的展示、评测、流转,抽样、分配,结果管理、自动化报告。



通用流程之外的任务类型、打分方式、 Case 形态都可以自己定义。由于大部分是对比类的评测任务,如何做 diff 也非常关键,尽量把业务关注的各个重点都进行 diff 差分。以便快速了解迭代效果影响面,以及快速定位问题。专家型评测在分析和定位问题时,还需要辅助分析或者判断的数据及工具。工具的接入常常能极大地提高评测效率。


人工评测能够良好运行,有了一定的评测经验积累和业务了解之后,开始进行半自动化和自动化的评测建设。


方式包括定义指标波动阈值和极端 Case 的冒烟评测,及模拟人工评测的自动打分模型。


自动打分模型 通过学习人工评测的特征,自动给出 GSB 的评分,统计评分结果,对评测任务的效果进行初步判定。目前可以成为辅助判断的参考手段。



冒烟评测 先定义出业务核心关注的场景和维度,设定指标。并根据既往评测经验计算出可接受的波动阈值。另外定义出在效果变化上不可接受的恶劣 Case。对于部分需要快速验证上线的实验,可以实现缩短评测周期,并保证无异常的效果。在部分业务线借此实现了自动发布上线的过程。


指标分析+异常检验 的评测方式,是目前无真值业务线离线评测的最佳实践方式之一。通过定义整体指标、场景指标、异常指标,形成较为全面的指标体系。观察新版本在不同情况下的指标整体波动和分布变化。在过程中筛出异常 Case 再进行人工校验。最终根据指标变化情况和人工检验结果给出结论。如无异常则可以快速通过评测。


最后, 路测 是导航产品效果验证的终极手段。从用户视角体验并评估全过程。虽然成本高,效率低,但必不可少,与其他手段并用,也是上线前效果保障的方式之一。

二、AB 实验

部分需求尤其是模型调优。需要上线观察效果。因此在快速通过离线评测之后,进入 AB 阶段进行效果评估。



AB 的核心链路是分流打标、指标观测和实验结论产出。关键点是实验的科学性。效果评估链路中,AB 能力的具备不难,但 AB 实验的建设是个长期的过程,在此不赘述。

三、线上验证

经过离线验证、AB 实验,证明效果都是正向之后,需求通常全量上线,上线之后的效果如何,需要对线上指标进行分析,并观察用户反馈情况,了解是否在核心指标上有预期的收益,以及观察指标是否有异常变化。


一个产品的核心是满足用户需求,创造用户价值。因此是否满足了用户需求,用户满意度如何,产品在市场上的情况怎么样,必然是一个产品创造者要长期关注和回答的问题。以上便是我们试图去回答这些问题的方式。

结语

评测的建设过程,其实也是产品效果评估立体体系的搭建过程。这个职责在任何一个互联网公司都需要有人承担。不过角色也许是测试、也许是产品、也许是运营。在高德,之所以把这个角色独立出来,源于对用户体验和产品效果的重视。这一体系当然远远未臻完美,还在不断搭建进化的过程中,我们始终希望能够通过不断努力,让出行更美好。


本文转载自公众号高德技术(ID:amap_tech)。


原文链接


https://mp.weixin.qq.com/s?__biz=Mzg4MzIwMDM5Ng==&mid=2247484887&idx=2&sn=fda4ce6acb9124f8cb37897c12a063d2&chksm=cf4a5d34f83dd422a181f0b35ed50a22079ad4e98d980f7ea2e64db97126c7961302726ff1f4&scene=27#wechat_redirect


2020-05-12 14:061582

评论

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

解决:http: TLS handshake error from *

liuzhen007

11月日更

Go语言,垃圾回收、三色标记原理,终于能跟面试官扯皮了!

微客鸟窝

垃圾回收 Go 语言 11月日更

好好编程-物流项目04【Mybatis逆向工程】

Java 程序员 后端

通过程序来介绍Node.js 的几个文件读写和事件监听API

Regan Yue

nodejs js Node 11月日更

如何用RabbitMQ实现延迟队列

Java 程序员 后端

女生适合学编程吗?

Java 程序员 后端

040022-week3-design

InfoQ_70156470130f

如何让Kafka在保证高性能、高吞吐的同时通过各种机制来保证高可用性?

Java 程序员 后端

如何调优 Java 垃圾收集

Java 程序员 后端

JavaScript 中对象处理之Object.freeze 与 Object.seal

devpoint

JavaScript Object 11月日更

好好编程-物流项目01【搭建maven工程】

Java 程序员 后端

字节后端开发3+4面,终于拿到秋招第一个offer(1)

Java 程序员 后端

如何给网关设计一款专属的权限控制「责任链设计模式」(1)

Java 程序员 后端

如何设计一个高可用系统?简单总结了10来种方法,今天全部告诉你们!

Java 程序员 后端

学生管理系统架构设计文档

唐敏

「架构实战营」

奉劝各位学弟学妹们,该打造你的技术影响力了!

Java 程序员 后端

字节跳动Java面试题精选——算法与数据结构「跳槽面试必备」

Java 程序员 后端

字节跳动武汉招聘2000人,这套JAVA面试题被刷爆了

Java 程序员 后端

云原生 DevOps,模型化应用交付能力很重要!

阿里巴巴云原生

DevOps 云原生 模型 应用交付

奉劝那些想把编程学好的学弟学妹们!呕心沥血,袒露心声,掏心掏肺

Java 程序员 后端

好好编程-物流项目07【SpringMVC整合】

Java 程序员 后端

如何给网关设计一款专属的权限控制「责任链设计模式」

Java 程序员 后端

好险!一入职就遇到MySQL这么大Bug!差点背锅走人!

Java 程序员 后端

如何在本地部署多个Tomcat服务

Java 程序员 后端

如何封装原生的-Java-NIO-以及扩展?详细到让你分分钟搞定Netty

Java 程序员 后端

如何设计一个高性能Elasticsearch mapping

Java 程序员 后端

字节后端开发3+4面,终于拿到秋招第一个offer

Java 程序员 后端

头条二面:你确定ThreadLocal真的会造成内存泄露?

Java 程序员 后端

头条五面惨败,被虐到怀疑人生!面试官三十六连击,你能答出多少?

Java 程序员 后端

好好编程-物流项目13【登录认证-shiro实现】

Java 程序员 后端

【Promise 源码学习】第四篇 - 翻译并理解 Promise A+ 规范

Brave

源码 Promise 11月日更

高德技术评测建设之路_软件工程_高德技术_InfoQ精选文章