[發明專利]軟件性能測試方法、系統和可讀存儲介質在審
| 申請號: | 202011252372.5 | 申請日: | 2020-11-11 |
| 公開(公告)號: | CN112346980A | 公開(公告)日: | 2021-02-09 |
| 發明(設計)人: | 張立強;莫鹍;李玉號;陳建星 | 申請(專利權)人: | 杭州飛致云信息科技有限公司 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 北京德琦知識產權代理有限公司 11018 | 代理人: | 衣淑鳳;宋志強 |
| 地址: | 310012 浙江省杭州市*** | 國省代碼: | 浙江;33 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 軟件 性能 測試 方法 系統 可讀 存儲 介質 | ||
本發明實施例提出軟件性能測試方法、系統和可讀存儲介質。方法包括:第一設備接收一個或多個JMX格式的軟件性能測試腳本;針對每個腳本,分別根據為Kubernetes集群預先創建的性能測試資源類型,通過Kubernetes API創建一個性能測試資源,該資源包括:腳本及測試參數;集群中的操作節點設備監聽到性能測試資源,針對每個資源,分別調用Kubernetes API創建對應的任務,任務內容包括:JMeter容器的配置信息和該性能測試資源,將該任務下發給集群的主節點設備,主節點設備將任務分配給集群中的第一節點設備,第一節點設備啟動JMeter容器執行任務,將任務執行過程中產生的結果數據實時發送給Kafka集群的消息主題隊列中。本發明實施例提高了軟件性能測試效率。
技術領域
本發明涉及軟件測試技術領域,尤其涉及軟件性能測試方法、系統和可讀存儲介質。
背景技術
Apache JMeter是Apache組織開發的基于Java的壓力測試工具。用于對軟件做壓力測試。它可以用于測試靜態和動態資源,例如靜態文件、Java小服務程序、CGI(CommonGateway Interface)腳本、Java對象、數據庫、FTP(File Transfer Protocol,文件傳輸協議)服務器,等等。JMeter可以用于對服務器、網絡或對象模擬巨大的負載,來自不同壓力類別下測試它們的強度或分析整體性能。另外,JMeter能夠對應用程序做功能/回歸測試,通過創建帶有斷言的腳本來驗證程序返回了期望的結果。為了最大限度的靈活性,JMeter允許使用正則表達式創建斷言。
目前通過JMeter來進行分布式性能測試,主要使用到了JMeter的Master(主)-Slave(從)機制。圖1為現有的通過JMeter進行分布式性能測試的系統架構示意圖,如圖1所示,在該方案中需要啟動一個MasterJMeter服務及若干個Slave JMeter,通過Master節點下發測試任務及控制命令,Slave節點執行實際的測試腳本,并將結果返回到Master節點進行統一處理。該方案有如下不足:
一、單點壓力大
由于所有Slave節點的執行結果都會發回到Master節點進行處理,且Master節點無法進行橫向擴展,導致在并發量較大的情況下Master節點的配置會成為整個測試模型的瓶頸,影響測試效果。
二、節點復用性差
由于JMeter自身機制的限制,在同一臺Slave節點上同時只能接受一臺Master節點的測試任務,當單個測試任務負載并不高時,Slave節點上沒法同時執行多個測試任務,導致該節點無法被多個測試復用,資源利用率較低。
三、環境管理復雜
Master及Slave節點需要手動依次進行配置及單獨管理,例如:需要在Master節點上配置所有Slave節點的信息,各Slave節點上配置Master節點的信息,配置工作比較繁瑣,效率較低。
四、網絡要求高
JMeter的Master-Slave機制使用了RMI(Remote Method Invoke,遠程方法調用)協議來進行節點間的相互通信,該機制要求Master及Slave節點必須要處于同一個二層網絡中,對網絡環境的要求較高,無法實現跨網絡的分布式測試。
發明內容
本發明實施例提出軟件性能方法、系統和可讀存儲介質,以提高軟件性能測試效率。
本發明實施例的技術方案是這樣實現的:
一種軟件性能測試方法,該方法包括:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于杭州飛致云信息科技有限公司,未經杭州飛致云信息科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011252372.5/2.html,轉載請聲明來源鉆瓜專利網。





