【FCon上海】与行业领袖共话AI大模型、数字化风控等前沿技术。 了解详情
写点什么

大数据应用的测试发展之路(一)

  • 2020-04-27
  • 本文字数:2256 字

    阅读完需:约 7 分钟

大数据应用的测试发展之路(一)

AI 大模型超全落地场景&金融应用实践,8 月 16 - 19 日 FCon x AICon 大会联诀来袭、干货翻倍!

从 IT(Information Technology)到互联网和移动互联网,再到数据技术 DT(Data Technology)时代,技术在不断地演进,从单机硬盘升级为当下主流的云+端模式的“新技术”。随着最近几年数据计算力与机器智能算法的兴起,基于大数据 AI 算法的应用愈来愈热,大数据应用在各个行业也不断涌现。测试技术作为工程技术的一部分,也随着时代的不断变化在同步演进,在当下 DT 时代,如何测试和保障一个基于大数据的应用的软件质量,成为测试界的一个难题。本文通过系统性地介绍阿里巴巴 AI 中台的技术质量体系-即搜索推荐广告应用的质量是如何测试的,来尝试回答一下这个问题。文章最后,也对这个方向的未来做了一些展望和预测。希望能给大家带来一些借鉴,也欢迎斧正,以便帮助我们改进。


随着移动互联网和智能设备的兴起,越来越多的数据被沉淀到各大公司的应用平台之上,这些包含大量用户特征和行为日志的海量数据被存储起来,先经过统计分析与特征样本提取,然后再经过训练就会产出相应的业务算法模型,这些模型就像智能的机器人,它可以精准地识别和预测用户的行为和意图。如果把数据作为一种资源的话,互联网公司与传统公司有着本质的不同,它不是资源的消耗者,而是资源的生产者,在平台运营的过程中不停地创造出新的数据资源,并且随着平台的使用时长和频率的增加,这些资源也在指数级地增长。平台通过使用这些数据和模型,又反过来带来更好的用户体验和商业价值。2016 年,AlphaGo,一个基于深度神经网络的围棋人工智能程序,第一次战胜围棋世界冠军李世石。这个由谷歌(Google)旗下 DeepMind 公司开发的算法模型,背后使用的数据正是人类棋手所有的历史棋谱数据。


阿里的搜索、推荐和广告也是非常典型的大数据应用的场景(高维稀疏业务场景),在谈如何测试之前我们需要先了解一下平台处理数据的工程技术背景。搜索推荐广告系统在工程架构和数据处理流程上比较相近,一般分为离线系统和在线系统两部分,见图 1(在线广告系统一般性架构,刘鹏《计算广告》)。离线系统负责数据处理与算法模型的建模与训练,而在线系统主要用以处理用户的实时请求。在线系统会使用离线系统训练产出的模型,用以实时的在线预测,例如预估点击率。用户在访问手机淘宝或者其他 app 的时候会产生大量的行为数据,包括用户的浏览、搜索、点击、购买、评价、停留时长等,加上商家商品维度的各类数据(广告还需要增加广告主维度的数据),这些数据经过采集过滤处理之后再经过特征提取之后生成了模型所需的样本数据,样本数据在机器学习训练平台上经过离线训练之后就可以产生用以在线服务的各类算法模型(例如深度兴趣演化网络 DIEN、Tree-based Deep Model、大规模图表示学习、基于分类兴趣的动态相似用户向量召回模型、等等)。在线系统中最主要的功能是数据的检索和在线预测服务,一般使用信息检索的相关技术。搜索推荐广告系统在使用了上述维度的大数据,经过深度学习之后,成为一个千人千面的个性化系统。对于不同的用户请求,每次展现的商品和推荐的自然结果和商业结果都不尽相同,即便是同一个用户在不同的时刻得到的结果也会随着用户的实时行为的不同而改变,这些背后都是数据和算法模型的魔力。



图 1 在线广告系统一般性架构图


在思考搜索推荐广告系统是如何测试的之前,我们首先要定义问题域,即要解决的测试问题是什么,我们的思路从以下几个方向展开。


1)功能性测试与验证。除了正常的请求与响应的检查之外,大数据的“大”,主要体现在数据的完整性或丰富性。一个搜索推荐引擎的好坏很大程度上取决于其内容是否足够丰富,召回是否足够多样。另外,算法带来搜索推荐结果的不确性,也给我们的测试验证工作造成了麻烦。所以,数据的完整性和不确定性校验也是功能测试的要点。


2)数据更新的实时性如何测试。众所周知,搜索或者广告的在线计算引擎,其内部的数据在不停地发生更新,例如商家在商品信息上的变更,广告主在创意甚至投放计划上的变化等等。这些更新需要实时反馈在投放引擎,否则会出现信息不一致甚至错误。如何测试和验证这些变更的及时性,即保证一定的并发带宽又保证更新链路的响应时间,这是需要测试重点关注的一个问题。


3)数据请求响应的及时性如何测试。在线服务都要求低延迟,每次 query 服务端需要在几十毫秒内给出响应结果,而整个服务端的拓扑会有大概 30 多个不同模块构成。如何测试后端服务的性能和容量就变得至关重要。


4)算法的效果如何验证。搜索推荐甚至广告的返回结果需要与用户的需求和兴趣匹配,这样才会保证更高的点击率与成交转化,但如何验证这种需求与结果的相关性,或者如何测试一个算法的效果,这是一个非常有趣且有挑战的话题。


5)AI 算法系统的线上稳定性如何保证。线下发布之前的测试是对代码的测试验收,并随着缺陷的发现与修复,提升的是代码质量。而线上的稳定性运营是为了提升系统运行的稳定性,解决的问题是:即便是一个代码质量一般的系统,如何通过技术运维的方法来提升系统的高可用性与鲁棒性,并降低线上故障的频次与影响,这一部分也被称为线上技术风险领域。


6)工程效率方向,这是对以上几个部分的补充,甚至是对整个工程研发体系在效率上的补充。质量与效率是一对孪生兄弟,也是同一个硬币的两面,如何平衡好两者之间的关系是一个难题,质量优先还是效率优先,不同的产品发展阶段有不同的侧重点。我们的工程效率,力在解决 DevOps 研发工具链路,用以提升研发的工程生产力。


以上就是大数据应用在测试领域的六大问题,可能有些问题已经超出了传统测试与质量的范畴,但这正是大数据应用带给我们的独特质量挑战。


2020-04-27 15:312189

评论

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

一次性学懂Excel中的Power Query和Power Pivot使用

博文视点Broadview

仅靠七个步骤,4面通过拿offer,终“跳进”字节跳动

小二,上酒上酒

面试 面试题

19道高频vue面试题解答(下)

bb_xiaxia1998

Vue

WorkPlus移动门户,助力企业信息系统移动智慧互联

WorkPlus

Hackathon 实用指南丨快速给 TiDB 新增一个功能

PingCAP

TiDB

疫情闭关期间,读完这些“Java技术栈”,拿下阿里Offer没问题

小二,上酒上酒

Java 面试 技术栈 面试大厂

啃完这些Spring知识点,我竟吊打了阿里面试官(附面经+笔记)

小二,上酒上酒

spring Spring全家桶 阿里面试

Linux策略路由详解

京东科技开发者

数据库 Linux 公有云 云主机 策略路由

安全专属的IM即时通讯平台,WorkPlus信创国产化解决方案

WorkPlus

搞AI开发,你不得不会的PyCharm技术

华为云开发者联盟

人工智能 代码 华为云 企业号十月 PK 榜

凭借一份“面试真经pdf”,我四面字节跳动,拿下1-2级offer

小二,上酒上酒

Java 面试 字节 宝典

STM32L051测试 (一、使用CubeMX生成工程文件 — ST系列芯片通用)

矜辰所致

stm32 STM32CubeMX STM32L051 10月月更

一文步入python大门,基础教程大全(25分钟)

贤鱼很忙

Python 网络安全 10月月更

开发者 J 有意思|1024 开发者嘉年华活动正式启幕

Jina AI

人工智能 开源 开发者 工程师 1024

面试官:说说React-SSR的原理

beifeng1996

React

详解数仓的锁相关参数及视图

华为云开发者联盟

数据库 后端 华为云 企业号十月 PK 榜

使用 SAP BTP 创建一个 Spring Boot Java 应用

汪子熙

云原生 SAP Netweaver 10月月更 btp

Wallys//IPQ8072/IPQ8074/IPQ8072A/IPQ8074A/High-capacity 802.11ax SoC for Routers, Gateways and Access Points

wallys-wifi6

IPQ8072 IPQ8074A

全球第一!新一代云原生实时数仓 SelectDB 登顶 ClickBench 榜单!

SelectDB

性能测试 Clickhouse 分析型数据库 数仓 SelectDB

疫情之后,幸获内推,4面京东拿下offer(Java后台研发岗)

小二,上酒上酒

Java 面试

19道高频vue面试题解答(上)

bb_xiaxia1998

Vue

632页!我熬夜读完这份“高分宝典”,竟4面拿下字节跳动offer

小二,上酒上酒

Java 面试

渣本全力以赴33天,四面阿里妈妈(淘宝联盟),拿下实习岗offer

小二,上酒上酒

学习 面试 阿里 编程开发

加油,也可以更智慧

华为云开发者联盟

云计算 开发 物联网 智慧加油站 企业号十月 PK 榜

NFT铸造摸了个鱼链游系统开发源码(原生开发)

开发微hkkf5566

闭关修炼21天,“啃完”283页pdf,我终于4面拿下字节跳动offer

小二,上酒上酒

Java 字节跳动 面试 大厂面试

详解ROMA Connect API 流控实现技术

华为云开发者联盟

云计算 后端 开发 华为云 企业号十月 PK 榜

读完这份JVM高级笔记,彻底玩转Java虚拟机,面试再也不用“虚”

小二,上酒上酒

Java 面试 阿里 虚拟机 大厂面试

问:你是如何进行react状态管理方案选择的?

beifeng1996

React

LinkedList源码分析(三)

知识浅谈

linkedlist 10月月更

最全的MySQL总结,助你向阿里“开炮”(面试题+笔记+思维图)

小二,上酒上酒

MySQL 面试

大数据应用的测试发展之路(一)_软件工程_公直_InfoQ精选文章