本發(fā)明涉及軟件測試,尤其涉及一種壓力測試方法、裝置和系統(tǒng)。
背景技術(shù):
1、壓力測試(簡稱壓測)是一種軟件測試方法,通常用于測試應(yīng)用程序或系統(tǒng)在高負(fù)載、高壓力情況下的性能和穩(wěn)定性。目前常用的壓力測試方案主要有兩種,第一種方法是,確定系統(tǒng)所調(diào)用的接口后拼接入?yún)ⅲㄟ^接口壓測工具以設(shè)置并發(fā)數(shù)的方式模擬用戶訪問,從而達(dá)到壓測目的。第二種方法是,錄制用戶在一段時(shí)間內(nèi)的請求,通過回放的方式,將這部分流量回放到壓測目標(biāo)上,從而達(dá)到壓測目的。這兩種方法都無法做到準(zhǔn)確模擬用戶行為,因此壓測結(jié)果可信度較低。
技術(shù)實(shí)現(xiàn)思路
1、有鑒于此,本發(fā)明實(shí)施例提供一種壓力測試方法、裝置和系統(tǒng),能夠通過對用戶訪問行為的準(zhǔn)確模擬提高壓測結(jié)果可信度。
2、為實(shí)現(xiàn)上述目的,根據(jù)本發(fā)明的一個(gè)方面,提供了一種壓力測試方法。
3、本發(fā)明實(shí)施例的壓力測試方法包括:接收含有壓測計(jì)劃信息的壓測指令;根據(jù)所述壓測計(jì)劃信息確定本地的瀏覽器啟動(dòng)數(shù)量以及各瀏覽器的網(wǎng)頁創(chuàng)建數(shù)量,依據(jù)確定的瀏覽器啟動(dòng)數(shù)量啟動(dòng)瀏覽器,依據(jù)確定的網(wǎng)頁創(chuàng)建數(shù)量在所述瀏覽器創(chuàng)建網(wǎng)頁;基于啟動(dòng)的瀏覽器以及創(chuàng)建的網(wǎng)頁,向所述壓測計(jì)劃信息指示的壓測目標(biāo)發(fā)出所述測試動(dòng)作序列指示的測試請求;接收所述壓測目標(biāo)返回的測試響應(yīng),將所述測試請求所攜帶數(shù)據(jù)、所述測試響應(yīng)所攜帶數(shù)據(jù)中的至少一項(xiàng)上報(bào)以獲得針對所述壓測目標(biāo)的壓測結(jié)果。
4、可選地,所述壓測計(jì)劃信息包括:壓測目標(biāo)地址、模擬用戶數(shù)量以及測試動(dòng)作序列;以及,所述根據(jù)所述壓測計(jì)劃信息確定本地的瀏覽器啟動(dòng)數(shù)量以及各瀏覽器的網(wǎng)頁創(chuàng)建數(shù)量,包括:根據(jù)所述模擬用戶數(shù)量確定本地的瀏覽器啟動(dòng)數(shù)量以及各瀏覽器的網(wǎng)頁創(chuàng)建數(shù)量。
5、可選地,所述向所述壓測計(jì)劃信息指示的壓測目標(biāo)發(fā)出所述測試動(dòng)作序列指示的測試請求,包括:向所述壓測目標(biāo)地址指向的壓測目標(biāo)發(fā)出所述測試動(dòng)作序列指示的測試請求。
6、可選地,所述測試請求所攜帶數(shù)據(jù)包括:各測試請求的請求時(shí)間,所述測試響應(yīng)所攜帶數(shù)據(jù)包括:各測試響應(yīng)的響應(yīng)時(shí)間、響應(yīng)狀態(tài)和調(diào)用接口標(biāo)識。
7、可選地,所述將所述測試請求所攜帶數(shù)據(jù)、所述測試響應(yīng)所攜帶數(shù)據(jù)中的至少一項(xiàng)上報(bào),包括:將所述測試請求所攜帶數(shù)據(jù)和所述測試響應(yīng)所攜帶數(shù)據(jù)發(fā)送到預(yù)置的消息隊(duì)列;以及,該上報(bào)數(shù)據(jù)在所述消息隊(duì)列被消費(fèi)后,用于確定作為所述壓測結(jié)果的各接口的響應(yīng)時(shí)長指標(biāo)值和可用率指標(biāo)值。
8、可選地,所述壓測目標(biāo)包括網(wǎng)站或網(wǎng)頁,所述方法由基于瀏覽器自動(dòng)化操作工具的自動(dòng)化測試集群執(zhí)行。
9、為實(shí)現(xiàn)上述目的,根據(jù)本發(fā)明的另一方面,提供了一種壓力測試裝置。
10、本發(fā)明實(shí)施例的壓力測試裝置可以包括:指令接收單元,用于接收含有壓測計(jì)劃信息的壓測指令;模擬訪問單元,用于根據(jù)所述壓測計(jì)劃信息確定本地的瀏覽器啟動(dòng)數(shù)量以及各瀏覽器的網(wǎng)頁創(chuàng)建數(shù)量,依據(jù)確定的瀏覽器啟動(dòng)數(shù)量啟動(dòng)瀏覽器,依據(jù)確定的網(wǎng)頁創(chuàng)建數(shù)量在所述瀏覽器創(chuàng)建網(wǎng)頁;模擬執(zhí)行單元,用于基于啟動(dòng)的瀏覽器以及創(chuàng)建的網(wǎng)頁,向所述壓測計(jì)劃信息指示的壓測目標(biāo)發(fā)出所述測試動(dòng)作序列指示的測試請求;上報(bào)單元,用于接收所述壓測目標(biāo)返回的測試響應(yīng),將所述測試請求所攜帶數(shù)據(jù)、所述測試響應(yīng)所攜帶數(shù)據(jù)中的至少一項(xiàng)上報(bào)以獲得針對所述壓測目標(biāo)的壓測結(jié)果。
11、為實(shí)現(xiàn)上述目的,根據(jù)本發(fā)明的又一方面,提供了一種壓力測試系統(tǒng)。
12、本發(fā)明實(shí)施例的壓力測試系統(tǒng)可以包括:指令分發(fā)平臺、自動(dòng)化測試集群和監(jiān)控平臺;其中,所述指令分發(fā)平臺向所述自動(dòng)化測試集群發(fā)送含有壓測計(jì)劃信息的壓測指令;所述自動(dòng)化測試集群在接收到所述壓測指令后,根據(jù)所述壓測計(jì)劃信息確定本地的瀏覽器啟動(dòng)數(shù)量以及各瀏覽器的網(wǎng)頁創(chuàng)建數(shù)量,依據(jù)確定的瀏覽器啟動(dòng)數(shù)量啟動(dòng)瀏覽器,依據(jù)確定的網(wǎng)頁創(chuàng)建數(shù)量在所述瀏覽器創(chuàng)建網(wǎng)頁;所述自動(dòng)化測試集群基于啟動(dòng)的瀏覽器以及創(chuàng)建的網(wǎng)頁,向所述壓測計(jì)劃信息指示的壓測目標(biāo)發(fā)出所述測試動(dòng)作序列指示的測試請求;所述自動(dòng)化測試集群接收所述壓測目標(biāo)返回的測試響應(yīng),將所述測試請求所攜帶數(shù)據(jù)、所述測試響應(yīng)所攜帶數(shù)據(jù)中的至少一項(xiàng)上報(bào)到所述監(jiān)控平臺,以獲得針對所述壓測目標(biāo)的壓測結(jié)果。
13、可選地,所述壓測計(jì)劃信息包括:壓測目標(biāo)地址、模擬用戶數(shù)量以及測試動(dòng)作序列;以及,所述自動(dòng)化測試集群在接收到所述壓測指令后,根據(jù)所述模擬用戶數(shù)量確定本地的瀏覽器啟動(dòng)數(shù)量以及各瀏覽器的網(wǎng)頁創(chuàng)建數(shù)量;向所述壓測目標(biāo)地址指向的壓測目標(biāo)發(fā)出所述測試動(dòng)作序列指示的測試請求。
14、可選地,所述測試請求所攜帶數(shù)據(jù)包括:各測試請求的請求時(shí)間,所述測試響應(yīng)所攜帶數(shù)據(jù)包括:各測試響應(yīng)的響應(yīng)時(shí)間、響應(yīng)狀態(tài)、調(diào)用接口標(biāo)識;所述壓測目標(biāo)為網(wǎng)站或網(wǎng)頁,所述自動(dòng)化測試集群基于瀏覽器自動(dòng)化操作工具建立。
15、可選地,所述監(jiān)控平臺進(jìn)一步包括:消息隊(duì)列、大數(shù)據(jù)處理平臺和可視化平臺;其中,所述自動(dòng)化測試集群將所述測試請求所攜帶數(shù)據(jù)和所述測試響應(yīng)所攜帶數(shù)據(jù)發(fā)送到所述消息隊(duì)列;所述大數(shù)據(jù)處理平臺從所述消息隊(duì)列獲取到所述測試請求所攜帶數(shù)據(jù)和所述測試響應(yīng)所攜帶數(shù)據(jù)后,根據(jù)該數(shù)據(jù)中所述壓測目標(biāo)各接口的請求時(shí)間和響應(yīng)時(shí)間確定各接口的響應(yīng)時(shí)長指標(biāo)值,根據(jù)所述上報(bào)數(shù)據(jù)中所述壓測目標(biāo)各接口的響應(yīng)狀態(tài)確定各接口的可用率指標(biāo)值;各接口的響應(yīng)時(shí)長指標(biāo)值和可用率指標(biāo)值作為所述壓測目標(biāo)的壓測結(jié)果;所述可視化平臺對所述壓測目標(biāo)的壓測結(jié)果執(zhí)行可視化輸出。
16、為實(shí)現(xiàn)上述目的,根據(jù)本發(fā)明的又一方面,提供了一種電子設(shè)備。
17、本發(fā)明的一種電子設(shè)備包括:一個(gè)或多個(gè)處理器;存儲裝置,用于存儲一個(gè)或多個(gè)程序,當(dāng)所述一個(gè)或多個(gè)程序被所述一個(gè)或多個(gè)處理器執(zhí)行,使得所述一個(gè)或多個(gè)處理器實(shí)現(xiàn)本發(fā)明所提供的壓力測試方法。
18、為實(shí)現(xiàn)上述目的,根據(jù)本發(fā)明的再一方面,提供了一種計(jì)算機(jī)可讀存儲介質(zhì)。
19、本發(fā)明的一種計(jì)算機(jī)可讀存儲介質(zhì),其上存儲有計(jì)算機(jī)程序,所述程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)本發(fā)明所提供的壓力測試方法。
20、根據(jù)本發(fā)明的技術(shù)方案,上述發(fā)明中的實(shí)施例具有如下優(yōu)點(diǎn)或有益效果:
21、基于瀏覽器自動(dòng)化操作工具(如playwright)的自動(dòng)化測試集群在接收到含有壓測目標(biāo)地址、模擬用戶數(shù)量以及測試動(dòng)作序列的壓測指令之后,根據(jù)模擬用戶數(shù)量確定本地的瀏覽器啟動(dòng)數(shù)量以及各瀏覽器的網(wǎng)頁創(chuàng)建數(shù)量,依據(jù)確定的瀏覽器啟動(dòng)數(shù)量啟動(dòng)瀏覽器,依據(jù)確定的網(wǎng)頁創(chuàng)建數(shù)量在瀏覽器創(chuàng)建網(wǎng)頁。此后,自動(dòng)化測試集群基于啟動(dòng)的瀏覽器以及創(chuàng)建的網(wǎng)頁,向壓測目標(biāo)地址指向的壓測目標(biāo)發(fā)出測試動(dòng)作序列指示的測試請求,并接收壓測目標(biāo)返回的測試響應(yīng),將測試請求和測試響應(yīng)中的數(shù)據(jù)上報(bào)以獲得針對壓測目標(biāo)的壓測結(jié)果。如此,通過對用戶訪問行為的準(zhǔn)確模擬提高壓測結(jié)果可信度,解決系統(tǒng)性能測試過程中繁瑣耗時(shí)、壓測結(jié)果無法做到高保真(即準(zhǔn)確模擬用戶行為)的問題,并且構(gòu)建基于指令分發(fā)平臺、自動(dòng)化測試集群和監(jiān)控平臺的全流程壓測系統(tǒng)。
22、上述的非慣用的可選方式所具有的進(jìn)一步效果將在下文中結(jié)合具體實(shí)施方式加以說明。
1.一種壓力測試方法,其特征在于,包括:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述壓測計(jì)劃信息包括:壓測目標(biāo)地址、模擬用戶數(shù)量以及測試動(dòng)作序列;以及,所述根據(jù)所述壓測計(jì)劃信息確定本地的瀏覽器啟動(dòng)數(shù)量以及各瀏覽器的網(wǎng)頁創(chuàng)建數(shù)量,包括:
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述向所述壓測計(jì)劃信息指示的壓測目標(biāo)發(fā)出所述測試動(dòng)作序列指示的測試請求,包括:
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述測試請求所攜帶數(shù)據(jù)包括:各測試請求的請求時(shí)間,所述測試響應(yīng)所攜帶數(shù)據(jù)包括:各測試響應(yīng)的響應(yīng)時(shí)間、響應(yīng)狀態(tài)和調(diào)用接口標(biāo)識。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述將所述測試請求所攜帶數(shù)據(jù)、所述測試響應(yīng)所攜帶數(shù)據(jù)中的至少一項(xiàng)上報(bào),包括:
6.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述壓測目標(biāo)包括網(wǎng)站或網(wǎng)頁,所述方法由基于瀏覽器自動(dòng)化操作工具的自動(dòng)化測試集群執(zhí)行。
7.一種壓力測試裝置,其特征在于,包括:
8.一種壓力測試系統(tǒng),其特征在于,包括:指令分發(fā)平臺、自動(dòng)化測試集群和監(jiān)控平臺;其中,
9.根據(jù)權(quán)利要求8所述的系統(tǒng),其特征在于,所述壓測計(jì)劃信息包括:壓測目標(biāo)地址、模擬用戶數(shù)量以及測試動(dòng)作序列;以及,
10.根據(jù)權(quán)利要求8所述的系統(tǒng),其特征在于,所述測試請求所攜帶數(shù)據(jù)包括:各測試請求的請求時(shí)間,所述測試響應(yīng)所攜帶數(shù)據(jù)包括:各測試響應(yīng)的響應(yīng)時(shí)間、響應(yīng)狀態(tài)、調(diào)用接口標(biāo)識;
11.根據(jù)權(quán)利要求10所述的系統(tǒng),其特征在于,所述監(jiān)控平臺進(jìn)一步包括:消息隊(duì)列、大數(shù)據(jù)處理平臺和可視化平臺;其中,
12.一種電子設(shè)備,其特征在于,包括:
13.一種計(jì)算機(jī)可讀存儲介質(zhì),其上存儲有計(jì)算機(jī)程序,其特征在于,所述程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如權(quán)利要求1-6中任一所述的方法。