重磅开源:阿里妈妈技术质量开源了线上测试MagicOTP和性能测试平台ACP
阿里QA導讀:阿里媽媽技術質量團隊正式開源了線上測試平臺MagicOTP和性能測試平臺ACP,開發者們可以在Github上自主下載。  | 
2020年4月7日,阿里媽媽技術質量團隊開源了線上測試平臺MagicOTP和性能測試平臺ACP。兩個平臺經過阿里巴巴廣告業務的長期錘煉,在大規模廣告搜索、推薦系統的線上測試和性能測試上深耕多年,內置了面向廣告搜索、推薦領域的工業級線上測試和性能測試解決方案。
一、ACP(alimama-common-performance-platform)
概述
ACP(alimama-common-performance-platform)平臺是阿里媽媽的全鏈路智能性能測試平臺。區別于業界一些開源的工具和平臺,ACP平臺將有監督建模、無監督建模、混沌工程等智能化技術引入到性能測試領域;并將其打造為高性能通用的基礎組件。平臺提供了壓測query智能抽取、壓測流程智能調控、系統指標智能監控三大智能化功能;在阿里媽媽實現了無人值守的智能化性能測試。
(github地址:https://github.com/alibaba/alimama-common-performance-platform-acp )
系統核心能力
1.??? C++高性能壓測工具
ACP提供了SYNC同步壓測和ASYNC異步壓測兩種模式;同步壓測的工作模式是阻塞式發送,異步壓測采用非阻塞并發模式,目前開源版本支持同步壓測模式。
Chain-Line鏈式的線程管理系統,智能調整內部線程和并發數,最終快速達到指定的qps。
基于Linux內核的消息隊列的監聽服務,在不需要重啟進程的情況下做到實時調整qps。
組件:
智能壓測調控框架
Chain-Line鏈式的線程管理組件
Adaptive Auto Control實時流量調控組件
Kernel-queue消息隊列讀寫組件
壓測Client工作模式圖:
2.??? 大規模分布式調度服務
性能測試的一個難點是如何高效利用測試資源,在壓測機器有限,壓測機器規格不一致,壓測任務消耗硬件資源不一的情況下;如何高效調度成千上萬個agent是我們要解決的問題。ACP平臺利用zookeeper,使用DFS深度優先的搜索算法,實現了資源分配粒度達到內核級別,并開源了其產品化的能力。
3.??? 基于歷史樣本的有監督學習建模及預估能力
傳統性能測試更多需要人來手工操作,測試效率普遍不高,我們提供了基于隨機森林( random Forest)、線性模型、非線性等多種算法建模組件;用建模、預估技術代替人力手動調壓等操作,用戶可以根據業務場景定制自己的建模方案,此外,我們也提供了多種樣本處理組件。
1)???? 特征樣本歸一化,對于歷史監控數據,我們將樣本(sample)進行歸一化處理(normalization),將不同量綱、不同單位的樣本進行加權處理,保證后續建模的精度。
2)???? 特征樣本去噪,歷史監控數據有很多噪聲,如作弊流量,異常流量,而這些噪聲會直接影響模型的預估表現,減少無效樣本對模型的影響。
3)?????特征樣本轉換,feature transformer是將多維特征轉為單維(Single-Demension)特征的過程,如服務器帶寬和qps有著強關聯,我們將二者做除法得出新特征,即每個請求占用的帶寬(bytes per query),而這種特征能夠直觀反映系統表現。
4.??? 基于實時樣本的無監督學習建模及預估能力
我們提供了基于arima模型的無監督學習建模預估能力(差分整合移動平均自回歸模型,又稱整合移動平均自回歸模型)。和上述有監督建模預估相比,無監督建模預估準入門檻低,相比于之前的用歷史監控數據建模的方案,arima不需要人為的收集歷史數據和打標。
5.??? 性能測試用例智能生成
Netflix提出了Chaos Engineering,我們基于混沌工程和fuzz思想進一步探索了query智能組合構造方案,分鐘內智能構造千萬級數據樣本;解決了壓測數據樣本單一,異常場景構造成本高,覆蓋率低的問題,從而可以充分驗證系統穩定性,魯棒性。
后續開源計劃
歷史樣本有監督學習建模及預估能力
實時樣本無監督學習建模及預估能力
基于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
?
- END -
fin
開源項目Autotestplat,《自動化平臺測試開發》作者
隱形字
個人公眾號:測試開發社區
長按識別二維碼關注
總結
以上是生活随笔為你收集整理的重磅开源:阿里妈妈技术质量开源了线上测试MagicOTP和性能测试平台ACP的全部內容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: 浅析专题中的构图之美
 - 下一篇: python简单圣诞树手工折纸_简单手工