算法■深度|大数据算法应用的测试发展之路( 七 )
2 测试的线上化 , 既 TIP(Test In Production)
这个概念大概十年前由微软的工程师提出 。 TIP 是未来测试方法上的一个方向 , 主要的考虑是以下三点 。
1)一方面由于线下测试环境与真实线上环境总是存在一些差异 , 或者消除这种差异需要较大的持续成本 , 导致测试结论不够置信 。 使用最多的就是性能测试或容量测试 , 后端服务的拓扑非常复杂 , 且许多模块都有可扩展性 , 带有不同的数据对性能测试的结果也有很大的影响 , 测试环境与生产环境的这种不同会带来测试结果的巨大差异 。 另外 , 目前的生产集群都是异地多活 , 在夜里或者流量低谷的时候 , 单个集群就可以承担起所有流量请求 , 剩下的集群可以很方便地用来压测 , 这也给我们在线上做性能测试带来了可能性 。 最具典型的代表就是阿里的双十一全链路压测 , 今年基本上都是在白加黑的模式下完成的 。
2)另外 , 许多真实的演练测试也只能在线上系统进行 , 例如安全攻防和故障注入与演练 , 在线下测试环境是无法做到的 。
3)最后 , 从质量的最终结果上看 , 不管是发布前的线下测试 , 还是发布后的线上稳定性建设 , 其目的都是为了减少系统故障的发生 , 把这两部分融合在一起 , 针对最终的线上故障的减少去做目标优化工作 , 可以最大程度地节约和利用人力资源 。 我们判断 , 线下测试与线上稳定性的融合必将是一个历史趋势 , 这一领域统称为技术风险的防控 。
3 测试技术的智能化
见图 3 。 类似对自动驾驶的分级 , 智能化测试也有不同的成熟度模型 , 从人工测试、自动化、辅助智能测试、高度智能测试 。 机器智能是一个工具 , 在测试的不同阶段都有其应用的场景 , 测试数据和用例设计阶段、测试用例回归执行阶段、测试结果的检验阶段、线上的指标异常检测诸多技术风险领域都可以用到不同的算法和模型 。 智能化测试是发展到一定阶段的产物 , 前提条件就是数字化 , 自动化测试是比较简单一种数字化 。 没有做到数字化或者自动化 , 其实是没有智能分析与优化的诉求的 。
另外 , 在算法的使用上 , 一些简单算法的使用可能会有不错的效果 , 比较复杂的深度学习甚至强化学习算法的效果反而一般 , 原因或者难点在两个地方 , 一个是特征提取和建模比较困难 , 第二个原因是测试运行的样本与反馈的缺失 。 但无论如何 , 运用最新的算法技术去优化不同的测试阶段的效率问题 , 是未来的一个方向 。 但我们同时判断 , 完全的高度智能测试与无人驾驶一样 , 目前还不成熟 , 主要不在算法与模型 , 而是测试数据的不足 。
本文插图
图3 测试技术的智能化
阿里的搜索推荐与广告系统的质量建设之路 , 经过近 10 年的不断发展 , 在许多前辈的不断努力付出之下 , 才能在如此众多的细分领域方向上开花结果 , 本文所介绍的方法也都浓缩在内部的工具兵器之中 , 后面我们的想法还是逐渐开源 , 回馈社区 。 限于篇幅 , 内容又较杂多 , 很多技术细节这里并没有办法细细展开 。 如果想了解更多 , 后继可以关注即将由阿里经济体技术质量小组主导出版的测试书籍《阿里巴巴测试之道》(电子工业出版社 , 暂定书名) , 本文所介绍的大数据AI算法应用测试被收录在第六章 。 如果还是需要更加详尽的了解 , 也欢迎大家加入我们的团队或者开源社区 , 一起在以上的几个方向做更加深入的研究与建设 。
推荐阅读
- 人群中国科学家通过古人基因组数据探寻中国文明源流
- 联想|联想个人云存储Mac版上线 苹果电脑用户数据备份更便捷
- 信息史上最全SpaceX火箭数据开源,核心、组员舱、起落架、发射信息全都有!
- 云创|真旺(徐州)大数据总经理李华领一行到访云创
- 新智元|B站上线!DeepMind加UCL强强联手推出深度学习与强化学习进阶课程(附视频)
- 主题马蜂窝大数据:大人小孩一起过“六一”,主题公园最受欢迎
- |6大数据可视化应用设计规范
- 链上|链上数据5月扫描:10000美元阻力下的链上百态
- 孜然实验室|DNA存储器突破了理论极限,一部手机装下全世界的数据
- 数据驶向智能海洋深处,华为存储的无尽想象
