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