重磅开源:阿里妈妈技术质量开源了线上测试MagicOTP和性能测试平台ACP
Editor's Note
将自己的成果开源出去,总是值得鼓励与尊敬,而且今天看到国内优秀企业越来越乐意分享、开源,是进步,也是能力的体现。
The following article is from 阿里巴巴技术质量 Author 朱藻
一、ACP(alimama-common-performance-platform)
~ 概述 ~
ACP(alimama-common-performance-platform)平台是阿里妈妈的全链路智能性能测试平台。区别于业界一些开源的工具和平台,ACP平台将有监督建模、无监督建模、混沌工程等智能化技术引入到性能测试领域;并将其打造为高性能通用的基础组件。平台提供了压测query智能抽取、压测流程智能调控、系统指标智能监控三大智能化功能;在阿里妈妈实现了无人值守的智能化性能测试。
(github地址:https://github.com/alibaba/alimama-common-performance-platform-acp )
~ 系统核心能力 ~
1. C++高性能压测工具
组件:
智能压测调控框架
Chain-Line链式的线程管理组件
Adaptive Auto Control实时流量调控组件
Kernel-queue消息队列读写组件
压测Client工作模式图:
2. 大规模分布式调度服务
3. 基于历史样本的有监督学习建模及预估能力
特征样本归一化,对于历史监控数据,我们将样本(sample)进行归一化处理(normalization),将不同量纲、不同单位的样本进行加权处理,保证后续建模的精度。
特征样本去噪,历史监控数据有很多噪声,如作弊流量,异常流量,而这些噪声会直接影响模型的预估表现,减少无效样本对模型的影响。
特征样本转换,feature transformer是将多维特征转为单维(Single-Demension)特征的过程,如服务器带宽和qps有着强关联,我们将二者做除法得出新特征,即每个请求占用的带宽(bytes per query),而这种特征能够直观反映系统表现。
4. 基于实时样本的无监督学习建模及预估能力
5. 性能测试用例智能生成
后续开源计划
历史样本有监督学习建模及预估能力
实时样本无监督学习建模及预估能力
基于fuzz的性能测试用例智能生成方案
欢迎通过邮件组 acp-opensource@list.alibaba-inc.com和github issue联系和反馈
二、MagicOTP — 线上测试平台
~ 概述 ~
广告搜索推荐业务上,线下功能测试的覆盖和线上实际场景总是有一定的gap,深层次的原因是因为业务和算法模型强相关,线下不可能覆盖所有业务场景。鉴于此我们通过使用线上的数据,实时trace和智能化技术打造了线上智能测试平台MagicOTP,通过线上测试很好弥补了线下功能测试覆盖和实际业务场景之间的gap,实现了全场景的测试覆盖保障,同时在阿里妈妈落地了智能化的无人值守的发布闭环。
(github地址:https://github.com/alibaba/online-test-platform)
~ 系统核心能力 ~
1. 多种线上数据采集技术(时序、分布、规则采样、基因变异算法等),节省人工构造测试数据的成本,提高测试效率。
2. 健壮的规则校验引擎,测试数据通过规则进行多维度校验,相比传统冒烟的单点固定验证,具有更高的场景覆盖度。
3. 精准的规则智能推荐技术和智能化验证技术,基于大数据分析和字段关联关系(Association Rules)建模,利用推荐算法和异常数据检测(K-sigma等)实现了智能化的规则推荐和校验。
4. 高效的多业务接入能力,在平台配置完任务,任务执行过程中自动推荐出基础校验规则,减少开发成本。当业务变更时维护只需简单修改规则即可。
~ 开源Roadmap ~
目前一期提供了基础的线上请求回放能力和规则引擎服务,以及基于此的完整的线上测试方案,后续我们会开源规则智能学习推荐功能和无人值守的发布验证方案。
欢迎通过邮件组magicotp-opensource@list.alibaba-inc.com和github issue联系和反馈
ACP github地址:
https://github.com/alibaba/alimama-common-performance-platform-acp
MagicOTP github地址:
https://github.com/alibaba/online-test-platform
研发成员:朱藻、橦录、翰龙、凤暄、凝珂
写在最后:在稳定性、研发效能、测试等领域有兴趣,期望通过技术改变测试,引领测试变革的同学。
欢迎联系朱藻!邮箱:zhuzao@taobao.com
这两个工具的技术和实践之深度分享,尽在QECon: