



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