国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于線上流量回放的自動(dòng)化測試方法和裝置

2024-10-31 00:00:00高棟佟業(yè)新張曉明管宏禮張夢云
現(xiàn)代信息科技 2024年17期

摘 要:針對(duì)民航出行軟件業(yè)務(wù),提出一套全新的自動(dòng)化業(yè)務(wù)回歸測試方案。其中,最顯著的創(chuàng)新在于噪聲識(shí)別算法,該算法旨在處理和識(shí)別民航出行軟件系統(tǒng)中的復(fù)雜接口與數(shù)據(jù),從而提高diff功能在分析大量民航出行業(yè)務(wù)數(shù)據(jù)時(shí)的準(zhǔn)確性。此外,方案還包括微服務(wù)接口的泛化調(diào)用以及它在DevOps流程中的集成,不僅簡化了接口請求,而且首次將業(yè)務(wù)回歸測試納入DevOps上線流程,進(jìn)一步實(shí)現(xiàn)了持續(xù)集成、部署和測試。更重要的是,方案還為民航出行軟件系統(tǒng)中的Dubbo接口提供了錄制和回放功能,并實(shí)現(xiàn)了請求的序列化和響應(yīng)的反序列化。綜合來看,該研究為民航出行業(yè)務(wù)軟件開發(fā)和維護(hù)提供了一種高效、準(zhǔn)確且集成度高的測試解決方案。

關(guān)鍵詞:噪聲識(shí)別算法;DevOps流程;自動(dòng)化回歸測試;流量錄制;流量回放

中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):2096-4706(2024)17-0123-06

0 引 言

隨著中國經(jīng)濟(jì)的持續(xù)增長和航空業(yè)的迅速擴(kuò)張,民航出行已從奢侈品的地位逐漸轉(zhuǎn)變?yōu)楣姷娜粘3鲂蟹绞健V泻叫乓苿?dòng)科技作為一家在民航出行領(lǐng)域提供綜合服務(wù)的公司,這意味著支持此類出行的軟件系統(tǒng)必須能夠高效處理大量數(shù)據(jù),例如航班調(diào)度、乘客信息和票務(wù)數(shù)據(jù)。同時(shí),確保系統(tǒng)的實(shí)時(shí)性、安全性和高度可用性也至關(guān)重要。業(yè)務(wù)回歸測試不僅僅是為了確保軟件質(zhì)量,更是為了滿足航空業(yè)務(wù)的綜合性測試需求,確保系統(tǒng)在高壓和復(fù)雜服務(wù)環(huán)境下的穩(wěn)定性,為用戶提供卓越的航空服務(wù)體驗(yàn)[1-2]。

1 本研究定位與價(jià)值

在航旅縱橫應(yīng)用程序領(lǐng)域中,自動(dòng)化測試面臨一系列獨(dú)特的挑戰(zhàn),其中包括處理實(shí)時(shí)數(shù)據(jù)、第三方集成,以及地理位置和移動(dòng)性測試等方面的問題。系統(tǒng)與實(shí)時(shí)航班信息、酒店服務(wù)等第三方的緊密集成,極大地增加了測試的復(fù)雜性,因此需要借助模擬服務(wù)和虛擬化技術(shù)來進(jìn)行全面的測試。航旅縱橫APP通常涉及用戶的地理位置和移動(dòng)性,因此在自動(dòng)化測試過程中,必須確保覆蓋各種地理位置和移動(dòng)情況,以有效評(píng)估應(yīng)用程序的性能和穩(wěn)定性。這些挑戰(zhàn)性的測試需求使得在民航出行軟件領(lǐng)域開展自動(dòng)化測試變得尤為重要。

近年來,已經(jīng)有一些工具和方案被提出來,試圖解決自動(dòng)化回歸測試中的難題。其中,兩個(gè)顯著的例子為:

1)jvm-sandbox-repeater。這是阿里巴巴的開源解決方案,能夠支持多協(xié)議流量錄制。盡管它可以覆蓋多種通信協(xié)議并精確地錄制線上流量,但由于缺乏差異性(diff)分析功能,該工具在處理復(fù)雜回歸測試場景時(shí)可能會(huì)受到限制。

2)diffy。Twitter推出的開源項(xiàng)目,它主要聚焦于HTTP協(xié)議,特別強(qiáng)調(diào)其差異性分析和智能降噪能力。雖然它能夠?yàn)殚_發(fā)者提供清晰的反饋,但由于未包括流量錄制和回放功能,該工具在需要全方位測試的場景中可能顯得不夠完備。

考慮到上述工具的局限性,顯然,目前的技術(shù)解決方案在滿足民航出行軟件的綜合性測試需求方面仍有很大的提升空間。尤其是,在現(xiàn)代軟件開發(fā)的持續(xù)集成和部署(DevOps)背景下,需要一種更全面、適應(yīng)性強(qiáng)且可以輕松集成到DevOps流程中的回歸測試方案。因此,本研究的核心目標(biāo)和意義在于提供一種全面的、支持多協(xié)議的、結(jié)合了流量錄制回放及高效的差異性分析功能的自動(dòng)化業(yè)務(wù)回歸測試解決方案。更重要的是,該解決方案不僅滿足了基本的業(yè)務(wù)需求,還具有與DevOps流程無縫集成的能力,使其成為質(zhì)量保障流程中的一個(gè)關(guān)鍵環(huán)節(jié)。

2 方案設(shè)計(jì)

在民航應(yīng)用軟件領(lǐng)域,本研究構(gòu)建了一個(gè)基于jvm-sandbox-repeater的方案,專為中航信移動(dòng)科技的民航出行軟件線上流量的精準(zhǔn)錄制與回放而設(shè)計(jì)。當(dāng)用戶使用航旅縱橫應(yīng)用程序時(shí),其請求首先經(jīng)過gateway網(wǎng)關(guān),隨后導(dǎo)入到內(nèi)部系統(tǒng)。為確保數(shù)據(jù)傳輸?shù)母咝耘c穩(wěn)定性,選擇了kafka作為關(guān)鍵數(shù)據(jù)通道,專門用于捕獲線上用戶請求數(shù)據(jù)。后續(xù),這些數(shù)據(jù)由flink進(jìn)行精準(zhǔn)實(shí)時(shí)處理,并最終被安全地存儲(chǔ)到數(shù)據(jù)庫中。這些精確錄制的用戶請求數(shù)據(jù)為研究方法奠定了堅(jiān)實(shí)的數(shù)據(jù)基石。

鑒于業(yè)務(wù)回歸測試的復(fù)雜性和關(guān)鍵性,本文設(shè)計(jì)一個(gè)全方位的策略框架,該框架綜合涵蓋配置管理、工具管理、流量錄制、流量回放、差異分析以及質(zhì)量卡點(diǎn)等多個(gè)環(huán)節(jié)。每個(gè)部分均旨在滿足特定的測試需求,并確保整個(gè)測試流程的穩(wěn)定性和高效性[3]。此外,為了提供用戶友好的操作界面,還開發(fā)了一個(gè)Web平臺(tái),使用戶能夠?qū)崟r(shí)查看流量錄制信息、執(zhí)行流量回放、編輯配置文件和管理工具等復(fù)雜操作。詳細(xì)的方案架構(gòu)圖已在圖1中清晰展示。這一研究背景下的技術(shù)改進(jìn)旨在提升民航出行軟件的質(zhì)量和穩(wěn)定性,以應(yīng)對(duì)其不斷擴(kuò)大的用戶群體和復(fù)雜的業(yè)務(wù)需求。本研究旨在為民航出行軟件提供更全面、適應(yīng)性強(qiáng)、與DevOps流程無縫集成的自動(dòng)化業(yè)務(wù)回歸測試解決方案。

2.1 配置管理

本研究實(shí)現(xiàn)了一套綜合的配置管理功能,涉及應(yīng)用配置、插件配置及配置推送三個(gè)核心領(lǐng)域??紤]到線上業(yè)務(wù)的多樣性和接口的多變性,應(yīng)用配置功能被設(shè)計(jì)以滿足對(duì)線上流量的精細(xì)篩選和管理需求。為降低用戶的使用門檻,提供了預(yù)設(shè)的應(yīng)用配置模板,以支撐大多數(shù)的業(yè)務(wù)場景。同時(shí),允許用戶根據(jù)特定的工程和運(yùn)行環(huán)境進(jìn)行個(gè)性化調(diào)整。

插件配置環(huán)節(jié)主要針對(duì)http和Dubbo協(xié)議,為用戶提供了精準(zhǔn)定位至具體包、類、方法的能力,進(jìn)一步實(shí)現(xiàn)流量的有針對(duì)性錄制。盡管默認(rèn)接口采樣率設(shè)為萬分之一,但實(shí)際操作中用戶可根據(jù)需求進(jìn)行調(diào)整,如常規(guī)設(shè)定為十分之一,對(duì)于流量較小的接口,則可選擇全流量錄制。

在配置更新機(jī)制方面,為確保配置始終為最新狀態(tài),采納了兩種策略:主動(dòng)推送配置文件至各節(jié)點(diǎn),以及在repeater重啟時(shí)自動(dòng)拉取中心的最新配置。此兩種策略保障了系統(tǒng)配置的實(shí)時(shí)性與韌性。

2.2 工具管理與監(jiān)控

本研究依賴于開源工具jvm-sandbox-repeater進(jìn)行線上流量錄制,該工具采用字節(jié)碼增強(qiáng)技術(shù)和事件分發(fā)機(jī)制。其在目標(biāo)服務(wù)器上的安裝是錄制與回放的基礎(chǔ),結(jié)合值機(jī)選座服務(wù)的業(yè)務(wù)場景,以下是對(duì)工具依賴和集中管理平臺(tái)在實(shí)際應(yīng)用中的細(xì)化描述,原理如圖2所示。

集中管理平臺(tái)控制jvm-sandbox-repeater的所有操作,包括安裝、啟動(dòng)、停止。此平臺(tái)也實(shí)現(xiàn)了工具的生命周期管理,如版本控制、配置更新及與其他組件的集成。心跳檢測機(jī)制對(duì)工具健康狀況進(jìn)行評(píng)估,捕捉異常并實(shí)時(shí)觸發(fā)預(yù)警。平臺(tái)還集成了日志記錄和事件追蹤,確保對(duì)與工具相關(guān)的事件進(jìn)行詳細(xì)記錄。

總之,此自研平臺(tái)為jvm-sandbox-repeater提供了全面的管理、監(jiān)控與優(yōu)化,確保其穩(wěn)定高效運(yùn)行。

2.3 流量錄制

流量錄制在確保值機(jī)業(yè)務(wù)連續(xù)性、透明性與韌性中扮演關(guān)鍵角色。面對(duì)多元化民航出行線上服務(wù)環(huán)境,精確鑒別真實(shí)用戶流量與回放流量變得尤為重要[4]。

我們以民航出行的值機(jī)選座的應(yīng)用場景為例,采用了一種基于traceID生成策略的方法,為每個(gè)數(shù)據(jù)流分配獨(dú)特標(biāo)識(shí)?;胤帕髁烤S持原始traceID不變。新流量接入系統(tǒng)時(shí),通過對(duì)比traceID與已錄制流量的數(shù)據(jù)庫,未記錄的即為真實(shí)用戶流量。

為了處理大規(guī)模的民航出行軟件線上值機(jī)選座的流量,選擇kafka進(jìn)行流量捕獲。kafka作為高性能的分布式消息系統(tǒng),能實(shí)時(shí)處理大量數(shù)據(jù)。為深入處理和解析數(shù)據(jù),引入高吞吐量的flink流處理框架。數(shù)據(jù)經(jīng)過flink處理后,被持久化并存儲(chǔ)到數(shù)據(jù)庫,確保值機(jī)數(shù)據(jù)穩(wěn)定性和完整性,如圖3所示。

綜合應(yīng)用traceID生成策略、kafka及flink,構(gòu)建健壯、高效的流量錄制系統(tǒng),確保值機(jī)選座業(yè)務(wù)流的連貫性和穩(wěn)健性[5]。我們成功應(yīng)用這一流程來錄制和分析值機(jī)業(yè)務(wù)的線上流量,確保了系統(tǒng)在高負(fù)載和復(fù)雜服務(wù)環(huán)境下的穩(wěn)定性,同時(shí)也為后續(xù)的流量回放和差異性分析提供了可靠的數(shù)據(jù)基礎(chǔ)。

2.4 流量回放與差異分析

流量回放是本研究的核心功能,允許用戶模擬真實(shí)環(huán)境下的流量,以驗(yàn)證系統(tǒng)的韌性和性能。此功能不止局限于單一接口的回放,還能執(zhí)行接口的批量回放。對(duì)于復(fù)雜的業(yè)務(wù)場景,考慮到可能存在的子調(diào)用或依賴,本研究支持在回放過程中進(jìn)行Mock子調(diào)用,確保回放的流量與真實(shí)流量的相似性。為了滿足不同的測試場景和壓力測試的需求,還可以通過設(shè)置放大倍數(shù)來增加回放流量,從而模擬更高的系統(tǒng)負(fù)載[6-7]。

為了實(shí)現(xiàn)微服務(wù)接口的泛化調(diào)用,通過采用JSON作為統(tǒng)一的通信協(xié)議和數(shù)據(jù)格式,定義通用的數(shù)據(jù)結(jié)構(gòu)和字段,以確保不同的微服務(wù)能夠理解和處理相同的請求和響應(yīng)格式。JSON的靈活性和普遍性為微服務(wù)之間的通信提供了一種標(biāo)準(zhǔn)化的方式,確保了不同微服務(wù)之間的交互具有一致性。這種規(guī)范化提高了系統(tǒng)的可維護(hù)性和可擴(kuò)展性,從而簡化了整個(gè)系統(tǒng)的交互過程。

在實(shí)際應(yīng)用中于值機(jī)選座服務(wù)為例。在回放流量時(shí),我們能夠模擬用戶在真實(shí)環(huán)境中進(jìn)行值機(jī)選座的場景,驗(yàn)證系統(tǒng)在高負(fù)載和復(fù)雜業(yè)務(wù)條件下的性能表現(xiàn)。通過支持Mock子調(diào)用,我們可以處理值機(jī)選座服務(wù)可能涉及的依賴關(guān)系,確?;胤诺牧髁扛N合實(shí)際情況。此外,通過設(shè)置放大倍數(shù),我們可以模擬不同規(guī)模的用戶并行值機(jī)選座,從而進(jìn)行系統(tǒng)在不同負(fù)載下的性能測試。

此外,除了流量的回放,本研究還提供了流量的差異化對(duì)比(diff)功能。這項(xiàng)功能可幫助用戶快速地比較回放流量和原始流量之間的差異,從而更容易地定位潛在的問題或異常。差異化對(duì)比功能在流量回放過程中發(fā)揮關(guān)鍵作用。整個(gè)流程從捕獲真實(shí)流量開始,經(jīng)過流量回放,最終到對(duì)比差異的步驟,為用戶提供了清晰而詳細(xì)的流程圖如圖4所示,這使得用戶能夠更好地理解和利用這些功能。

在捕獲真實(shí)流量階段,系統(tǒng)準(zhǔn)確記錄了用戶在值機(jī)選座服務(wù)中的各項(xiàng)操作,包括座位選擇、航班信息查詢等。這形成了原始流量,為后續(xù)的流量回放提供了基礎(chǔ)數(shù)據(jù)。在流量回放階段,系統(tǒng)模擬用戶對(duì)值機(jī)選座服務(wù)的再次操作,并生成回放流量。通過在這兩個(gè)階段的精準(zhǔn)記錄,我們確保了回放流量與真實(shí)流量的一致性。

差異化對(duì)比功能通過比較原始流量和回放流量的關(guān)鍵指標(biāo),如響應(yīng)時(shí)間、錯(cuò)誤率等,快速揭示了系統(tǒng)在不同階段的性能差異。這使得用戶能夠更迅速、精準(zhǔn)地定位潛在問題,為系統(tǒng)的優(yōu)化和改進(jìn)提供了有力支持。

自動(dòng)化回歸測試致力于確保在軟件的迭代中,新的更改沒有破壞現(xiàn)有的功能。該過程涉及將不同迭代中的相同接口響應(yīng)數(shù)據(jù)進(jìn)行對(duì)比。當(dāng)響應(yīng)存在差異時(shí),測試用例可能被視為失敗。但這種方法在處理動(dòng)態(tài)內(nèi)容時(shí)可能會(huì)出現(xiàn)問題,如時(shí)間戳、隨機(jī)生成的數(shù)字等,這些都可能導(dǎo)致不必要的“失敗”[8-9]。

為解決此問題,本研究引入了流量預(yù)處理策略。這涉及對(duì)捕獲的流量數(shù)據(jù)進(jìn)行凈化,去除那些可能引起不必要差異的動(dòng)態(tài)數(shù)據(jù),如時(shí)間戳或任何隨機(jī)生成的內(nèi)容。此外,預(yù)處理還可以包括去除冗余信息,從而進(jìn)一步降低噪聲。

為了更好地適應(yīng)值機(jī)選座業(yè)務(wù)的特定情境,我們將噪聲識(shí)別算法引入該業(yè)務(wù)流程,以提高自動(dòng)化回歸測試的精度和可靠性。我們提出的噪聲識(shí)別算法如圖5所示。

在值機(jī)選座服務(wù)的自動(dòng)化回歸測試中,我們使用了噪聲識(shí)別算法來判斷響應(yīng)數(shù)據(jù)中的差異是否真正表示一個(gè)問題。具體而言,我們對(duì)特定接口進(jìn)行兩次相同的請求,一次在生產(chǎn)環(huán)境中,一次在灰度環(huán)境中。通過比較這兩次請求的響應(yīng),我們記錄了兩者之間的不同點(diǎn)數(shù)量,分別表示為c1和c2。

首先,我們在生產(chǎn)環(huán)境中模擬用戶進(jìn)行值機(jī)選座操作,記錄響應(yīng)的不同點(diǎn)數(shù)量為c1。接著,同樣的請求在灰度環(huán)境中執(zhí)行,對(duì)比兩次響應(yīng)的不同,得到不同點(diǎn)數(shù)量c2。

這種對(duì)比提供了一個(gè)基準(zhǔn),幫助我們確定響應(yīng)中的差異是否真的有意義。如果c2超過c1,說明待上線的值機(jī)選座接口處理方式與原接口存在差異,可能表示一個(gè)真正的問題。反之,如果c2小于或等于c1,這意味著觀察到的差異可以被視為背景噪聲,測試應(yīng)被視為通過。

通過將噪聲識(shí)別算法融入值機(jī)選座業(yè)務(wù),我們不僅能夠保證自動(dòng)化回歸測試的準(zhǔn)確性,還能更有效地識(shí)別和處理那些可能對(duì)測試結(jié)果產(chǎn)生干擾的動(dòng)態(tài)數(shù)據(jù)。這一流程不僅提高了測試的魯棒性,也保證了值機(jī)選座服務(wù)在不同環(huán)境下的一致性和可靠性。而且還可以更有效地識(shí)別和處理那些可能對(duì)測試結(jié)果產(chǎn)生干擾的動(dòng)態(tài)數(shù)據(jù)[10-12]。

2.5 質(zhì)量卡點(diǎn)

本研究在值機(jī)選座應(yīng)用場景中成功將質(zhì)量卡點(diǎn)集成到DevOps流程中,將其視為上線質(zhì)量的核心關(guān)卡。當(dāng)工程在DevOps平臺(tái)上提交值機(jī)選座服務(wù)的上線請求,并成功在灰度環(huán)境中部署后,研發(fā)效能系統(tǒng)會(huì)自動(dòng)啟動(dòng)回歸測試任務(wù)。自動(dòng)化回歸測試有助于在應(yīng)用程序中檢測潛在的問題和缺陷,確保新的代碼更改不會(huì)破壞現(xiàn)有功能。為實(shí)時(shí)展示測試進(jìn)度,我們采用WebSocket技術(shù)[13-14]。這使得團(tuán)隊(duì)能夠即時(shí)了解值機(jī)選座服務(wù)的回歸測試執(zhí)行情況,以及是否存在可能影響上線質(zhì)量的問題。團(tuán)隊(duì)成員可以通過WebSocket技術(shù)實(shí)時(shí)監(jiān)測測試進(jìn)度,確保測試流程的高效執(zhí)行。

測試任務(wù)完成后,如果失敗的用例數(shù)超過預(yù)定的閾值,系統(tǒng)會(huì)阻止工程繼續(xù)其他操作。此外,系統(tǒng)還會(huì)自動(dòng)產(chǎn)生詳盡的測試報(bào)告,其中包括總用例數(shù)、成功與失敗的用例數(shù),以及覆蓋的值機(jī)選座接口數(shù)量等關(guān)鍵統(tǒng)計(jì)數(shù)據(jù)。這個(gè)報(bào)告為團(tuán)隊(duì)提供了對(duì)值機(jī)選座服務(wù)上線質(zhì)量的全面了解。通過點(diǎn)擊特定用例,團(tuán)隊(duì)成員可以查看詳細(xì)的差異結(jié)果,幫助更深入地了解問題并進(jìn)行定位[15-17]。整體流程如圖6所示。

此流程確保在上線前能對(duì)代碼的質(zhì)量進(jìn)行全面評(píng)估,大大降低因缺陷導(dǎo)致的生產(chǎn)風(fēng)險(xiǎn)。

3 應(yīng)用實(shí)例

航旅縱橫的配置管理頁面是自動(dòng)化值機(jī)選座業(yè)務(wù)回歸測試的啟動(dòng)點(diǎn),為測試人員提供了強(qiáng)大的工具,以定制化配置值機(jī)選座服務(wù)的運(yùn)行環(huán)境。測試人員能夠詳細(xì)定義應(yīng)用的各個(gè)方面,包括應(yīng)用名稱、運(yùn)行環(huán)境和服務(wù)配置信息。這種細(xì)致的配置不僅為測試提供了高度靈活性,還支持多環(huán)境的隔離,確保測試過程中的可控性。配置管理頁面的設(shè)計(jì)追求用戶友好性,使得測試人員能夠輕松調(diào)整配置,以適應(yīng)不同的測試場景和需求,如圖7所示。

在流量列表頁面,系統(tǒng)以清晰、結(jié)構(gòu)化的方式展示了通過在線錄制捕獲的關(guān)鍵值機(jī)選座服務(wù)流量數(shù)據(jù)。用戶可以根據(jù)流量的ID、應(yīng)用名、流量入口、TraceID、環(huán)境和機(jī)器等信息進(jìn)行篩選和查看。關(guān)鍵在于,用戶能夠在流量列表中配置錄制條件,系統(tǒng)在錄制過程中對(duì)請求、響應(yīng)、子調(diào)用和子響應(yīng)等關(guān)鍵信息進(jìn)行精準(zhǔn)的采樣和過濾。這種零侵入性的錄制方式確保了錄制信息的準(zhǔn)確性和可靠性,為后續(xù)的回放提供了高質(zhì)量的數(shù)據(jù),如圖8所示。

回放列表頁面在航旅縱橫自動(dòng)化業(yè)務(wù)回歸測試框架中扮演著關(guān)鍵的角色,是整個(gè)測試流程的核心。通過該頁面,系統(tǒng)能夠還原錄制的數(shù)據(jù),并按照錄制記錄執(zhí)行相應(yīng)的回放任務(wù)。用戶可以清晰地查看回放結(jié)果,通過repeatId和錄制的TraceID進(jìn)行對(duì)比,以獲取詳盡的回放信息。在這一過程中,回放的Mock動(dòng)作執(zhí)行確保了回放請求的處理流程能夠被準(zhǔn)確地跟蹤和記錄,從而提供了全面的測試覆蓋。

整個(gè)流程的實(shí)時(shí)通知機(jī)制采用WebSocket技術(shù),成功集成到DevOps流程中。這意味著團(tuán)隊(duì)成員可以實(shí)時(shí)了解測試進(jìn)度,確保測試流程的高效執(zhí)行。這種集成為上線前全面評(píng)估代碼質(zhì)量和功能提供了強(qiáng)有力的保障。通過回放列表頁面,團(tuán)隊(duì)能夠直觀地檢視回放結(jié)果,快速定位潛在問題,并及時(shí)采取措施進(jìn)行修復(fù)和優(yōu)化。

結(jié)合上述的噪聲識(shí)別算法,回放列表頁面不僅提供了回放結(jié)果的直觀展示,還能通過噪聲識(shí)別算法幫助用戶更精確地判斷回放中的差異是否真正表示一個(gè)問題。通過在值機(jī)選座服務(wù)的自動(dòng)化回歸測試中引入噪聲識(shí)別算法,系統(tǒng)可以對(duì)比生產(chǎn)環(huán)境和灰度環(huán)境中相同接口的響應(yīng)數(shù)據(jù),通過差異點(diǎn)的數(shù)量判斷是否存在真正的問題。這一算法有效提高了測試的準(zhǔn)確性和可靠性,確保了測試結(jié)果的真實(shí)性,為系統(tǒng)的優(yōu)化和改進(jìn)提供了有力支持,回放結(jié)果如圖9所示。

這一航旅縱橫值機(jī)選座業(yè)務(wù)的應(yīng)用實(shí)例展示了自動(dòng)化業(yè)務(wù)回歸測試框架在復(fù)雜業(yè)務(wù)場景中的可靠性、可用性和高度定制化的特性。從測試的角度來看,該框架不僅能夠覆蓋多個(gè)測試階段,還能夠提供詳盡的測試結(jié)果,使團(tuán)隊(duì)能夠充分了解系統(tǒng)在不同環(huán)境下的性能和穩(wěn)定性。這對(duì)于確保軟件在持續(xù)集成和部署環(huán)境中的質(zhì)量至關(guān)重要,為航旅縱橫的值機(jī)選座業(yè)務(wù)提供了高效而可靠的測試保障[17]。

4 結(jié) 論

經(jīng)過對(duì)本研究進(jìn)行深入分析,我們得出以下結(jié)論:

1)微服務(wù)接口的泛化調(diào)用優(yōu)勢。本研究提供的微服務(wù)接口的泛化調(diào)用方式顯著簡化了接口請求,使得接口調(diào)用更加高效和靈活。這種方法解決了傳統(tǒng)接口請求的復(fù)雜性,為復(fù)雜的微服務(wù)環(huán)境下的接口測試提供了新的解決方案。在值機(jī)選座應(yīng)用場景中,這一泛化調(diào)用方式為值機(jī)選座服務(wù)的接口測試提供了新的途徑,使得測試過程更加順暢和可維護(hù)。

2)噪聲識(shí)別算法的突破性。傳統(tǒng)的diff功能在處理動(dòng)態(tài)信息時(shí)常常遭遇困難,而本研究提出的噪聲識(shí)別算法能夠顯著提高diff的準(zhǔn)確性,減少誤報(bào)和漏報(bào),從而提高自動(dòng)化測試的效率和準(zhǔn)確性。在值機(jī)選座的實(shí)際業(yè)務(wù)中,噪聲識(shí)別算法的應(yīng)用有助于更精準(zhǔn)地判斷接口響應(yīng)中的差異,提高了測試結(jié)果的可信度。

3)DevOps中業(yè)務(wù)回歸測試的創(chuàng)新。本研究首次將業(yè)務(wù)回歸測試集成至DevOps上線流程中,彰顯了持續(xù)集成、持續(xù)部署、持續(xù)測試的理念。這不僅提高了整個(gè)上線流程的效率,更重要的是,確保了上線工程的高質(zhì)量和穩(wěn)定性,降低了系統(tǒng)出錯(cuò)的風(fēng)險(xiǎn)。在值機(jī)選座服務(wù)的場景中,這種創(chuàng)新性的集成方式為值機(jī)選座的上線提供了全面而可靠的質(zhì)量控制。

4)完整的自動(dòng)化業(yè)務(wù)回歸測試解決方案。與現(xiàn)有技術(shù)相比,本研究同時(shí)融合了流量錄制回放功能與diff功能,成為一套全面的解決方案。這為業(yè)務(wù)回歸測試帶來了前所未有的便捷和完整性。在值機(jī)選座服務(wù)的應(yīng)用場景下,這一綜合解決方案為值機(jī)選座的自動(dòng)化業(yè)務(wù)回歸測試提供了全面支持,確保了服務(wù)的穩(wěn)健性和質(zhì)量。

5)Dubbo接口的特色支持。采用Dubbo泛化調(diào)用方式,本方案成功支持了Dubbo接口的錄制回放功能,實(shí)現(xiàn)了請求序列化及響應(yīng)反序列化的功能,為Dubbo接口測試提供了新的可能性。在值機(jī)選座服務(wù)的實(shí)際應(yīng)用中,Dubbo接口的特色支持確保了值機(jī)選座服務(wù)在復(fù)雜的微服務(wù)架構(gòu)下的穩(wěn)定性和可靠性。

總體來說,本研究針對(duì)中航信移動(dòng)科技的航旅縱橫APP軟件開發(fā)過程中的關(guān)鍵問題提供了創(chuàng)新且實(shí)用的解決方案。通過集成至DevOps流程,它更進(jìn)一步推動(dòng)了持續(xù)集成與持續(xù)交付的理念,為現(xiàn)代軟件開發(fā)帶來了更高效、高質(zhì)量的保障。在值機(jī)選座服務(wù)的具體應(yīng)用中,這些解決方案為航空業(yè)務(wù)的順利上線和穩(wěn)定運(yùn)行提供了有力的支持。

參考文獻(xiàn):

[1] 少民.軟件測試面臨的挑戰(zhàn)與發(fā)展趨勢 [J].測控技術(shù),2020,39(1):1-4.

[2] 譚鳳,寧華,唐滔,等.軟件測試技術(shù):第2版 [M].北京:清華大學(xué)出版社,2020.

[3] 杜慶峰,馮國堯,錢浩然.回歸測試路徑優(yōu)先級(jí)模型 [J].同濟(jì)大學(xué)學(xué)報(bào):自然科學(xué)版,2016,44(12):1943-1948.

[4] 楊玉環(huán),圣文順,劉進(jìn)芬.基于在線流量的自動(dòng)回歸測試平臺(tái) [J].電子設(shè)計(jì)工程,2022,30(14):128-132.

[5] 郭馬濤.基于微服務(wù)的流量回放自動(dòng)化測試框架設(shè)計(jì)與實(shí)現(xiàn) [D].武漢:華中科技大學(xué),2021.

[6] 孟燕.自動(dòng)化測試技術(shù)中Mock框架的建設(shè)與應(yīng)用 [J].武漢理工大學(xué)學(xué)報(bào):信息與管理工程版,2017(3):364-367.

[7] 潘詩瑤,黃建明.Web應(yīng)用系統(tǒng)中的MOCK測試技術(shù) [J].軟件,2016,37(12):214-218.

[8] 王津,左春,張正.基于樣本程序的自動(dòng)化測試工具 [J].計(jì)算機(jī)工程,2020,46(3):198-205+213.

[9] SAHIN O,AKAY B. A Discrete Dynamic Artificial Bee Colony with Hyper-Scout for RESTful Web Service API Test Suite Generation [J/OL].Applied Soft Computing,2021,104(4):107246[2023-12-10].https://doi.org/10.1016/j.asoc.2021.107246.

[10] 張策,呂為工,邱忠銀,等.不完美排錯(cuò)下測試覆蓋相關(guān)的軟件可靠性模型 [J].湖南大學(xué)學(xué)報(bào):自然科學(xué)版,2021,48(4):26-35.

[11] 孫立哲.輕量級(jí)接口自動(dòng)化測試框架設(shè)計(jì)與實(shí)踐 [J].計(jì)算機(jī)應(yīng)用與軟件,2020,37(1):27-30+36.

[12] 丁建立,陳盼,馬勇.基于泛化FPE加密的民航旅客信息動(dòng)態(tài)脫敏方法研究 [J].信息網(wǎng)絡(luò)安全,2021,21(2):45-52.

[13] 蔣勇.基于微服務(wù)架構(gòu)的基礎(chǔ)設(shè)施設(shè)計(jì) [J].軟件,2016,37(5):93-97.

[14] 鄭彬彬.基于微服務(wù)的OJ系統(tǒng)重構(gòu)與優(yōu)化 [D].上海:東華大學(xué),2017.

[15] 向彬彬,馬明星,童茂林,等.基于微服務(wù)架構(gòu)的分布式測距系統(tǒng)的研究與設(shè)計(jì) [J].計(jì)算機(jī)應(yīng)用與軟件,2018,35(5):89-94.

[16] 吳文峻,于鑫,蒲彥均,等.微服務(wù)時(shí)代的復(fù)雜服務(wù)軟件開發(fā) [J].計(jì)算機(jī)科學(xué),2020,47(12):11-17.

[17] 戴啟銘,毛潤豐,黃璜,等.DevSecOps:DevOps下實(shí)現(xiàn)持續(xù)安全的實(shí)踐探索 [J].軟件學(xué)報(bào),2021,32(10):3014-3035.

作者簡介:高棟(1982—),男,漢族,浙江紹興人,高級(jí)工程師,碩士研究生,研究方向:系統(tǒng)工程、質(zhì)量保障;佟業(yè)新(1980—),男,漢族,山東新泰人,高級(jí)工程師,碩士,研究方向:分布式計(jì)算、質(zhì)量保障;張曉明(1980—),男,漢族,河北衡水人,工程師,碩士研究生,研究方向:研發(fā)效能、質(zhì)量保障;管宏禮(1996—),男,漢族,山東德州人,初級(jí)工程師,碩士研究生,研究方向:質(zhì)量保障;張夢云(1994—),女,漢族,北京人,工程師,本科,研究方向:研發(fā)效能、質(zhì)量保障。

DOI:10.19850/j.cnki.2096-4706.2024.17.024

收稿日期:2024-01-16

Automated Testing Method and Device Based on Online Traffic Playback

GAO Dong, TONG Yexin, ZHANG Xiaoming, GUAN Hongli, ZHANG Mengyun

m4oc3IVLoB1Aj/vuEjHjRw==

(Travelsky Mobile Technology Limited, Beijing 100041, China)

Abstract: In the business context of civil aviation travel software, this paper proposes a novel automated business regression testing solution. The most notable innovation lies in the noise recognition algorithm, and it is designed to handle and identify intricate interfaces and data within the civil aviation travel software system, so as to improve the accuracy of the diff function. In addition, the solution also includes generalized calling of microservice interfaces and their integration in the DevOps process, which not only simplifies interface requests, but also for the first time incorporates business regression testing into the DevOps deployment process, further achieving continuous integration, deployment, and testing. More importantly, the solution also provides recording and playback functions for the Dubbo interface in the civil aviation travel software system, and implements request serialization and response deserialization. To sum up, this study provides an efficient, accurate, and highly integrated testing solution for the development and maintenance of civil aviation travel business software.

Keywords: noise identification algorithm; DevOps process; automated regression testing; traffic recording; traffic replay

政和县| 聂荣县| 榆社县| 喀喇沁旗| 达拉特旗| 沐川县| 介休市| 县级市| 巢湖市| 云龙县| 浮山县| 峡江县| 渝中区| 澎湖县| 鞍山市| 桦川县| 石首市| 成都市| 芦山县| 大姚县| 边坝县| 西乌珠穆沁旗| 万年县| 义乌市| 新晃| 开阳县| 大冶市| 牙克石市| 易门县| 淳安县| 夏河县| 蓬莱市| 永登县| 通辽市| 溆浦县| 孟村| 开封市| 马关县| 白水县| 吉隆县| 鹤山市|