91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

3天內(nèi)不再提示

研發(fā)視角淺談R2流量回放測試

京東云 ? 來源:jf_75140285 ? 作者:jf_75140285 ? 2024-07-12 15:16 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

一、背景

測試小伙伴們在2023年保障了團隊線上系統(tǒng)0問題,這簡直就是一項了不起的壯舉!這得益于咱們測試組同事對工作的細致投入、風險把控、以及嚴格遵循流程規(guī)范進行測試用例評審、自動化建設、聯(lián)調(diào)推動、回歸驗證、常態(tài)化壓測、大促高保真壓測、引流回放等多重保險策略工作。尤其是測試團隊在流量錄制回放方面的實踐經(jīng)驗非常豐富,還貢獻了不少文檔,簡直是測試界的大佬啊!

本文從研發(fā)的的視角去看待流量回放這個問題,或許也能提供一些有趣的觀點呢。

文檔內(nèi)容說的不一定對,歡迎專業(yè)的測試大佬鞭打我的思維火花!這樣對我來說也是成長。

二、流量回放

從系統(tǒng)穩(wěn)定性角度出發(fā),任何需求我都會跟小組團隊強烈要求一點,不要影響線上既有功能,做好DUCC開關快速止血。(太多的COE報告歷史經(jīng)驗教訓都是因為上線某功能B最終導致之前功能A出問題,比如修改了公共的某些方法等)那如何保障不影響線上既有功能呢,自動化測試是一方面,但流量回放比對才是最佳的方式。

流量回放原理其實就是錄制線上真實的流量,到預發(fā)引流環(huán)境進行回放,對比生產(chǎn)和預發(fā)環(huán)境錄入接口的子調(diào)用、響應差異去定位代碼問題。流量回放用例的創(chuàng)建成本很低,使得每次迭代全量回歸有了理論基礎。優(yōu)點是業(yè)務代碼零侵入、真實鏈路調(diào)用、多場景、數(shù)據(jù)可查、結果diff比對、問題定位精準,提前發(fā)現(xiàn)問題。風險是操作不慎可能導致線上問題,比如依賴的下游接口流量暴漲,或者寫操作導致線上臟數(shù)據(jù),最終影響業(yè)務

wKgZomaQ2EGAUM_mAADe4gQ-gzI956.png

??

三、流量錄制

流量來源哪里?肯定是線上真實流量靠譜,可以包含實時的流量也可包含歷史流量(離線錄制的流量),或者人為造的測試流量(造的流量也是參考線上歷史流量有價值的)

其實流量錄制核心關心的是錄制的流量夠不夠,是否能覆蓋這次代碼改動牽扯的業(yè)務場景。

1、流量規(guī)則

流量過濾:

R2支持過濾規(guī)則設置,通過可視化配置:支持字段級過濾規(guī)則配置,僅錄制符合規(guī)則的流量?;蛘咦远x腳本:當過濾規(guī)則較為復雜時,可使用自定腳本,編寫過濾代碼。

流量去重:

有時R2可能錄制到非常多的相同流量,如果某些系統(tǒng)不需要的話,可能造成后續(xù)回放耗時較長和問題排查效率低下。需要思考如何能在保證接口覆蓋率的情況下盡可能減少相同流量的數(shù)量。通過這種機制在一些場景大幅度減少了錄制流量數(shù)量,提高了流量的使用效率。當然大部分場景是不需要去重的,如果需要去重流量不清楚現(xiàn)在R2是否可以通過自定義腳本支持(比如根據(jù)10個入?yún)⑵渲械?個入?yún)砼袛嘀貜偷倪壿嫞?/p>

?

2、場景覆蓋度

為了使用戶了解錄制到流量的覆蓋程度,如:是否存在場景缺失?是否存在我們不知道的場景等,R2特此開發(fā)錄制場景覆蓋度功能,幫你更了解你的生產(chǎn)流量。

案例:

比如Promise社區(qū)團購業(yè)務只有晚上20點后才會有這種特殊的業(yè)務,故需要思考你本次回放的代碼是否需要覆蓋該場景,則需要錄制回放晚上20點后流量。

所以流量錄制回放多久合適?是2小時、4小時還是多久,評判標準就是場景覆蓋度。

wKgaomaQ2EKASGymAAKle7AVlt8311.png

??

3、大促&春節(jié)特殊場景流量

為什么要單獨談一下大促&春節(jié)特殊場景的流量,比如Promise很多場景是只有大促才會有的,比如預售場景。這部分流量日常根本獲取不到,就算你錄制回放線上1個月流量也是無用的。這樣的特殊場景流量用于日?;胤欧浅S袃r值。尤其是改了大促場景需求或者大促前上線了N個需求,可能影響到大促特殊場景功能正確性。那具體如何做呢?我想到的如下思路:

1.是不是可以通過R2的流量錄制,通過入?yún)⑦^濾獲取這部分特殊場景流量,但需要思考不影響大促當天線上系統(tǒng)性能。并且要求接口入?yún)⒖梢詤^(qū)分哪些是大促特殊場景的流量。

2.如果接口依賴很多下游,這需要思考,他們的結果mock保留起來 或者其他方式

3.或者根據(jù)logbook日志找出大促特殊場景的業(yè)務 入?yún)?、出參等等。然后人為整理流量,但這耗時耗力。

當然因為時間久遠,大促特殊場景的流量我們核心是需要入?yún)?,當時的出參結果可能價值不大,因為現(xiàn)在跑結果可能就是不一樣,當然具體因系統(tǒng)而定。

四、回放

回放分離線DIFF和實時DIFF。實時DIFF適合業(yè)務場景時效性比較強,例如:計費、活動等類型的場景。這些場景因為時效性,不能使用流量錄制來進行 Diff 測試。實時 Diff 恰好可以幫助我們進行此類場景 diff 測試。但如果對時間特別敏感的,實時 Diff也是會存在回放失敗率。 為了能實現(xiàn)將 回放時間 倒回到 錄制時間,不知道現(xiàn)在R2是否支持,可將錄制時間戳傳遞給服務(比如System.currentTimeMillis() 這種native方法,動態(tài)修改方法體的字節(jié)碼,代理掉業(yè)務對該方法的調(diào)用,動態(tài)替換為R2事先定義的獲取時間方法從而保證時間替換。)

流量回放一般牽扯讀接口、讀寫接口、寫接口。

1、讀接口回放

對只讀接口進行不mock的回放能夠在上線前的最后階段進行一次兜底的回歸校驗。但需要注意的是,當前是只讀的接口難以保證后續(xù)的變更不會引入寫操作。

案例:

Promise時效域-下傳控制 之前一直是只讀接口,在2023年期間上線了門店產(chǎn)能占用寫邏輯,但團隊有次線上流量回放忘了這個寫的新功能,導致占用線上產(chǎn)能了(唯一幸運點的是占用產(chǎn)能波次跟線上是一致,不會導致產(chǎn)能波次占用錯誤)

臨時解決方案:

團隊制定規(guī)則,如果讀接口變成讀寫,則需要去Ducc引流環(huán)境把對應寫功能的開關關閉,同理發(fā)送MQ同理也是通過開關關閉。并且每次回放前都進行人工校驗寫鏈路,但這能不能做到 或者效率也是個問題,暫時未想到更好的方法。

2、寫接口回放

1.在流量回放中,讀接口和寫接口回放的方式有很大不同。事實上,這不只是流量回放的特點。即使是傳統(tǒng)接口自動化測試,讀接口和寫接口的測試策略也是有很大不同的。

2.讀接口和寫接口的不同,在于讀接口沒有副作用,而寫接口有副作用。寫接口的副作用通常體現(xiàn)在會對被測系統(tǒng)產(chǎn)生臟數(shù)據(jù)上。

3.寫接口需要注意可能操作不慎導致回放的接口中調(diào)用產(chǎn)生臟數(shù)據(jù),影響業(yè)務。

4.如果寫接口,mock的意義不大,如果不操作線上寫,可以搭建一套UAT引流回放寫的環(huán)境,可鏈路的某些服務或者組件依賴可以mock,當然里面可能比較復雜,比如數(shù)據(jù)的操作,mysql,redis等UAT環(huán)節(jié)。結果比對不是簡單的diff比對。則應該是去看具體關鍵數(shù)據(jù)、log日志等去驗證結果。如果接口返回的數(shù)據(jù)依賴于數(shù)據(jù)庫或其他外部系統(tǒng),那么在真實調(diào)用時可能會出現(xiàn)數(shù)據(jù)不一致的問題,導致測試結果不準確。

5.跟上面搭建的UAT引流環(huán)境類似。參考軍演全鏈路壓測,通過修改錄制的流量數(shù)據(jù),通過修改入?yún)?,傳遞forcebot標識,代碼識別到forcebot標識,走對應軍演影子環(huán)境。數(shù)據(jù)線上有mysql影子庫,Redis等影子環(huán)境,寫操作是直接寫到影子里。

wKgZomaQ2EOAI1g8AAOcnuxmpzk226.png

??

JSF接口MOCK失敗

wKgZomaQ2EWAD5CvAAQk8EaV77Y628.png

??

3、讀寫接口回放

讀寫接口分為讀和寫。核心是偏讀,內(nèi)部部分邏輯是寫,針對這,讀遵循上面的原則即可,寫可以采用如下方式

1.通過Mock方式返回,不會真實操作寫動作,不會污染應用數(shù)據(jù)。R2支持各種中間件Mock,不詳細講解。

2.通過DUCC開關關閉寫的邏輯。

案例:比如Promise上面說的產(chǎn)能占用邏輯&發(fā)送MQ就是通過DUCC開關關閉該邏輯。

wKgaomaQ2EWALFVJAACNyAn68ec613.png

??

4、是否應該Mock回放

1.Mock回放與接口是否讀寫操作并沒有直接的聯(lián)系。只是日常習慣寫接口mock,讀用線上真實。但對于讀接口,既可以使用Mock回放,也可以不使用Mock回放;而對于寫接口,同樣可以選擇使用Mock回放或不使用Mock回放

2.Mock回放與非Mock回放之間的本質(zhì)區(qū)別在于:Mock回放是一種白盒測試方法,而非Mock回放則是一種黑盒測試方法。

5、回放覆蓋率統(tǒng)計

我們是否已經(jīng)全面錄制了流量?回放測試是否存在代碼盲區(qū)?如何證明我們的測試足夠全面?或許你也曾有過這樣的疑慮。為了解決這個問題,R2支持離線回放代碼覆蓋率。覆蓋率統(tǒng)計回放,即流量回放的同時,支持被測代碼覆蓋率統(tǒng)計,并生成覆蓋率報告。

wKgZomaQ2EaAYKPKAAIiWqiOVbo970.png

??

?

五、Diff結果比對

1.制定靈活的回放結果比對策略,減輕排錯成本:比如忽略哪些字段,核心關注哪些出參,需要對API接口的出入?yún)⒓皹I(yè)務非常熟悉,需要制定合理的對比策略,根據(jù)場景的不同,靈活采用關鍵字段對比、結構對比等策略。

2.有些Diff比對不一致,只能分別去查看logbook日志尋找原因,有些是因為回放的時候業(yè)務修改了配置導致,有些是真正的bug問題,則需要及時修復然后再次引流回放。

3.有些需求改了邏輯,需要的就是Diff不一樣,這時候流量回放的目的不是為了比對,而是用線上流量豐富測試用例,讓測試更加精準。

?

我是研發(fā),是一個測試小白,文章內(nèi)容可能有些不完全準確,希望通過您的指正和建議來不斷完善和改進。

審核編輯 黃宇

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

    關注

    9

    文章

    6276

    瀏覽量

    131491
  • 接口
    +關注

    關注

    33

    文章

    9548

    瀏覽量

    157268
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    滴滴自動駕駛與廣汽埃安新一代Robotaxi R2獲得北京智能網(wǎng)聯(lián)汽車道路測試牌照

    近日,滴滴自動駕駛與廣汽埃安聯(lián)合打造的新一代 Robotaxi R2,正式獲得北京智能網(wǎng)聯(lián)汽車道路測試牌照。這是繼1月獲得廣州測試牌照后,該車型再次獲得路測牌照,將進一步驗證在復雜城市道路場景下的自動駕駛能力。
    的頭像 發(fā)表于 03-17 09:19 ?509次閱讀

    如何解決變頻器能量回饋等問題

    變頻器作為現(xiàn)代工業(yè)中廣泛應用的電力電子設備,其能量回饋問題一直是制約系統(tǒng)效率提升和節(jié)能優(yōu)化的關鍵瓶頸。隨著"雙碳"目標的持續(xù)推進,如何有效解決變頻器能量回饋帶來的諧波污染、電網(wǎng)
    的頭像 發(fā)表于 03-05 17:34 ?917次閱讀
    如何解決變頻器能<b class='flag-5'>量回</b>饋等問題

    廣汽埃安與滴滴自動駕駛新一代Robotaxi R2交付

    1月23日,廣汽埃安與滴滴自動駕駛聯(lián)合打造的新一代Robotaxi——R2,在廣汽埃安工廠正式交付。首批交付車輛已經(jīng)獲得廣州智能網(wǎng)聯(lián)汽車道路測試牌照。廣州市副市長賴志鴻一行聽取了Robotaxi
    的頭像 發(fā)表于 01-24 15:12 ?1183次閱讀

    使用簡儀科技產(chǎn)品構建高速數(shù)據(jù)流盤與回放系統(tǒng)解決方案

    高速信號在采集、存儲與回放全過程中的數(shù)據(jù)完整性與可靠性,可用于通信、雷達及光電等測試測量場景中的高速數(shù)據(jù)獲取與回溯分析。
    的頭像 發(fā)表于 12-30 10:52 ?591次閱讀
    使用簡儀科技產(chǎn)品構建高速數(shù)據(jù)流盤與<b class='flag-5'>回放</b>系統(tǒng)解決方案

    MokuOS 4.1新增儀器功能:高速信號采集記錄回放

    全新儀器功能:高速信號采集記錄回放儀MokuOS4.1發(fā)布,新增儀器功能高速信號采集記錄回放儀(GigabitStreamer),支持使用Moku:Delta的SFP端口,實現(xiàn)信號實時高速捕獲與回放
    的頭像 發(fā)表于 12-05 16:06 ?1636次閱讀
    MokuOS 4.1新增儀器功能:高速信號采集記錄<b class='flag-5'>回放</b>儀

    電能質(zhì)量在線監(jiān)測裝置歷史波形能回放嗎?

    電能質(zhì)量在線監(jiān)測裝置的歷史波形 普遍支持回放功能 ,且不同品牌和型號的設備在存儲容量、回放方式及數(shù)據(jù)管理上存在差異化設計。以下是基于主流產(chǎn)品特性的詳細說明: 一、回放功能的核心實現(xiàn)機制 數(shù)據(jù)存儲方式
    的頭像 發(fā)表于 11-05 11:29 ?708次閱讀

    寬帶采集存儲回放系統(tǒng)在衛(wèi)星領域的應用

    引言 隨著全球衛(wèi)星產(chǎn)業(yè)的快速發(fā)展,衛(wèi)星技術已廣泛應用于通信、導航、遙感、氣象、偵察等領域。其中,針對衛(wèi)星信號的采集、存儲、回放等需求變得越來越迫切和廣泛。作為該領域關鍵設備的衛(wèi)星信號采集存儲回放系統(tǒng)
    的頭像 發(fā)表于 08-26 17:53 ?1306次閱讀
    寬帶采集存儲<b class='flag-5'>回放</b>系統(tǒng)在衛(wèi)星領域的應用

    T/R組件測試中的三階互調(diào)失真詳解

    一條信號都能高效、純凈、無干擾地精準收發(fā)——從發(fā)射功率的穩(wěn)定、頻譜的純凈,到接收微弱信號的敏銳度,以及面對極端環(huán)境的堅韌性。下面小編將和大家淺談一下T/R組件測試中有關三階互調(diào)的部分。
    的頭像 發(fā)表于 08-14 10:10 ?3471次閱讀
    T/<b class='flag-5'>R</b>組件<b class='flag-5'>測試</b>中的三階互調(diào)失真詳解

    吉事勵相關逆變器測試設備介紹

    吉事勵電源測試系統(tǒng)以 模塊化設計、高精度控制及能量回饋技術 為核心,為新能源、電動汽車、工業(yè)電源等領域提供定制測試解決方案。以下是吉事勵關于逆變器測試設備的整合介紹: ? 一、 模塊化
    的頭像 發(fā)表于 07-30 17:58 ?1188次閱讀

    Hunter OCT-8A如何一站式解決光貓功率校驗與流量測試難題

    ,擬合直線R2≥0.999;· ?非線性殲滅戰(zhàn)?:對InGaAs光電探測器,邊緣功率點加測防非線性畸變。?防御層級2流量+功率校驗工位——Offset的“狙擊槍”??信而泰Hunter OCT-8A
    發(fā)表于 07-30 17:01

    英飛凌將為Rivian的R2平臺供應用于電動汽車牽引逆變器的功率模塊

    ? 【 2025 年 6 月 10 日,德國慕尼黑訊】 全球功率系統(tǒng)和物聯(lián)網(wǎng)領域的半導體領導者英飛凌科技股份公司(FSE代碼:IFX / OTCQX代碼:IFNNY)將為Rivian的R2平臺提供
    發(fā)表于 06-11 09:57 ?5501次閱讀
     英飛凌將為Rivian的<b class='flag-5'>R2</b>平臺供應用于電動汽車牽引逆變器的功率模塊

    DeepSeek開源新版R1 媲美OpenAI o3

    ;還有一些網(wǎng)友的實測評價都顯示,?DeepSeek新版R1 的性能可以媲美OpenAI最新的o3模型高版本。妥妥的超高性價比的平替。 此外,關于DeepSeek的R2大模型的傳聞也很多,比如“參數(shù)規(guī)模被曝
    的頭像 發(fā)表于 05-29 11:23 ?1267次閱讀

    伊頓研發(fā)測試中心獲得DEKRA德凱CTF2實驗室認可資質(zhì)

    近日,伊頓配電與服務事業(yè)部亞太研發(fā)測試中心(以下簡稱:伊頓研發(fā)測試中心)成功通過DEKRA德凱嚴格審核,正式獲得CTF2實驗室認可資質(zhì)。DE
    的頭像 發(fā)表于 05-27 15:21 ?1205次閱讀

    淺談電磁流量計的常見故障及排除方法

    電磁流量計作為常用的流量測量儀表,在使用過程中可能會遇到各種故障。以下是對電磁流量計常見故障及排除方法的淺談: 一、儀表顯示最小或無顯示 當電磁流量
    的頭像 發(fā)表于 04-20 17:56 ?2191次閱讀

    聚焦汽車座艙車載屏幕測試

    本文關注汽車座艙車載屏幕測試,著重探討其性能優(yōu)劣對用戶體驗及行車安全的影響。測試包括亮度、對比度、色彩準確性、可視角度、觸控性能和可靠性測試等多方面,旨在為相關
    的頭像 發(fā)表于 04-18 17:12 ?1092次閱讀