本發(fā)明涉及計算機技術(shù)領(lǐng)域,特別涉及一種遠(yuǎn)程測試方法、裝置及系統(tǒng)。
背景技術(shù):
隨著互聯(lián)網(wǎng)和大數(shù)據(jù)技術(shù)的不斷發(fā)展,服務(wù)器得到了越來越廣泛的應(yīng)用。為了保證服務(wù)器的性能,在服務(wù)器出廠前要對服務(wù)器進(jìn)行測試。
目前,服務(wù)器的測試過程通常為:業(yè)務(wù)人員在每一臺服務(wù)器中手動安裝及運行測試腳本,且在每一臺服務(wù)器中的測試腳本運行完成后,需要在每一臺服務(wù)器中查看測試結(jié)果。
可以看出,現(xiàn)有的方式,無論是測試腳本的安裝和運行,還是測試結(jié)果的查看均要到每一服務(wù)器中進(jìn)行。因此,在測試過程中耗費的時間較長。
技術(shù)實現(xiàn)要素:
本發(fā)明提供了一種遠(yuǎn)程測試方法、裝置及系統(tǒng),因此可以減少測試過程中耗費的時間。
第一方面,本發(fā)明提供了一種遠(yuǎn)程測試方法,該方法包括:
在測試主機中部署至少一種測試腳本和輔助腳本;
構(gòu)建測試網(wǎng)絡(luò),其中,將至少一臺待測試機與測試主機相連;
獲取每一臺所述待測試機的屬性信息;
根據(jù)外部的觸發(fā)指令,在所述至少一種測試腳本中選取目標(biāo)測試腳本;
針對每一臺所述待測試機均執(zhí)行:
利用所述輔助腳本根據(jù)所述待測試機的屬性信息,將所述目標(biāo)測試腳本發(fā)送至所述待測試機;
利用所述輔助腳本控制所述目標(biāo)測試腳本在所述待測試機中運行;
利用所述輔助腳本調(diào)取包括測試結(jié)果的文本文件。
優(yōu)選地,所述針對每一臺所述待測試機均執(zhí)行:利用所述輔助腳本根據(jù)所述待測試機的屬性信息,將所述目標(biāo)測試腳本發(fā)送至所述待測試機;利用所述輔助腳本控制所述目標(biāo)測試腳本在所述待測試機中運行;利用所述輔助腳本調(diào)取包括測試結(jié)果的文本文件,包括:
根據(jù)每一臺所述待測試機的屬性信息,確定每一臺所述待測試機對應(yīng)的優(yōu)先級;
循環(huán)執(zhí)行N1至N5,直至利用所述輔助腳本調(diào)取優(yōu)先級最低的待測試機中包括測試結(jié)果的文本文件完成;
N1:將優(yōu)先級最高的待測試機作為當(dāng)前目標(biāo)待測試機;
N2:利用所述輔助腳本根據(jù)所述當(dāng)前目標(biāo)待測試機的屬性信息,將所述目標(biāo)測試腳本發(fā)送至該所述當(dāng)前目標(biāo)待測試機;
N3:利用所述輔助腳本控制所述目標(biāo)測試腳本在所述當(dāng)前目標(biāo)待測試機中運行;
N4:利用所述輔助腳本調(diào)取所述當(dāng)前目標(biāo)待測試機中包括測試結(jié)果的文本文件;
N5:判斷確定的所述當(dāng)前目標(biāo)待測試機是否為優(yōu)先級最低的待測試機,如果是,則結(jié)束程序;否則,將未測試的所述待測試機中優(yōu)先級最高的待測試機作為當(dāng)前目標(biāo)待測試機,并執(zhí)行N2。
優(yōu)選地,所述利用所述輔助腳本調(diào)取包括測試結(jié)果的文本文件,包括:
當(dāng)所述利用所述輔助腳本控制所述目標(biāo)測試腳本在所述待測試機中運行開始時,記錄運行的時長,當(dāng)累積時長達(dá)到預(yù)先設(shè)定的時長時,利用所述輔助腳本調(diào)取包括測試結(jié)果的文本文件。
優(yōu)選地,所述利用所述輔助腳本調(diào)取包括測試結(jié)果的文本文件之后,進(jìn)一步包括:
確定所述文本文件中是否存在與預(yù)先設(shè)定的字符串相一致的字符串,若存在,執(zhí)行報警處理。
優(yōu)選地,
所述輔助腳本,包括:傳輸文件腳本、執(zhí)行命令腳本和回溯文件腳本;其中,
所述傳輸文件腳本用于控制所述測試主機將所述目標(biāo)測試腳本發(fā)送給所述待測試機;
所述執(zhí)行命令腳本用于控制所述待測試機對所述目標(biāo)測試腳本進(jìn)行運行;
所述回溯文件腳本用于控制所述測試主機從所述待測試機上調(diào)取所述包括測試結(jié)果的文本文件。
優(yōu)選地,所述至少一種測試腳本,包括:功能測試腳本和性能測試腳本。
優(yōu)選地,所述屬性信息,包括:IP地址、用戶名、用戶密碼和文件目錄中的任意一個或多個。
第二方面,本發(fā)明提供了一種遠(yuǎn)程測試裝置,該裝置包括:
部署單元,用于在測試主機中部署至少一種測試腳本和輔助腳本;
構(gòu)建單元,用于構(gòu)建測試網(wǎng)絡(luò),其中,包括:至少一臺待測試機與測試主機的連接關(guān)系;
獲取單元,用于獲取每一臺所述待測試機的屬性信息;
選取單元,用于根據(jù)外部的觸發(fā)指令,在所述至少一種測試腳本中選取目標(biāo)測試腳本;
處理單元,用于針對每一臺所述待測試機均執(zhí)行:利用所述輔助腳本根據(jù)所述待測試機的屬性信息,將所述目標(biāo)測試腳本發(fā)送至所述待測試機;利用所述輔助腳本控制所述目標(biāo)測試腳本在所述待測試機中運行;利用所述輔助腳本調(diào)取包括測試結(jié)果的文本文件。
優(yōu)選地,所述處理單元,包括:排序子單元和處理子單元;
所述排序子單元,用于根據(jù)每一臺所述待測試機的屬性信息,確定每一臺所述待測試機的屬性信息對應(yīng)的優(yōu)先級;
所述處理子單元,用于循環(huán)執(zhí)行N1至N5,直至利用所述輔助腳本調(diào)取優(yōu)先級最低的待測試機中包括測試結(jié)果的文本文件完成;
N1:將優(yōu)先級最高的待測試機作為當(dāng)前目標(biāo)待測試機;
N2:利用所述輔助腳本根據(jù)所述當(dāng)前目標(biāo)待測試機的屬性信息,將所述目標(biāo)測試腳本發(fā)送至該所述當(dāng)前目標(biāo)待測試機;
N3:利用所述輔助腳本控制所述目標(biāo)測試腳本在所述當(dāng)前目標(biāo)待測試機中運行;
N4:利用所述輔助腳本調(diào)取所述當(dāng)前目標(biāo)待測試機中包括測試結(jié)果的文本文件;
N5:判斷確定的所述當(dāng)前目標(biāo)待測試機是否為優(yōu)先級最低的待測試機,如果是,則結(jié)束程序;否則,將未測試的所述待測試機中優(yōu)先級最高的待測試機作為當(dāng)前目標(biāo)待測試機,并執(zhí)行N2。
優(yōu)選地,
所述處理單元,具體用于當(dāng)所述利用所述輔助腳本控制所述目標(biāo)測試腳本在所述待測試機中運行開始時,記錄運行的時長,當(dāng)累積時長達(dá)到預(yù)先設(shè)定的時長時,利用所述輔助腳本調(diào)取包括測試結(jié)果的文本文件。
優(yōu)選地,進(jìn)一步包括:報警處理單元;
所述報警處理單元,用于確定所述文本文件中是否存在與預(yù)先設(shè)定的字符串相一致的字符串,若存在,執(zhí)行報警處理。
優(yōu)選地,
所述部署單元部署的所述輔助腳本包括:傳輸文件腳本、執(zhí)行命令腳本和回溯文件的腳本;其中,所述傳輸文件腳本用于控制所述測試主機將所述目標(biāo)測試腳本發(fā)送給所述待測試機;所述執(zhí)行命令腳本用于控制所述待測試機對所述目標(biāo)測試腳本進(jìn)行運行;所述回溯文件腳本用于控制所述測試主機從所述待測試機上調(diào)取所述包括測試結(jié)果的文本文件。
優(yōu)選地,
所述部署單元部署的所述至少一種測試腳本包括:功能測試腳本和性能測試腳本。
優(yōu)選地,所述獲取單元獲取的所述屬性信息包括:IP地址、用戶名、用戶密碼和文件目錄中的任意一個或多個。
第三方面,本發(fā)明提供了一種遠(yuǎn)程測試系統(tǒng),該系統(tǒng)包括:
測試主機、上述任一所述的遠(yuǎn)程測試裝置及至少一臺待測試機;其中,
所述測試主機,用于部署所述遠(yuǎn)程測試裝置,利用所述遠(yuǎn)程測試裝置對每一臺所述待測試機進(jìn)行測試,并調(diào)取每一臺所述待測試機中包括測試結(jié)果的文本文件;
每一臺所述待測試機,用于根據(jù)所述測試主機的控制進(jìn)行測試。
本發(fā)明提供了一種遠(yuǎn)程測試方法及裝置,該遠(yuǎn)程測試方法包括:將部署了至少一種測試腳本和輔助腳本的測試主機與至少一臺待測試機相連,構(gòu)建成測試網(wǎng)絡(luò);根據(jù)外部的觸發(fā)指令,在至少一種測試腳本中選取目標(biāo)測試腳本,針對每一臺待測試機均執(zhí)行:利用輔助腳本根據(jù)待測試機的屬性信息,將目標(biāo)測試腳本發(fā)送至待測試機,以使目標(biāo)測試腳本在待測試機中運行,運行完成后,利用輔助腳本調(diào)取包括測試結(jié)果的文本文件。本方案只需在測試主機中部署測試腳本和輔助腳本,就可以在接收到觸發(fā)指令時,根據(jù)每一臺待測試機的屬性信息,利用輔助腳本控制選取的目標(biāo)測試腳本在每一個待測試機中運行,并調(diào)取對應(yīng)的測試結(jié)果。因此本方案可以減少測試過程中耗費的時間。
附圖說明
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是本發(fā)明一個實施例提供的一種遠(yuǎn)程測試方法的流程圖;
圖2是本發(fā)明另一個實施例提供的一種遠(yuǎn)程測試方法的流程圖;
圖3是本發(fā)明一個實施例提供的一種遠(yuǎn)程測試裝置所在設(shè)備的一種硬件結(jié)構(gòu)圖;
圖4是本發(fā)明一個實施例提供的一種遠(yuǎn)程測試裝置的結(jié)構(gòu)示意圖;
圖5是本發(fā)明一個實施例提供的一種包括排序子單元和處理子單元的遠(yuǎn)程測試裝置的結(jié)構(gòu)示意圖;
圖6是本發(fā)明一個實施例提供的一種包括報警處理單元的遠(yuǎn)程測試裝置的結(jié)構(gòu)示意圖;
圖7是本發(fā)明一個實施例提供的一種遠(yuǎn)程測試系統(tǒng)的結(jié)構(gòu)示意圖。
具體實施方式
為使本發(fā)明實施例的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例,基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動的前提下所獲得的所有其他實施例,都屬于本發(fā)明保護(hù)的范圍。
如圖1所示,本發(fā)明實施例提供了一種遠(yuǎn)程測試方法,該方法可以包括以下步驟:
步驟101:在測試主機中部署至少一種測試腳本和輔助腳本;
步驟102:構(gòu)建測試網(wǎng)絡(luò),其中,將至少一臺待測試機與測試主機相連;
步驟103:獲取每一臺所述待測試機的屬性信息;
步驟104:根據(jù)外部的觸發(fā)指令,在所述至少一種測試腳本中選取目標(biāo)測試腳本;
步驟105:針對每一臺所述待測試機均執(zhí)行:利用所述輔助腳本根據(jù)所述待測試機的屬性信息,將所述目標(biāo)測試腳本發(fā)送至所述待測試機;
步驟106:利用所述輔助腳本控制所述目標(biāo)測試腳本在所述待測試機中運行;
步驟107:利用所述輔助腳本調(diào)取包括測試結(jié)果的文本文件。
根據(jù)如圖1所示的實施例可知,該遠(yuǎn)程測試方法包括:將部署了至少一種測試腳本和輔助腳本的測試主機與至少一臺待測試機相連,構(gòu)建成測試網(wǎng)絡(luò);根據(jù)外部的觸發(fā)指令,在至少一種測試腳本中選取目標(biāo)測試腳本,針對每一臺待測試機均執(zhí)行:利用輔助腳本根據(jù)待測試機的屬性信息,將目標(biāo)測試腳本發(fā)送至待測試機,以使目標(biāo)測試腳本在待測試機中運行,待運行完成后,利用輔助腳本調(diào)取包括測試結(jié)果的文本文件。本方案只需在測試主機中部署測試腳本和輔助腳本,就可以在接收到觸發(fā)指令時,根據(jù)每一臺待測試機的屬性信息,利用輔助腳本控制選取的目標(biāo)測試腳本在每一個待測試機中運行,并調(diào)取對應(yīng)的測試結(jié)果。因此本發(fā)明實施例可以減少測試過程中耗費的時間。
在本發(fā)明一個實施例中,構(gòu)建測試網(wǎng)絡(luò)時,將至少一臺待測試機與測試主機分別相連,可以通過測試主機對每一臺待測試機進(jìn)行控制。該待測試機的數(shù)量可以根據(jù)業(yè)務(wù)要求確定。
在本發(fā)明一個實施例中,每一臺待測試機的屬性信息可以包括:IP地址、用戶名、用戶密碼和文件目錄中的任意一個或多個。
在本實施例中,每一臺待測試機的屬性信息中包括的具體內(nèi)容可以根據(jù)業(yè)務(wù)要求來確定,上述的IP地址、用戶名、用戶密碼和文件目錄只是優(yōu)選的內(nèi)容,屬性信息還可以根據(jù)業(yè)務(wù)要求包括其他的內(nèi)容。
在本發(fā)明一個實施例中,在測試主機中部署的所述至少一種測試腳本,可以包括功能測試腳本和性能測試腳本。其中,所述功能測試腳本可以對每一臺待測試機進(jìn)行功能測試,該功能測試腳本中可以包括至少一種功能測試場景,每一種功能測試場景,就是待測試機日常使用的情景,包括:注冊登錄以及修改密碼、查詢以及組合查詢、實際實現(xiàn)、文本輸入、正常的輸入字段和不正常組合測試、非法數(shù)據(jù)輸入、按鈕等控件使用和文本框使用中的任意一種或多種。所述性能測試腳本可以對每一臺待測試機進(jìn)行性能測試,該性能測試可以為壓力測試。其中,該性能測試腳本中可以包括至少一個性能測試場景,每一中性能測試場景可以包括裝載時間、并發(fā)用戶數(shù)量、迭代次數(shù)和服務(wù)器監(jiān)測項中的任意一種或多種。
在本實施例中,當(dāng)獲取外部的觸發(fā)指令后,就可以根據(jù)觸發(fā)指令在功能測試腳本和性能測試腳本中選取目標(biāo)測試腳本,以對每一臺待測試機進(jìn)行相應(yīng)的測試。比如,當(dāng)獲取的觸發(fā)指令為對待測試機壓力測試指令時,則在所述至少一種測試腳本中選取性能測試腳本為目標(biāo)測試腳本。
根據(jù)上述實施例,至少一種測試腳本中可以包括功能測試腳本和性能測試腳本,在功能測試腳本和性能測試腳本中確定出符合觸發(fā)指令要求的目標(biāo)測試腳本,因此可以滿足不同的測試要求。
在本發(fā)明一個實施例中,在測試主機中部署的輔助腳本可以包括傳輸文件腳本、執(zhí)行命令腳本和回溯文件腳本;其中,
所述傳輸文件腳本用于控制所述測試主機將所述目標(biāo)測試腳本發(fā)送給所述待測試機;
所述執(zhí)行命令腳本用于控制所述待測試機對所述目標(biāo)測試腳本進(jìn)行運行;
所述回溯文件腳本用于控制所述測試主機從所述待測試機上調(diào)取所述包括測試結(jié)果的文本文件。
在本實施例中,傳輸文件腳本、執(zhí)行命令腳本和回溯文件腳本均可以基于shell、ssh、expect等腳本編程語言編寫而成。比如,可以通過ssh編寫的測試腳本實現(xiàn)測試主機和每一臺待測試機間的文件傳輸;可以通過expect編寫的測試腳本實現(xiàn)測試主機在每一臺待測試機中自動登陸;可以通過shell編寫的測試腳本實現(xiàn)測試主機調(diào)取每一臺待測試機測試過程中產(chǎn)生的日志文件。
在本實施例中,傳輸文件腳本的命名可以根據(jù)業(yè)務(wù)要求確定,比如,可以將傳輸文件腳本命名為autoTransfer.exp。另外該腳本的運行需要參數(shù)的數(shù)量也可以根據(jù)業(yè)務(wù)要求確定。比如,需要6個參數(shù),這6個參數(shù)可以為IP地址、用戶名user、用戶密碼passwrod、傳輸文件的模式choose、測試主機本地的文件或目錄local_dir、每一臺待測試機的文件或目錄remote_dir。其中,IP地址、用戶名user、用戶密碼passwrod以及每一臺待測試機的文件或目錄remote_dir均為獲取的每一臺待測試機的屬性信息中包括的內(nèi)容。傳輸文件的模式choose,包括“上傳文件-u”,“上傳目錄-ur”,“下載文件-d”,下載目錄-dr”四種模式。具體的,利用傳輸文件腳本根據(jù)待測試機的屬性信息,將目標(biāo)測試腳本發(fā)送至待測試機的過程可以為:傳輸文件腳本根據(jù)每一臺待測試機的IP地址、用戶名user、用戶密碼passwrod將測試主機指定文件目錄中的目標(biāo)測試腳本發(fā)送至每一臺待測試機的執(zhí)行文件目錄中。比如,確定待測試機的IP地址、用戶名user后,利用expect監(jiān)測到“assword:”時,利用send“$passwd\r”指令發(fā)送與IP地址、用戶名user相對應(yīng)的用戶密碼passwrod,以實現(xiàn)測試主機在待測試機中的登陸,在登陸完成后將目標(biāo)測試腳本發(fā)送至每一臺待測試機的執(zhí)行文件目錄中。另外在該過程中采用的命令可以為:
上傳文件:scp$local_dir$user@$ip:$remote_dir;
上傳目錄:scp–r$local_dir$user@$ip:$remote_dir;
下載文件:scp$user@$ip:$remote_dir$local_dir;
下載目錄:scp–r$user@ip:$remote_dir$local_dir。
在本實施例中,執(zhí)行命令腳本的命名可以根據(jù)業(yè)務(wù)要求確定,比如,可以將執(zhí)行命令腳本命名為autoCommand.exp。另外該腳本的運行需要參數(shù)的數(shù)量也可以根據(jù)業(yè)務(wù)要求確定。比如,需要4個參數(shù),這4個參數(shù)可以為IP地址、用戶名user、用戶密碼passwrod和調(diào)用命令command,其中調(diào)用命令command需要用引號包含起來。利用執(zhí)行命令腳本控制目標(biāo)測試腳本在每一臺待測試機中運行的過程可以為:利用expect監(jiān)測交互內(nèi)容,當(dāng)監(jiān)測到“(yes/no)?”時,send“yes\r”,當(dāng)監(jiān)測到每一臺待測試機對應(yīng)的“assword:”時,采用send“$passwd\r”發(fā)送每一臺待測試機對應(yīng)的用戶密碼,上述的過程采用并行監(jiān)測的方式,也就是不存在先后關(guān)系,比如當(dāng)只監(jiān)測到“assword”,則只執(zhí)行采用send“$passwd\r”發(fā)送每一臺待測試機對應(yīng)的用戶密碼。當(dāng)監(jiān)測到設(shè)定提示符set cmd_prompt“~\]#”時,則成功登陸待測試機。當(dāng)?shù)顷懗晒?,?dāng)監(jiān)測到“$cmd_prompt”時,發(fā)送send“$command\r”執(zhí)行命令,使得目標(biāo)測試腳本在待測試機中運行,當(dāng)運行完成后利用send“exit\r”退出執(zhí)行命令腳本,并結(jié)束當(dāng)前流程。另外在該過程中采用的命令可以為:ssh$user@$ip。
在本實施例中,回溯文件腳本的命名可以根據(jù)業(yè)務(wù)要求確定,比如,可以將回溯文件腳本命名為autoTransfer.exp,回溯文件腳本針對每一臺待測試機均執(zhí)行:當(dāng)目標(biāo)測試腳本在待測試機中運行完成后,利用回溯文件腳本調(diào)取待測試機中的包括測試結(jié)果的文本文件,以省去在每一臺待測試機本地中查看包括測試結(jié)果的文本文件中的過程,從而可以減少查看測試結(jié)果的時間。
另外,在本實施例中,由于傳輸文件腳本、執(zhí)行命令腳本和回溯文件腳本均可以根據(jù)業(yè)務(wù)要求確定,因此可以利用傳輸文件腳本、執(zhí)行命令腳本和回溯文件腳本對各種系統(tǒng)的待測試機均可以進(jìn)行測試。比如可以對Linux系統(tǒng)的待測試機進(jìn)行測試,也可以對Windows系統(tǒng)的待測試機進(jìn)行測試。
根據(jù)上述實施例,輔助腳本中可以包括傳輸文件腳本、執(zhí)行命令腳本和回溯文件腳本。利用上述不同的文件腳本針對每一臺測試機均可以完成從目標(biāo)測試文件的傳輸?shù)綔y試結(jié)果調(diào)取的全部過程,因此可以減少測試過程中耗費的時間。
在本發(fā)明一個實施例中,針對每一臺待測試機執(zhí)行測試操作的過程,至少可以為下述兩種方式中的任意一種:
方式1:每一臺待測試機同時執(zhí)行測試;
方式2:每一臺待測試機依次執(zhí)行測試。
針對于上述的方式1:
在本發(fā)明一個實施例中,在至少一種測試腳本中選取目標(biāo)測試腳本后,根據(jù)每一臺待測試機的屬性信息,利用輔助腳本同時將目標(biāo)測試腳本發(fā)送至每一臺待測試機中,再利用輔助腳本控制目標(biāo)測試腳本在每一臺待測試機中運行,當(dāng)運行完成后所述輔助腳本調(diào)取包括測試結(jié)果的文本文件。
根據(jù)上述實施例,由于是同時對每一臺待測試機進(jìn)行測試,因此可以減少測試耗用的時間。
針對于上述的方式2:
在本發(fā)明一個實施例中,所述針對每一臺所述待測試機均執(zhí)行:利用所述輔助腳本根據(jù)所述待測試機的屬性信息,將所述目標(biāo)測試腳本發(fā)送至所述待測試機;利用所述輔助腳本控制所述目標(biāo)測試腳本在所述待測試機中運行;利用所述輔助腳本調(diào)取包括測試結(jié)果的文本文件,包括:
根據(jù)每一臺所述待測試機的屬性信息,確定每一臺所述待測試機對應(yīng)的優(yōu)先級;
循環(huán)執(zhí)行N1至N5,直至利用所述輔助腳本調(diào)取優(yōu)先級最低的待測試機中包括測試結(jié)果的文本文件完成;
N1:將優(yōu)先級最高的待測試機作為當(dāng)前目標(biāo)待測試機;
N2:利用所述輔助腳本根據(jù)所述當(dāng)前目標(biāo)待測試機的屬性信息,將所述目標(biāo)測試腳本發(fā)送至該所述當(dāng)前目標(biāo)待測試機;
N3:利用所述輔助腳本控制所述目標(biāo)測試腳本在所述當(dāng)前目標(biāo)待測試機中運行;
N4:利用所述輔助腳本調(diào)取所述當(dāng)前目標(biāo)待測試機中包括測試結(jié)果的文本文件;
N5:判斷確定的所述當(dāng)前目標(biāo)待測試機是否為優(yōu)先級最低的待測試機,如果是,則結(jié)束程序;否則,將未測試的所述待測試機中優(yōu)先級最高的待測試機作為當(dāng)前目標(biāo)待測試機,并執(zhí)行N2。
在本實施例中,在至少一種測試腳本中選取目標(biāo)測試腳本后,根據(jù)每一臺待測試機的屬性信息,利用輔助腳本按照待測試機的優(yōu)先級順序依次將目標(biāo)測試腳本發(fā)送至每一臺待測試機中,再利用輔助腳本控制目標(biāo)測試腳本在每一臺待測試機中運行,當(dāng)運行完成后所述輔助腳本調(diào)取包括測試結(jié)果的文本文件。通過上述過程可知,只有一臺待測試機完成測試后,才對下一臺待測試機進(jìn)行測試。
比如,存在3臺待測試機,根據(jù)每一臺待測試機的屬性信息中的用戶名稱,確定優(yōu)先級順序為待測試機1、待測試機2和待測試機3。當(dāng)選取目標(biāo)測試腳本后,將優(yōu)先級最高的待測試機1作為當(dāng)前目標(biāo)待測試機,利用輔助腳本根據(jù)待測試機1的屬性信息,比如IP地址、用戶名和用戶密碼,將目標(biāo)測試腳本發(fā)送至待測試機1,之后利用輔助腳本控制目標(biāo)測試腳本在待測試機1中運行,再利用輔助腳本調(diào)取待測試機1中包括測試結(jié)果的文本文件。然后判斷確定的當(dāng)前目標(biāo)待測試機待測試機1是否為優(yōu)先級最低的待測試機,如果是,則結(jié)束程序;否則,在未測試的待測試機中優(yōu)先級最高的待測試機待測機2作為當(dāng)前目標(biāo)待測試機重復(fù)上述過程,直至利用輔助腳本調(diào)取優(yōu)先級最低的待測試機待測試機3中包括測試結(jié)果的文本文件完成。
根據(jù)上述實施例,通過根據(jù)每一臺待測試機的屬性信息,確定每一臺待測試機對應(yīng)的優(yōu)先級,根據(jù)優(yōu)先級順序依次對每一臺待測試機進(jìn)行測試,因此可以減少存在待測試機未進(jìn)行測試的概率。
在本發(fā)明一個實施例中,在所述利用所述輔助腳本調(diào)取包括測試結(jié)果的文本文件時,至少可以為下述兩種情況中的任意一種:
情況一:
在本發(fā)明一個實施例中,當(dāng)利用輔助腳本控制目標(biāo)測試腳本在待測試機中運行完成后,待測試機給測試主機發(fā)送一個指令,告知測試主機其測試過程完成,則測試主機根據(jù)該指令調(diào)取包括測試結(jié)果的文本文件。
情況二:
在本發(fā)明一個實施例中,所述利用所述輔助腳本調(diào)取包括測試結(jié)果的文本文件,包括:
當(dāng)所述利用所述輔助腳本控制所述目標(biāo)測試腳本在所述待測試機中運行開始時,記錄運行的累積時長,當(dāng)累積時長達(dá)到預(yù)先設(shè)定的時長時,利用所述輔助腳本調(diào)取包括測試結(jié)果的文本文件。
在本實施例中,預(yù)先設(shè)定的時長可以根據(jù)業(yè)務(wù)要求確定,比如2小時。比如,當(dāng)利用輔助腳本控制目標(biāo)測試腳本在所述待測試機中運行開始時,記錄運行的累積時長,當(dāng)累積時長比如2小時,達(dá)到預(yù)先設(shè)定的時長2小時時,利用輔助腳本調(diào)取包括測試結(jié)果的文本文件。因此可以根據(jù)預(yù)先設(shè)定的時長及時的調(diào)取測試結(jié)果。
在本發(fā)明一個實施例中,所述利用所述輔助腳本調(diào)取包括測試結(jié)果的文本文件之后,進(jìn)一步包括:
確定所述文本文件中是否存在與預(yù)先設(shè)定的字符串相一致的字符串,若存在,執(zhí)行報警處理。
在本實施例中,包括測試結(jié)果的文本文件和預(yù)先設(shè)定的字符串均可以根據(jù)業(yè)務(wù)要求確定的形式。比如文本文件可以是txt或word文件,預(yù)先設(shè)定的字符串可以為fail、error、not found、bad、unusable和access denied中的任意一種或多種。比如,預(yù)先設(shè)定的字符串為fail、error、not found、bad、unusable,當(dāng)調(diào)取包括測試結(jié)果的文本文件之后,判斷該文本文件中是否存在與預(yù)先設(shè)定的字符串fail、error、not found、bad、unusable相一致的字符串,當(dāng)確定該文本文件中存在fail、error、not found、bad、unusable中的至少一種時,則執(zhí)行報警處理。該報警處理可以為一個DOS窗口,該窗口中可以包括該文本文件的名稱和文本文件對應(yīng)的待測試機的名稱,以使測試人員根據(jù)該報警處理對該文本文件對應(yīng)的待測試機進(jìn)行相應(yīng)的處理。
根據(jù)上述實施例,當(dāng)確定調(diào)取的文本文件中存在與預(yù)先設(shè)定的字符串相一致的字符串,執(zhí)行報警處理。以使測試人員及時根據(jù)報警處理對存在問題的待測試機進(jìn)行相應(yīng)處理。
下面以待測試機分別為服務(wù)器1、服務(wù)器2、服務(wù)器3和服務(wù)器4為例。展開說明遠(yuǎn)程測試方法,如圖2所示,該遠(yuǎn)程測試方法可以包括如下步驟:
步驟201:預(yù)先設(shè)定時長和預(yù)先設(shè)定字符串。
在本步驟中,設(shè)定的時長為2小時,設(shè)定的字符串為fail、error、not found、bad、unusable和access denied。
步驟202:在測試主機中部署功能測試腳本、性能測試腳、傳輸文件腳本、執(zhí)行命令腳本和回溯文件腳本。
步驟203:構(gòu)建測試網(wǎng)絡(luò)。
在本步驟中,將服務(wù)器1、服務(wù)器2、服務(wù)器3和服務(wù)器4分別與測試主機相連。
步驟204:獲取每一臺服務(wù)器的屬性信息。
其中,服務(wù)器的屬性信息包括IP地址、用戶名、用戶密碼和文件目錄。
在本步驟中,獲取服務(wù)器1的IP地址為128.000.456.001、用戶名為001、用戶密碼為111111、文件目錄為D:/;獲取服務(wù)器2的IP地址為128.000.456.002、用戶名為002、用戶密碼為222222、文件目錄為D:/;獲取服務(wù)器3的IP地址為128.000.456.003、用戶名為003、用戶密碼為333333、文件目錄為D:/;獲取服務(wù)器4的IP地址為128.000.456.004、用戶名為004、用戶密碼為444444、文件目錄為D:/。
步驟205:根據(jù)外部的觸發(fā)指令,在功能測試腳本和性能測試腳中選取目標(biāo)測試腳本。
在本步驟中,外部的觸發(fā)指令為壓力測試指令,則在功能測試腳本和性能測試腳中選取性能測試腳本為目標(biāo)測試腳本。
步驟206:根據(jù)每一臺服務(wù)器的屬性信息,確定每一臺服務(wù)器對應(yīng)的優(yōu)先級。
在本步驟中,確定的服務(wù)器的優(yōu)先級順序為服務(wù)器1、服務(wù)器2、服務(wù)器3和服務(wù)器4。
步驟207:將優(yōu)先級最高的服務(wù)器作為當(dāng)前目標(biāo)待測試機。
在本步驟中,將優(yōu)先級最高的服務(wù)器1作為當(dāng)前目標(biāo)待測試機。
步驟208:利用傳輸文件腳本根據(jù)當(dāng)前目標(biāo)待測試機的屬性信息,將目標(biāo)測試腳本發(fā)送至當(dāng)前目標(biāo)待測試機。
在本步驟中,利用傳輸文件腳本根據(jù)當(dāng)前目標(biāo)待測試機:服務(wù)器1的IP地址、用戶名、用戶密碼和文件目錄,將目標(biāo)測試腳本:性能測試腳本,發(fā)送至服務(wù)器1。
步驟209:利用執(zhí)行命令腳本控制目標(biāo)測試腳本在當(dāng)前目標(biāo)待測試機中運行,并記錄運行的時長。
在本步驟中,利用執(zhí)行命令腳本控制目標(biāo)測試腳:性能測試腳,在待測試機1中運行,在運行的同時,開始記錄運行的時長。
步驟210:當(dāng)累積時長達(dá)到預(yù)先設(shè)定的時長時,利用回溯文件腳本調(diào)取包括測試結(jié)果的文本文件。
在本步驟中,當(dāng)累積時長,比如2小時達(dá)到在步驟201中設(shè)定的時長2小時時,利用回溯文件腳本在服務(wù)器1中調(diào)取包括測試結(jié)果的文本文件,比如txt文件。
步驟211:判斷文本文件中是否存在與預(yù)先設(shè)定的字符串相一致的字符串,若是,執(zhí)行步驟212。否則,執(zhí)行步驟213。
在本步驟中,判斷在步驟210中調(diào)取的文本文件中是否存在步驟201中預(yù)先設(shè)定的字符串為fail、error、not found、bad、unusable和access denied。比如文本文件中存在上述fail、error、not found、bad、unusable和access denied中任意一個字符串時,執(zhí)行步驟212;當(dāng)文本文件中不存在與預(yù)先設(shè)定的字符串一致的字符串時,則執(zhí)行步驟213。
步驟212:進(jìn)行報警處理。
在本步驟中,該報警處理可以為彈出DOS框,以告知測試人員,與該文本文件對應(yīng)的待測試機存在異常問題。
步驟213:判斷確定的當(dāng)前目標(biāo)待測試機是否為優(yōu)先級最低的待測試機,如果是,則結(jié)束當(dāng)前流程;否則,執(zhí)行步驟214。
在步驟中,當(dāng)前目標(biāo)待測試機為服務(wù)器1,顯然服務(wù)器1不是優(yōu)先級最低的待測試機,則執(zhí)行步驟214。如果當(dāng)前目標(biāo)待測試機為服務(wù)器4,則服務(wù)器4為優(yōu)先級最低的待測試機,則結(jié)束當(dāng)前流程。
步驟214:將未測試的待測試機中優(yōu)先級最高的待測試機作為當(dāng)前目標(biāo)待測試機,并執(zhí)行步驟208。
在本步驟中,在未測試的服務(wù)器2、服務(wù)器3和服務(wù)器4中選取優(yōu)先級最高的服務(wù)器2作為當(dāng)前目標(biāo)待測試機,并執(zhí)行步驟208,循環(huán)上述的步驟208至213,以完成測試。
如圖3、圖4所示,本發(fā)明實施例提供了一種遠(yuǎn)程測試裝置。裝置實施例可以通過軟件實現(xiàn),也可以通過硬件或者軟硬件結(jié)合的方式實現(xiàn)。從硬件層面而言,如圖3所示,為本發(fā)明實施例提供的遠(yuǎn)程測試裝置所在設(shè)備的一種硬件結(jié)構(gòu)圖,除了圖3所示的處理器、內(nèi)存、網(wǎng)絡(luò)接口、以及非易失性存儲器之外,實施例中裝置所在的設(shè)備通常還可以包括其他硬件,如負(fù)責(zé)處理報文的轉(zhuǎn)發(fā)芯片等等。以軟件實現(xiàn)為例,如圖4所示,作為一個邏輯意義上的裝置,是通過其所在設(shè)備的CPU將非易失性存儲器中對應(yīng)的計算機程序指令讀取到內(nèi)存中運行形成的。本實施例提供的遠(yuǎn)程測試裝置,包括:
部署單元401,用于在測試主機中部署至少一種測試腳本和輔助腳本;
構(gòu)建單元402,用于構(gòu)建測試網(wǎng)絡(luò),其中,包括:至少一臺待測試機與測試主機的連接關(guān)系;
獲取單元403,用于獲取每一臺所述待測試機的屬性信息;
選取單元404,用于根據(jù)外部的觸發(fā)指令,在所述至少一種測試腳本中選取目標(biāo)測試腳本;
處理單元405,用于針對每一臺所述待測試機均執(zhí)行:利用所述輔助腳本根據(jù)所述待測試機的屬性信息,將所述目標(biāo)測試腳本發(fā)送至該所述待測試機;利用所述輔助腳本控制所述目標(biāo)測試腳本在所述待測試機中運行;利用所述輔助腳本調(diào)取包括測試結(jié)果的文本文件。
根據(jù)如圖4所示的實施例,該遠(yuǎn)程測試裝置包括:部署單元、構(gòu)建單元、獲取單元、選取單元和處理單元。其中,處理單元針對每一臺待測試機均執(zhí)行:利用部署單元部署的輔助腳本根據(jù)獲取單元獲取的待測試機的屬性信息,將選取單元選取的目標(biāo)測試腳本發(fā)送至待測試機;利用輔助腳本控制目標(biāo)測試腳本在待測試機中運行;利用輔助腳本調(diào)取包括測試結(jié)果的文本文件。本方案只需在部署測試腳本和輔助腳本,就可以在接收到觸發(fā)指令時,根據(jù)每一臺待測試機的屬性信息,利用輔助腳本控制選取的目標(biāo)測試腳本在每一個待測試機中運行,并調(diào)取對應(yīng)的測試結(jié)果。因此本方案可以減少測試過程中耗費的時間。
在本發(fā)明一個實施例中,如圖5所示,所述處理單元405,包括:排序子單元501和處理子單元502;
所述排序子單元501,用于根據(jù)每一臺所述待測試機的屬性信息,確定每一臺所述待測試機的屬性信息對應(yīng)的優(yōu)先級;
所述處理子單元502,用于循環(huán)執(zhí)行N1至N5,直至利用所述輔助腳本調(diào)取優(yōu)先級最低的待測試機中包括測試結(jié)果的文本文件完成;
N1:將優(yōu)先級最高的待測試機作為當(dāng)前目標(biāo)待測試機;
N2:利用所述輔助腳本根據(jù)所述當(dāng)前目標(biāo)待測試機的屬性信息,將所述目標(biāo)測試腳本發(fā)送至該所述當(dāng)前目標(biāo)待測試機;
N3:利用所述輔助腳本控制所述目標(biāo)測試腳本在所述當(dāng)前目標(biāo)待測試機中運行;
N4:利用所述輔助腳本調(diào)取所述當(dāng)前目標(biāo)待測試機中包括測試結(jié)果的文本文件;
N5:判斷確定的所述當(dāng)前目標(biāo)待測試機是否為優(yōu)先級最低的待測試機,如果是,則結(jié)束程序;否則,將未測試的所述待測試機中優(yōu)先級最高的待測試機作為當(dāng)前目標(biāo)待測試機,并執(zhí)行N2。
在本發(fā)明一個實施例中,所述處理單元305,具體用于當(dāng)所述利用所述輔助腳本控制所述目標(biāo)測試腳本在所述待測試機中運行開始時,記錄運行的累積時長,當(dāng)累積時長達(dá)到預(yù)先設(shè)定的時長時,利用所述輔助腳本調(diào)取包括測試結(jié)果的文本文件;
在本發(fā)明一個實施例中,如圖6所示,所示遠(yuǎn)程測試裝置中可以進(jìn)一步包括報警處理單元601;
所述報警處理單元601,用于確定所述文本文件中是否存在與預(yù)先設(shè)定的字符串相一致的字符串,若存在,執(zhí)行報警處理。
如圖7所示,本發(fā)明實施例提供了一種遠(yuǎn)程測試系統(tǒng),該系統(tǒng)包括步驟:測試主機701、上述任一所述的遠(yuǎn)程測試裝置702及至少一臺待測試機703;其中,
所述測試主機701,用于部署所述遠(yuǎn)程測試裝置702,利用所述遠(yuǎn)程測試裝置702對每一臺所述待測試機703進(jìn)行測試,并調(diào)取每一臺所述待測試機703中包括測試結(jié)果的文本文件;
每一臺所述待測試機703,用于根據(jù)所述測試主機701的控制進(jìn)行測試。
根據(jù)如圖7所示的實施例,該遠(yuǎn)程測試系統(tǒng)包括:測試主機、遠(yuǎn)程測試裝置和至少一臺待測試機。其中,測試主機利用遠(yuǎn)程測試裝置對每一臺待測試機進(jìn)行測試,并調(diào)取每一臺待測試機中包括測試結(jié)果的文本文件。本方案只需在測試主機中部署遠(yuǎn)程測試裝置,就可以控制每一個待測試機進(jìn)行測試,并調(diào)取對應(yīng)的測試結(jié)果。因此本方案可以減少測試過程中耗費的時間。
在本發(fā)明一個實施例中,測試主機的類型可以根據(jù)業(yè)務(wù)要求確定,另外,待測試機的數(shù)量可以根據(jù)業(yè)務(wù)要求確定。另外在測試過程中,不用在每一個待測試機中分別進(jìn)行測試腳本的配置,只要在測試主機中配置相應(yīng)的腳本后,就可以完成每一個待測試機的測試過程,因此可以既節(jié)省了人力,又提高了測試效率。
上述裝置內(nèi)的各單元之間的信息交互、執(zhí)行過程等內(nèi)容,由于與本發(fā)明方法實施例基于同一構(gòu)思,具體內(nèi)容可參見本發(fā)明方法實施例中的敘述,此處不再贅述。
本發(fā)明一個實施例提供了一種可讀介質(zhì),該可讀介質(zhì)包括執(zhí)行指令,當(dāng)存儲控制器的處理器執(zhí)行所述執(zhí)行指令時,所述存儲控制器執(zhí)行上述任一項所述的遠(yuǎn)程測試方法。
在本發(fā)明一個實施例提供了一種存儲控制器,該存儲控制器包括:處理器、存儲其和總線;所述存儲器用于存儲執(zhí)行指令,所述處理器與所述存儲器通過所述總線連接,當(dāng)所述存儲控制器運行時,所述處理器執(zhí)行所述存儲器存儲的所述執(zhí)行指令,以使所述存儲控制器執(zhí)行上述任一所述的遠(yuǎn)程測試方法。
綜上所述,本發(fā)明各個實施例至少可以實現(xiàn)如下有益效果:
1、在本發(fā)明實施例中,該遠(yuǎn)程測試方法包括:將部署了至少一種測試腳本和輔助腳本的測試主機與至少一臺待測試機相連,構(gòu)建成測試網(wǎng)絡(luò);根據(jù)外部的觸發(fā)指令,在至少一種測試腳本中選取目標(biāo)測試腳本,針對每一臺待測試機均執(zhí)行:利用輔助腳本根據(jù)待測試機的屬性信息,將目標(biāo)測試腳本發(fā)送至待測試機,以使目標(biāo)測試腳本在待測試機中運行,運行完成后,利用輔助腳本調(diào)取包括測試結(jié)果的文本文件。本方案只需在測試主機中部署測試腳本和輔助腳本,就可以在接收到觸發(fā)指令時,根據(jù)每一臺待測試機的屬性信息,利用輔助腳本控制選取的目標(biāo)測試腳本在每一個待測試機中運行,并調(diào)取對應(yīng)的測試結(jié)果。因此發(fā)明實施例可以減少測試過程中耗費的時間。
2、在本發(fā)明實施例中,至少一種測試腳本中可以包括功能測試腳本和性能測試腳本,在功能測試腳本和性能測試腳本中確定出符合觸發(fā)指令要求的目標(biāo)測試腳本,因此可以滿足不同的測試要求。
3、在本發(fā)明實施例中,輔助腳本中可以包括傳輸文件腳本、執(zhí)行命令腳本和回溯文件腳本。利用上述不同的文件腳本針對每一臺測試機均可以完成從目標(biāo)測試文件的傳輸?shù)綔y試結(jié)果調(diào)取的全部過程,因此可以減少測試過程中耗費的時間。
4、在本發(fā)明實施例中,在至少一種測試腳本中選取目標(biāo)測試腳本后,根據(jù)每一臺待測試機的屬性信息,利用輔助腳本同時利用目標(biāo)測試腳本對每一臺待測試機進(jìn)行測試,因此可以減少測試耗用的時間。
5、在本發(fā)明實施例中,通過根據(jù)每一臺待測試機的屬性信息,確定每一臺待測試機對應(yīng)的優(yōu)先級,根據(jù)優(yōu)先級順序依次對每一臺待測試機進(jìn)行測試,因此可以減少存在待測試機未進(jìn)行測試的概率。
6、在本發(fā)明實施例中,當(dāng)確定輔助腳本控制目標(biāo)測試腳本在所述待測試機中運行的累積時長達(dá)到預(yù)先設(shè)定的時長時,利用輔助腳本調(diào)取包括測試結(jié)果的文本文件。因此可以根據(jù)預(yù)先設(shè)定的時長及時的調(diào)取測試結(jié)果。
7、在本發(fā)明實施例中,當(dāng)確定調(diào)取的文本文件中存在與預(yù)先設(shè)定的字符串相一致的字符串,執(zhí)行報警處理。以使測試人員及時根據(jù)報警處理對存在問題的待測試機進(jìn)行相應(yīng)處理。
8、在本發(fā)明實施例中,該遠(yuǎn)程測試裝置包括:部署單元、構(gòu)建單元、獲取單元、選取單元和處理單元。其中,處理單元針對每一臺待測試機均執(zhí)行:利用部署單元部署的輔助腳本根據(jù)獲取單元獲取的待測試機的屬性信息,將選取單元選取的目標(biāo)測試腳本發(fā)送至待測試機;利用輔助腳本控制目標(biāo)測試腳本在待測試機中運行;利用輔助腳本調(diào)取包括測試結(jié)果的文本文件。本方案只需在部署測試腳本和輔助腳本,就可以在接收到觸發(fā)指令時,根據(jù)每一臺待測試機的屬性信息,利用輔助腳本控制選取的目標(biāo)測試腳本在每一個待測試機中運行,并調(diào)取對應(yīng)的測試結(jié)果。因此本方案可以減少測試過程中耗費的時間。
9、在本發(fā)明實施例中,該遠(yuǎn)程測試系統(tǒng)包括:測試主機、遠(yuǎn)程測試裝置和至少一臺待測試機。其中,測試主機利用遠(yuǎn)程測試裝置對每一臺待測試機進(jìn)行測試,并調(diào)取每一臺待測試機中包括測試結(jié)果的文本文件。本方案只需在測試主機中部署遠(yuǎn)程測試裝置,就可以控制每一個待測試機進(jìn)行測試,并調(diào)取對應(yīng)的測試結(jié)果。因此本方案可以減少測試過程中耗費的時間。
需要說明的是,在本文中,諸如第一和第二之類的關(guān)系術(shù)語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個······”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同因素。
本領(lǐng)域普通技術(shù)人員可以理解:實現(xiàn)上述方法實施例的全部或部分步驟可以通過程序指令相關(guān)的硬件來完成,前述的程序可以存儲在計算機可讀取的存儲介質(zhì)中,該程序在執(zhí)行時,執(zhí)行包括上述方法實施例的步驟;而前述的存儲介質(zhì)包括:ROM、RAM、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)中。
最后需要說明的是:以上所述僅為本發(fā)明的較佳實施例,僅用于說明本發(fā)明的技術(shù)方案,并非用于限定本發(fā)明的保護(hù)范圍。凡在本發(fā)明的精神和原則之內(nèi)所做的任何修改、等同替換、改進(jìn)等,均包含在本發(fā)明的保護(hù)范圍內(nèi)。