精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于數據平臺流量的自動化測試

OSC開源社區 ? 來源:OSC開源社區 ? 2023-06-28 16:28 ? 次閱讀

1 背景與挑戰

1.1 數據平臺業務背景

數據平臺利用大數據智能分析、數據可視化等技術,對公司內外部經過采集、建設、管理、分析的多源異構數據進行呈現和應用,實現了數據共享、日常報表自動生成、快速和智能分析,深度挖掘數據價值,滿足企業各級部門之間的數據分析應用需求。因而也具有數據量大,場景多,數據準確性要求高,查詢性能要有保障等特點。

1.2 傳統測試方法

基于數據平臺的特點,使得我們在線下進行數據測試或者回歸測試時成本比較高,難度也比較大。所以我們希望能有一種有效的手段來降低測試的成本和門檻,實現測試的標準化。一直以來我們都是通過編寫自動化測試來實現的。但是傳統的自動化測試其實是有很多弊端的,比如成本高,覆蓋場景有限,標準化難度高等。

1.3 傳統自動化的弊端

1.3.1 成本高:

人工編寫、維護自動化用例成本高

較低的測開比無法跟上迭代的速度

1.3.2 覆蓋場景有限:

線下構造測試場景難度大

場景覆蓋度有限

1.3.3 標準化難度高:

強依賴 QA 個人經驗和能力

開發獨立排查自動化問題難度高,推動開發自測效果差

因此我們希望利用線上的流量來搭建一個流量回放的平臺,與自動化測試結合,來實現一個符合數據平臺特點的自動化測試體系。

2 流量回放平臺介紹

流量回放的實現原理即是使用線上入口錄制用戶操作的真實流量,到預發環境進行回放,對比生產和預發環境錄入接口的子調用、響應差異去定位代碼問題,接入對象范圍是只讀、讀寫、只寫接口,優點是業務代碼零侵入,自動流量 diff,真實鏈路調用,數據可查,問題定位精準,發現問題的可能性提高,缺點是面向范圍有一定局限性,操作不慎可能導致回放的接口中存在寫操作的子調用產生臟數據,影響業務。

2.1 流量回放平臺調研

確定之后我們便立刻展開了調研,研究對比了公司的流量回放平臺,阿里的 Doom 以及 Twitty 的 Diffy,差異如下圖。 37fb03c6-14d6-11ee-962d-dac502259ad0.jpg

2.2 數據平臺業務特點

因為數平報表的查詢特點, 導致代碼中對外查詢鏈路少,對內的維度條件業務組合多,基于這樣的特點導致在使用 Pandora 平臺錄制線上流量時,流量錄制不全,大多數場景無法完全覆蓋。

復雜的數據平臺一般都依賴大量屬性配置管理、定時同步任務等,因此預發環境和生產環境配置庫需要隔離,保護數據不被污染。而流量回放又依賴配置庫和數據庫相同,使用場景高度依賴配置數據, 導致回放落地難度大。

數據平臺的流量回放,驗證結果時往往需要對數據進行校驗, 請求會對生產數據庫造成一定查詢壓力,可能會影響生產環境穩定性。需要控制好回放速度和控制、監控和降級保護。

部分數據是實時的,回放結果需要計算波動率。

基于以上特點導致數據平臺無法接入公司的 Pandora 平臺,我們也在第一時間聯系公司平臺負責人進行溝通和提出改進需求方案。 但問題的迫切使得我們決定先小成本的進行一些工作,一方面盡快緩解我們的痛點,一方面也要方便后期接入公司平臺,減少資源浪費。以此為目的,我們在一期使用腳本采集流量, 并借助開源工具 Diffy 快速實驗了一套簡易的流量回放系統。同時給平臺提出適應性接入需求。在二期時,將腳本采集的流量上傳至平臺,接入平臺進行流量回放。 這樣的好處是:

流量自主可控,可根據需要定點擴充流量,無需擔心流量稀疏、錄制對線上環境的影響、接口覆蓋不全等問題。

使用日志或埋點的方式采集流量,為流量采集提供了一種流量采集的新思路

開源工具只有部署和熟悉的資源投入,后期接入平臺后可回收資源,沒有浪費資源重復造輪子

基于以上背景,進行了數據平臺的流量回放實現方案。

2.3 核心原理

整體思路依然是沿著線上獲取流量,分別在不同代碼環境進行回放,最后對接口返回結果進行比對,以達到檢測被測代碼準確性的目的。這里我們將生產的流量根據時間、接口白名單和操作人等字段進行過濾,并按照窗口進行流量的去重和篩選,最后沉淀為一個穩定的流量池。任務觸發后會并發的按照指定速率向預發和生產雙發回放,獲取接口的返回結果,經過一系列降噪操作后,根據字段對比結果統計出整體的成功率,并產出報告。下面我會從流量采集、環境策略、執行調度、比對結果四個方面來介紹整個方案。 ~ 流量回放交互構架圖~ 38239de0-14d6-11ee-962d-dac502259ad0.png

2.3.1 流量采集

通過公司的流量錄制方式, 接口覆蓋提升難度較大, 不太適合數平對外鏈路少,條件組合多的特點,因此我們想通過埋點篩選的方式進行流量采集。這樣的好處是完美避免了流量錄制過程中流量分布不均,降低對線上服務的性能影響,同時接口的覆蓋又非常的完整。實現了自主可控,定點獲取流量。 在流量采集中,我們會分批次的去生產系統上根據配置的日期和數量不斷地撈取流量,對每一個批次流量根據入參和請求路徑進行接口去重,并根據梳理好的接口白名單、流量操作人、接口關鍵字、請求類型等來過濾數據,然后需要對流量中的臟數據進行篩選、對參數中的特殊字符和多余字段進行修正。最后將清洗好的干凈數據保存到本地流量池中,等待任務使用。 385889e2-14d6-11ee-962d-dac502259ad0.jpg 在后期,處理后的流量會通過接口上傳至流量回放回放 Pandora 平臺,通過我司的平臺化工具更便捷高效的管理流量和執行。 上傳后即可在流量回放平臺查看流量,這里也可以通過 excel 的方式手動上傳,但是每批次流量數量受限。 387a345c-14d6-11ee-962d-dac502259ad0.png

2.3.2 環境策略

環境采用了預發和生產兩套環境對比。通過配置將預發環境的數據來源指向了生產服務。并且定時同步生產的配置庫到預發環境,來解決數據和配置的 Gap。 38b19ece-14d6-11ee-962d-dac502259ad0.png38e8dfce-14d6-11ee-962d-dac502259ad0.png

2.3.3 執行調度

調度有兩種方式, 一種是配置定時觸發,一種是手動調用接口觸發。任務觸發后,會獲取流量池中的流量,并對流量的關鍵字和執行數據量級再次判斷是否可執行。確認執行后,將流量放入線程池中開始回放。這里采用了定長線程池和速率控制器來實現高并發和靈活的請求速率配置。 在任務執行后,也可以根據實際執行情況隨時修改配置來停止任務或者調整任務的發送速率,控制對線上環境的影響。 3917e0ee-14d6-11ee-962d-dac502259ad0.png

2.3.4 比對結果

拿到生產和預發的返回結果之后就是對比兩端結果,發現不一致的字段和返回,介于數平的特點,噪音點會非常的多,因此引入了 AAdiff 的方式,來達到自動降噪的功能。如何降噪: a. AAdiff :在對比之前, 連續調用兩次生產環境,獲取結果后對比, 將不一致的字段剔除。即可去除不穩定或者有波動的字段 b. 指定字段忽略:跟對一些配置字段或者無意義字段進行手動配置忽略,降低噪點。 結果差異對比匯總后, 會根據字段進行分組匯總,對與 AAdiff 不通過的字段會直接置灰。點擊字段即可在右側查看字段下差異的數據。 3941681a-14d6-11ee-962d-dac502259ad0.jpg 通過點擊差異詳情,可進一步看到請求的 path、請求體、生產和預發的返回值等信息,幫助排查定位問題。 39697332-14d6-11ee-962d-dac502259ad0.png 同時在結果報表中可以觀測到流量數、回放成功率等信息。

3 業務實踐

這里以智能運營系統為例,對比流量回放接入前后的效能成本差異。 39b4a8b6-14d6-11ee-962d-dac502259ad0.png 通過流量回放的方式,不僅快速提升了自動化的接口覆蓋,降低了迭代人力投入,更是增強了回歸的可靠性。這一點通過迭代質量變化趨勢也能很好的反應。 平臺數據: 流量回放工具在 513 迭代初步使用, 但覆蓋率和穩定性較差, 514 迭代完善,正式投入使用。 在 514 迭代工具正式投入使用后,發現遺漏 bug 比例達 25%,515 迭代質量有明顯提升, 連續兩個迭代線上無缺陷逃逸發生。平臺質量和穩定性明顯提升。 目前智能運營流量回放投入使用至今,已持續支持多個迭代的日常回歸測試以及日常壓測工作,讀接口覆蓋率達 86%,回放通過率穩定在 98%,發現回歸漏測比率達 25%,大大提高了系統的穩定性和線上質量。 39ed1868-14d6-11ee-962d-dac502259ad0.png

4 規劃與展望

智能運營系統流量回放已進入維護階段,在日常迭代中幫助測試實現冒煙、回歸、壓測、緩存驗證等多種任務。后續將通過精準接口流量獲取的方式,將少部分稀疏接口納入覆蓋。并將流量上傳至流量回放平臺。借助流量回放平臺的能力,更加穩定、方便的執行計劃和排查問題。 基于數據平臺各系統以讀接口為主的特點,非常適合流量回放的回歸形式,后續會將各個系統按優先級陸續接入我司流量回放平臺,并通過流量埋點的方式快速提升接口覆蓋。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 接口
    +關注

    關注

    33

    文章

    8526

    瀏覽量

    150861
  • 數據
    +關注

    關注

    8

    文章

    6909

    瀏覽量

    88849
  • 自動化
    +關注

    關注

    29

    文章

    5519

    瀏覽量

    79118

原文標題:數據平臺流量回放最佳實踐

文章出處:【微信號:OSC開源社區,微信公眾號:OSC開源社區】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    OPhone自動化測試技術概述

    本文將對OPhone平臺上可采用的幾種自動化測試技術進行介紹,并對每種技術的優缺點做簡要的總結。OPhone臺除了為應用程序開發提供豐富的API外,也為開展自動化
    發表于 05-06 08:58

    手機自動化測試方法

    `隨著智能手機近年來的快速增長,從游戲娛樂到移動辦公的各式各樣的手機APP軟件滲透到我們的生活中,手機APP自動化測試也逐漸興起,從Monkey本地測試到云測試
    發表于 07-05 15:07

    基于EXFO新LTB平臺自動化測試和儀表共享方案

    會議的主要內容:基于EXFO新的LTB平臺,討論如何打破傳統的測試模式,利用以太網和網絡技術,實現儀表的共享和優化并使其自動化。會議的主講人是EXFO應用工程師—胡希文,主要從事于光通訊行業(光芯片
    發表于 04-11 09:45

    開關電源自動化測試系統的設計與實現

    管理軟件、測試開發軟件、系統服務與驅動程序軟件、處理總線平臺和模塊I/O 與儀器控制五個層次,如圖1 所示。圖1 以軟件為核心的模塊的系統構架  以軟件為核心的模塊
    發表于 11-29 16:59

    LXI新一代測試自動化平臺

    LXI新一代測試自動化平臺
    發表于 10-12 15:01

    如何對用戶界面進行自動化測試

    能識別圖形界面上的關鍵信息,比如界面上的文字,數值,圖標等。小螞蟻測試(AnTestin)平臺支持對人機接口的屏幕顯示進行自動化檢測,代替人的眼睛觀察,可以識別界面上的關鍵信息,結合其他操作(比如
    發表于 03-06 19:57

    自動化測試系統問答

    和配置管理,學會在開發工具的同時也學會一些開發和測試自動化流程。而在測試過程中,因為開發的工具不是非常系統,所以可以主要從功能點(按照需求列好功能點
    發表于 10-12 19:02

    LabVIEW與Tektronix示波器實現電源測試自動化

    自動化數據處理的智能。通過LabVIEW編程環境連接Tektronix示波器,可以精確設置測試參數,如電壓、電流波形等,確保每次測試
    發表于 12-09 20:37

    WLAN自動化測試平臺的設計及實現

    本文介紹的WLAN自動化測試平臺,采用Linux作為控制端,遠程Telnet AP端和STA端,分別通過腳本配置AP端和STA端,并控制他們之間的交互。
    發表于 04-23 11:03 ?2670次閱讀
    WLAN<b class='flag-5'>自動化</b><b class='flag-5'>測試</b><b class='flag-5'>平臺</b>的設計及實現

    基于白盒測試自動化測試平臺實現

    主要介紹了 Parlay 應用服務器的 API 接口, 提出了一個簡單的基于白盒測試自動化測試平臺實現方案, 并詳細介紹了該方案的基本設計思想、總體結構、
    發表于 09-08 15:07 ?7次下載
    基于白盒<b class='flag-5'>測試</b>的<b class='flag-5'>自動化</b><b class='flag-5'>測試</b><b class='flag-5'>平臺</b>實現

    ATE自動化測試系統是什么_ATE自動化測試系統介紹

    本文首先介紹了ATE自動化測試系統發展線路,其次闡述了ATE自動化測試系統的作用及原理、特點、優勢,最后介紹了ATE自動化
    發表于 05-23 16:47 ?3.2w次閱讀

    中科創達SOA自動化測試平臺正式發布

    近日,中科創達正式推出全新自動化測試產品——SOA自動化測試平臺。該平臺可以通過SOA仿真環境搭
    發表于 11-24 10:58 ?799次閱讀

    什么是自動化測試框架

    自動化測試框架,即是應用于自動化測試所用的框架。按照框架的定義,自動化測試框架要么是提供可重用的
    發表于 04-18 14:44 ?878次閱讀

    接口自動化測試流程講解 企業接口自動化測試步驟

    接口自動化測試是指通過編寫腳本或使用自動化工具,對軟件系統的接口進行測試的過程。接口測試是軟件測試
    發表于 07-28 14:54 ?2162次閱讀
    接口<b class='flag-5'>自動化</b><b class='flag-5'>測試</b>流程講解 企業接口<b class='flag-5'>自動化</b><b class='flag-5'>測試</b>步驟

    電源測試怎么自動化?電源模塊自動化測試系統如何實現?

    納米軟件在電測行業深耕十余年,在行業的大背景下,為了進一步完善自動化測試,開發出了新的智能的電源模塊自動化測試系統ATECLOUD-POW
    的頭像 發表于 12-15 14:40 ?835次閱讀
    電源<b class='flag-5'>測試</b>怎么<b class='flag-5'>自動化</b>?電源模塊<b class='flag-5'>自動化</b><b class='flag-5'>測試</b>系統如何實現?