分享者:钱承君
职位:测试架构师兼管理
所在研发团队规模:下属测试团队约70人规模;百度质量部1800名员工
该研发团队职能定位:探索大型数据系统的质量保障实践,确保核心业务健壮
分享者介绍:钱承君,多年互联网从业经验,曾在美国留学与工作,是业内最早从事IOS系智能手机研发的工程师之一,归国后逐渐将注意力转移到了更具技术挑战的技术领域,加入大众点评,主导团购支付、邮件渠道营销、个性化推荐等技术方向。2011年加盟百度,担任大规模分布式存储系统的测试架构工作,为百度的存储体系构建质量保障方案。互联网的存储体系是一个及其复杂的领域,离线高吞吐的存储收纳了整个互联网,低延迟高并发的存储承载了搜索与广告,这一体系支撑了百度几乎所有的重要产品。目前除却测试体系架构与技术规划工作外,还担负大数据(北京、上海、深圳)、基础架构(上海)、云安全(上海)的测试业务管理工作。
案例简述
传统的测试验证手段专注于通过测试设计构建合理的输入输出,来实现代码路径覆盖。随着行业中大数据的逐渐兴起,无法满足这一新领域测试挑战。机器学习、数据挖掘、长数据流系统、大规模存储,这些在大数据领域常见的技术,尚且没有成熟的、体系化的质量保障方案来应对。
百度日新增数据量3P左右,这些数据将用于搜索、广告等核心业务系统。达到这一规模的数据与系统,会遇到新的问题与挑战,需要测试体系建设过程的方法创新与技术创新。
案例解读
这一个方向的探索是公司“基础技术体系”的平衡计分卡的一项战略目标,由我来主导规划和管理。随着公司的关键领域(搜索、广告)工程架构日趋成熟,大规模的工程重构的频度有显著下滑趋势,进一步的突破口或许在于算法与策略,例如贯通更多更全面的数据、例如利用深度机器学习技术带来的广告变现的增益,等等。在这样的大背景下,如果测试角色仍停留在工程代码验证与回归支持的层面,恐将有被边缘化的风险。因此在今年年初,决定开始这一新技术领域的探索,并获得了一定程度的技术积累与突破。
这里所提到的并不是一个简单的独立案例,而是一个技术方向建设的阶段性进展。限于篇幅,将构成一篇综述性质的文案,逐一介绍在大数据测试方向取得的经验,抛砖引玉,以为更多企业提供相关领域的质量保障体系建设的思路。
注:“基础技术体系”,包含深度机器学习、自然语言处理、基础架构、测试运维等所有非直接提供业务产品的技术团队,“大数据质量”是一项公司级的技术战略方向。
成功要点:
1.革命尚未成功,仅介绍阶段性突破与当前进展
2. 我们有强大的技术团队,可快速突破和探索新领域的关键技术难点。在组建团队时,对于校招学生会挑选科研成果较好、有发展潜力的候选,以知名院校的计算机类科研硕士为招聘主体;社招有较高比例的专家型人才,均在一线公司有分布式存储、数据挖掘、机器学习等领域实战经验的研发工程师。一流的团队才能吸引一流的人才,对测试团队的低定位,是测试行业难以技术突破的桎梏。
3.百度拥有大量的数据,研发运维过程的确遭遇痛点。质量部建设这一技术方向时,与诸多业务部门一拍即可,提供了充分的应用落地场景。感谢百度技术驱动的良好氛围与系统足够庞大复杂,使得我们能有更好的客观条件。天时地利人和,缺一不可。
难点分析:
1.大数据领域涉及多类目的基础算法,例如挖掘、推荐、预测、机器学习。算法本身的测试是一个专业性很强的方向,需探索如何更有效构建质量保障体系。
2.大数据领域涉及多种典型Test-Oracle缺失问题,例如电商领域的推荐系统,这类系统验收与传统质量保障方案有较大差异。
3. 长数据流系统往往横跨整个公司,例如百度获取整个互联网的页面信息,到最终将搜索结果展现在终端,这一数据处理的过程会横跨非常多的团队,体系架构复杂,信息量远超出个人能掌握的范畴。对于这类的系统,须积累体系化的工具与能力,来追踪和覆盖跨多业务团队的问题。
4. 平台与应用,例如苹果的IOS平台升级后,如何保障应用的兼容?大数据也会涉及类似问题(hadoop平台与Map-Reduce程序),在数据的基础架构与应用间,需有方案对这类的系统模式进行体系化的迭代与回归支持。
5. 超大数据量的验证,每日千亿级别的数据,在持续监控方面会遇到一些问题与瓶颈,须有相应解决方案。
6. 支持大数据量的基础架构体系,涉及分布式系统、容灾容错、运维、拉伸扩展、性能、异常,须有相应的技术积累。
案例收益分析:
1. 积累了大数据相关的质量保障技术与方法,辅导新切入大数据方向的业务产品线,帮助对应研发、测试、运维团队获得相关技术能力。
2. 在诸多团队有落地实践,覆盖三十多产品,日均监控有效问题数十例,有效提升了公司级的基础数据质量,拓展了模型预估类系统的准确性上限(广告点击分析、展现什么内容谁会更有效点击,就是这类的系统)。
案例启示:
新的技术会带来业务模式的新突破,测试团队需有危机感,需勇于突破积极创新。测试团队会加剧分化,强者愈强,适者生存。不进取的团队,发展空间将被进一步挤压。大数据能力是一支优秀测试团队未来需掌握的一种新的技能,大数据本身带来的质量挑战,以及大数据技术能为更广泛场景质量保障带来的效益,是测试行业的一个机会。















