摘要:為提高軟件測(cè)試規(guī)范性,避免節(jié)點(diǎn)崩潰,文章提出了一種基于云平臺(tái)的網(wǎng)絡(luò)應(yīng)用軟件魯棒性測(cè)試方法。文章先完成U/I接口層、測(cè)試處理層、數(shù)據(jù)傳輸層設(shè)計(jì),構(gòu)建測(cè)試環(huán)境;然后模擬網(wǎng)絡(luò)應(yīng)用軟件魯棒性測(cè)試的負(fù)載接入,通過(guò)組合獨(dú)立業(yè)務(wù)邏輯模塊,形成完整的業(yè)務(wù)邏輯,實(shí)現(xiàn)魯棒性測(cè)試結(jié)果集成;最后應(yīng)用實(shí)驗(yàn)證明所提方法的先進(jìn)性。實(shí)驗(yàn)結(jié)果表明,該方法綜合性能良好,能提升節(jié)點(diǎn)接入數(shù)據(jù)量,可有效避免節(jié)點(diǎn)崩潰問(wèn)題,應(yīng)用效果較好。
關(guān)鍵詞:云平臺(tái);負(fù)載環(huán)境;魯棒性;網(wǎng)絡(luò)應(yīng)用軟件
中圖分類號(hào):TP309 文獻(xiàn)標(biāo)志碼:A
0 引言
目前,云平臺(tái)已經(jīng)成為現(xiàn)代計(jì)算和網(wǎng)絡(luò)服務(wù)的重要組成部分,通過(guò)提供可擴(kuò)展的網(wǎng)絡(luò)資源,可極大地推動(dòng)企業(yè)信息化、大數(shù)據(jù)、人工智能等領(lǐng)域的發(fā)展。隨著網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,很多軟件變得復(fù)雜,須要處理大量的數(shù)據(jù)、支持多用戶并發(fā)訪問(wèn)、應(yīng)對(duì)各種網(wǎng)絡(luò)環(huán)境變化等。盡管云平臺(tái)提供了豐富的資源和服務(wù),但基于云平臺(tái)的網(wǎng)絡(luò)應(yīng)用軟件仍然面臨著諸多挑戰(zhàn)。近年來(lái),眾多學(xué)者針對(duì)此開展研究,已經(jīng)取得了一定研究成果。如王丹等[1]通過(guò)模擬顏色特征變化評(píng)估軟件分類能力,利用蛻變測(cè)試克服圖像分類軟件測(cè)試難題,但該方法忽略了其他特征影響,導(dǎo)致應(yīng)用效果不夠理想。再如楊亞萍[2]運(yùn)用自然語(yǔ)言處理技術(shù)自動(dòng)化分析處理軟件文檔,提高測(cè)試效率與準(zhǔn)確性。該方法應(yīng)用時(shí)的準(zhǔn)確性受限于算法和訓(xùn)練數(shù)據(jù),應(yīng)用效果較差。顧濱兵等[3]通過(guò)信息表征模型化和缺陷數(shù)據(jù)知識(shí)化實(shí)現(xiàn)軟件測(cè)試精準(zhǔn)化,但復(fù)雜系統(tǒng)下典型缺陷模式提取與應(yīng)用須進(jìn)一步研究,應(yīng)用效果并不理想。為此,本文引進(jìn)云平臺(tái),設(shè)計(jì)網(wǎng)絡(luò)應(yīng)用軟件魯棒性測(cè)試方法,以支持應(yīng)用軟件的推廣。
1 基于云平臺(tái)的應(yīng)用軟件測(cè)試環(huán)境設(shè)計(jì)
為滿足網(wǎng)絡(luò)應(yīng)用軟件魯棒性測(cè)試需求,本次在設(shè)計(jì)中引入云平臺(tái)構(gòu)建測(cè)試環(huán)境。根據(jù)項(xiàng)目需求和預(yù)算,選擇具備足夠計(jì)算、存儲(chǔ)、網(wǎng)絡(luò)資源及良好安全性和穩(wěn)定性的云平臺(tái)[4]。利用虛擬化技術(shù),將測(cè)試環(huán)境虛擬化分為多個(gè)獨(dú)立運(yùn)行的虛擬機(jī)實(shí)例,實(shí)現(xiàn)并行測(cè)試。接下來(lái)搭建測(cè)試環(huán)境,以確保測(cè)試的準(zhǔn)確性和高效性[5],其主要由U/I接口層、測(cè)試處理層、數(shù)據(jù)傳輸層等部分組成。其中,U/I接口層作為交互橋梁,接收用戶輸入、顯示測(cè)試結(jié)果及與外部系統(tǒng)數(shù)據(jù)交換,包括Web界面、GUI界面和API接口;測(cè)試處理層負(fù)責(zé)執(zhí)行測(cè)試任務(wù),包含自動(dòng)化測(cè)試框架、測(cè)試腳本、測(cè)試數(shù)據(jù)管理工具等;數(shù)據(jù)傳輸層負(fù)責(zé)數(shù)據(jù)在測(cè)試環(huán)境內(nèi)部及與其他系統(tǒng)間的傳輸,涉及數(shù)據(jù)庫(kù)管理系統(tǒng)、網(wǎng)絡(luò)通信設(shè)備、數(shù)據(jù)同步工具等。自動(dòng)化測(cè)試框架為測(cè)試人員提供統(tǒng)一測(cè)試平臺(tái),可支持自動(dòng)化測(cè)試腳本的編寫與執(zhí)行。測(cè)試腳本包含測(cè)試邏輯和步驟,模擬用戶操作驗(yàn)證系統(tǒng)功能和性能。數(shù)據(jù)庫(kù)管理系統(tǒng)作為數(shù)據(jù)傳輸層的關(guān)鍵組件,存儲(chǔ)和管理測(cè)試數(shù)據(jù),支持高效的數(shù)據(jù)存儲(chǔ)、檢索及多種數(shù)據(jù)格式和類型。綜上完成應(yīng)用軟件測(cè)試環(huán)境的搭建,為后續(xù)網(wǎng)絡(luò)應(yīng)用軟件魯棒性測(cè)試奠定基礎(chǔ)。
2 網(wǎng)絡(luò)應(yīng)用軟件魯棒性測(cè)試接入負(fù)載模擬
在上述測(cè)試環(huán)境中,進(jìn)行網(wǎng)絡(luò)應(yīng)用軟件魯棒性測(cè)試接入負(fù)載模擬,以確保該方法可適用于多種測(cè)試環(huán)境。在此過(guò)程中,選擇適合的負(fù)載測(cè)試工具,如JMeter、LoadRunner、Gatling等,設(shè)計(jì)具體測(cè)試場(chǎng)景,包括用戶請(qǐng)求的類型、頻率、持續(xù)時(shí)間等。同時(shí),使用測(cè)試工具啟動(dòng)負(fù)載環(huán)境模擬,向軟件發(fā)送模擬的用戶請(qǐng)求,逐漸增加請(qǐng)求的數(shù)量和頻率,以模擬不同級(jí)別的負(fù)載,此過(guò)程計(jì)算公式如式(1)所示:
3 業(yè)務(wù)邏輯模塊集成與測(cè)試結(jié)果生成
完成上述設(shè)計(jì)后,將各個(gè)獨(dú)立的業(yè)務(wù)邏輯模塊按照預(yù)定設(shè)計(jì)進(jìn)行組合,以形成一個(gè)完整的業(yè)務(wù)邏輯模塊。在此過(guò)程中,需要明確每個(gè)業(yè)務(wù)邏輯模塊的功能、輸入、輸出和接口,設(shè)計(jì)模塊之間的接口,確保接口能夠相互通信并交換數(shù)據(jù),其數(shù)據(jù)交換過(guò)程如式(2)所示:
式中,m表示數(shù)據(jù)交換;x表示數(shù)據(jù)類型;w表示數(shù)據(jù)規(guī)模。接下來(lái),將測(cè)試用例的執(zhí)行結(jié)果進(jìn)行歸檔,將錯(cuò)誤和缺陷按照不同的類型、嚴(yán)重性和優(yōu)先級(jí)進(jìn)行分類。同時(shí),本次還整理了性能和穩(wěn)定性方面的數(shù)據(jù),以便于后續(xù)分析與評(píng)估。數(shù)據(jù)優(yōu)先級(jí)分類如式(3)所示:
S=W(m)+η(t)·γ(3)
式中,S表示數(shù)據(jù)優(yōu)先級(jí)分類函數(shù);W表示數(shù)據(jù)集散性;η表示測(cè)試用例;t表示測(cè)試時(shí)長(zhǎng);γ表示數(shù)據(jù)異常條件?;谡砗蟮臏y(cè)試數(shù)據(jù),生成詳細(xì)的測(cè)試報(bào)告。按照上述步驟,完成業(yè)務(wù)邏輯模塊集成與測(cè)試結(jié)果生成,實(shí)現(xiàn)基于云平臺(tái)的網(wǎng)絡(luò)應(yīng)用軟件魯棒性測(cè)試方法設(shè)計(jì)。
4 對(duì)比實(shí)驗(yàn)
為驗(yàn)證所提方法的先進(jìn)性,本次開展對(duì)比實(shí)驗(yàn)。為確保實(shí)驗(yàn)結(jié)果的真實(shí)性與可靠性,在進(jìn)行測(cè)試方法檢驗(yàn)前,根據(jù)實(shí)驗(yàn)需求進(jìn)行測(cè)試環(huán)境設(shè)置,具體如圖1所示。
本次測(cè)試硬件選取Dell PowerEdge R740服務(wù)器、2顆Intel Xeon Gold 6248 CPU、256 GB DDR4 ECC內(nèi)存、2 TB NVMe SSD(系統(tǒng)盤)、4 TB SATA硬盤(數(shù)據(jù)存儲(chǔ))、2個(gè)千兆以太網(wǎng)口(支持網(wǎng)絡(luò)冗余)。軟件部署選擇CentOS 7.9操作系統(tǒng)、MySQL 5.7數(shù)據(jù)庫(kù)、AWS EC2云服務(wù)商、v3.0.0網(wǎng)絡(luò)應(yīng)用軟件版本以及Python 3.8、Django 2.2、Redis 5.0依賴庫(kù)/框架。構(gòu)建完成后,模擬生產(chǎn)環(huán)境網(wǎng)絡(luò)配置,設(shè)計(jì)帶寬、延遲、丟包和防火墻等內(nèi)容,模擬生產(chǎn)網(wǎng)絡(luò)拓?fù)浜虸P地址。之后,準(zhǔn)備實(shí)驗(yàn)數(shù)據(jù),使用真實(shí)或模擬數(shù)據(jù)模擬生產(chǎn)環(huán)境數(shù)據(jù)交互和流轉(zhuǎn),對(duì)敏感數(shù)據(jù)進(jìn)行脫敏處理。在該背景下,選取王丹等[1]的基于蛻變測(cè)試的圖像分類軟件的魯棒性評(píng)估方法和楊亞萍[2]的基于人工智能自然語(yǔ)言處理技術(shù)的軟件測(cè)試方法作為對(duì)比方法,將3種方法按照規(guī)范接入測(cè)試環(huán)境。在測(cè)試過(guò)程中,持續(xù)增加數(shù)據(jù)量,檢驗(yàn)網(wǎng)絡(luò)應(yīng)用軟件測(cè)試方法的運(yùn)行效率,以檢驗(yàn)3種方法是否能在應(yīng)用中達(dá)到預(yù)期的魯棒性測(cè)試效果。由此得到3種方法對(duì)比結(jié)果如圖2所示。
從圖2所示的結(jié)果可以看出,隨著接入數(shù)據(jù)量的增加,本文測(cè)試方法節(jié)點(diǎn)運(yùn)行速度始終處于較高水平,而王丹等[1]的基于蛻變測(cè)試的圖像分類軟件的魯棒性評(píng)估方法的節(jié)點(diǎn)運(yùn)行速度呈現(xiàn)逐步下降趨勢(shì),楊亞萍[2]的基于人工智能自然語(yǔ)言處理技術(shù)的軟件測(cè)試方法的節(jié)點(diǎn)運(yùn)行速度在接入數(shù)據(jù)量為4萬(wàn)條時(shí)發(fā)生了中斷。由此可見,在3種方法中,兩種對(duì)比方法在進(jìn)行網(wǎng)絡(luò)應(yīng)用軟件魯棒性測(cè)試時(shí)因?yàn)闊o(wú)法承載過(guò)多數(shù)據(jù),容易出現(xiàn)節(jié)點(diǎn)崩潰現(xiàn)象,本文方法的應(yīng)用效果更優(yōu)。
5 結(jié)語(yǔ)
因需應(yīng)對(duì)網(wǎng)絡(luò)故障、惡意攻擊等不可預(yù)見因素,網(wǎng)絡(luò)應(yīng)用軟件的魯棒性至關(guān)重要。在該背景下,本文引進(jìn)云平臺(tái),通過(guò)測(cè)試環(huán)境設(shè)計(jì)、魯棒性測(cè)試接入負(fù)載模擬、業(yè)務(wù)邏輯模塊集成與測(cè)試結(jié)果生成等部分完 成網(wǎng)絡(luò)應(yīng)用軟件魯棒性測(cè)試方法設(shè)計(jì)。實(shí)驗(yàn)結(jié)果表明,相比于王丹等[1]的基于蛻變測(cè)試的圖像分類軟件的魯棒性評(píng)估方法、楊亞萍基于人工智能自然語(yǔ)言處理技術(shù)的軟件測(cè)試方法,本文方法綜合性能良好,可及時(shí)發(fā)現(xiàn)軟件錯(cuò)誤與異常,為網(wǎng)絡(luò)應(yīng)用軟件的開發(fā)、測(cè)試和維護(hù)提供有力支持。
參考文獻(xiàn)
[1]王丹,王興亞,黃松,等.基于蛻變測(cè)試的圖像分類軟件的魯棒性評(píng)估方法[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2023(12):41-44.
[2]楊亞萍.基于人工智能的自然語(yǔ)言處理技術(shù)在軟件測(cè)試中的應(yīng)用研究[J].信息記錄材料,2023(11):97-99,102.
[3]顧濱兵,李軍鋒,朱佳良.基于軟件、測(cè)試、缺陷“三域”鉸鏈的軟件測(cè)試新架構(gòu)研究與應(yīng)用[J].計(jì)算機(jī)測(cè)量與控制,2023(10):97-102,121.
[4]魏瑀皓,姚永明.一種基于蛻變測(cè)試的衛(wèi)星遙感目標(biāo)檢測(cè)模型魯棒性測(cè)試方法[J].現(xiàn)代計(jì)算機(jī),2023(20):35-39,44.
[5]劉倩.計(jì)算機(jī)軟件測(cè)試方法的研究與分析:以集成測(cè)試為例[J].長(zhǎng)江信息通信,2023(7):115-118.
Test method for the robustness of network application software based on cloud platform
Abstract: In order to improve the standardization of software testing and avoid node crashes, this paper proposes a research method for robust testing of network application software based on cloud platforms. This study first complets the design of the U/I interface layer, test processing layer and data transmission layer, and constructs a testing environment. Then it simulates the load access for robustness testing of network application software, form a complete business logic by combining independent business logic modules, and achieves the integration of robustness testing results. Finally, the progressiveness of the proposed method is proved by experiments. The experimental results show that the method has good overall performance, can improve the amount of data accessed by nodes, effectively avoid node crashes, and has good application effects.
Key words: cloud platform; load environment; robustness; network application software