一種通用的存儲軟件測試設(shè)計方法
【專利摘要】本發(fā)明公開了一種測試執(zhí)行設(shè)備訪問被測存儲系統(tǒng)的方法,包括測試執(zhí)行設(shè)備和被測存儲系統(tǒng),被測存儲系統(tǒng)設(shè)計為一個類:包含用戶名、主機地址、端口、密碼、重連次數(shù)、接收緩沖6個屬性;包含日志輸出對象和訪問方式對象;包含存儲軟件通用測試命令執(zhí)行方法和測試結(jié)果檢查方法;測試執(zhí)行設(shè)備通過ssh方式或者socket方式,完成存儲軟件測試命令執(zhí)行和結(jié)果檢查,并輸出測試日志以及測試結(jié)果,完成對存儲軟件功能測試。采用本發(fā)明的技術(shù)方案,可以方便地通過類的多態(tài)、繼承等特性應(yīng)用在各種存儲軟件產(chǎn)品中,大大提高了存儲軟件產(chǎn)品測試的效率,并縮短了存儲軟件的開發(fā)周期。
【專利說明】一種通用的存儲軟件測試設(shè)計方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及存儲軟件測試領(lǐng)域,具體涉及一種存儲軟件自動化測試方法。
技術(shù)背景
[0002]隨著新世紀(jì)的到來,互聯(lián)網(wǎng)上信息的迅速增加以及電子商務(wù)的發(fā)展,人們對信息存儲的需求越來越大,信息數(shù)據(jù)化、網(wǎng)絡(luò)化技術(shù)的發(fā)展,存儲平臺在信息系統(tǒng)中的地位越來越重要,企業(yè)信息系統(tǒng)數(shù)據(jù)的海量增長,使企業(yè)比以往任何時候都更加依賴于數(shù)據(jù),尤其對銀行、電信等企業(yè)來講,計算機存儲的數(shù)據(jù)關(guān)系著企業(yè)的收入利潤,關(guān)系著企業(yè)的發(fā)展。
[0003]存儲軟件的可用性、可靠性以及存儲性能對數(shù)據(jù)存儲起著至關(guān)重要的作用,所以存儲軟件的測試工作在存儲軟件的開發(fā)工作占據(jù)很大的比例,目前存儲軟件測試主要是通過手工搭建好存儲系統(tǒng),查看存儲軟件對磁盤陣列的管理功能,然后通過各種存儲I/o的測試工具(1meterUoZone)等對存儲產(chǎn)品性能、可靠性進(jìn)行測試。各種存儲軟件的操作方式不盡相同,但是存儲軟件實現(xiàn)的功能是基本相同的,可以設(shè)計一種通用的存儲軟件測試方法,完成對存儲軟件的自動化測試。提高存儲軟件測試效率,縮短產(chǎn)品開發(fā)周期。
【發(fā)明內(nèi)容】
[0004]本發(fā)明要解決的技術(shù)問題是:提供一種通用的存儲軟件測試方法,完成對存儲軟件的自動化測試。
[0005]本發(fā)明所采用的技術(shù)方案為:
一種通用的存儲軟件測試設(shè)計方法,包括測試執(zhí)行設(shè)備和被測存儲系統(tǒng),測試執(zhí)行設(shè)備可以為一個服務(wù)器或者一個PC,被測存儲系統(tǒng)設(shè)計為一個類:
a)該類包含用戶名(name)、主機地址(Host)、端口(port)、密碼(password)、重連次數(shù)(ReConnetTimes)、接收緩沖(Rebuff) 6 個屬性;
b)該類包含日志輸出對象和訪問方式對象;
c)該類包含存儲軟件通用測試命令執(zhí)行方法和測試結(jié)果檢查方法;
測試執(zhí)行設(shè)備通過ssh方式或者socket方式,完成存儲軟件測試命令執(zhí)行和結(jié)果檢查,并輸出測試日志以及測試結(jié)果,完成對存儲軟件功能測試。
[0006]其中,被測存儲系統(tǒng)屬性用于具體確定存儲系統(tǒng)對象,存儲系統(tǒng)類通過該屬性值唯一確定被測試的存儲系統(tǒng);
訪問方式對象,用于通過ssh或者socket方式建立測試執(zhí)行設(shè)備與被測存儲系統(tǒng)之間的通信,并傳輸存儲系統(tǒng)測試命令和接收測試命令執(zhí)行結(jié)果。該訪問方式主要包括建立連接、發(fā)送命令,接收結(jié)果、關(guān)閉連接;
日志輸出對象,用于記錄存儲系統(tǒng)測試時間以及測試結(jié)果,并輸出到html文件中;測試命令執(zhí)行方法,用于包裝不同存儲系統(tǒng)可識別命令,例如創(chuàng)建卷組以及邏輯卷;測試結(jié)果檢查方法,用于包裝不同存儲系統(tǒng)查詢方法以及輸出結(jié)果檢查方法,例如查詢卷組以及邏輯卷。[0007]所述方法步驟如下:
1)測試執(zhí)行設(shè)備根據(jù)被測存儲系統(tǒng)的屬性實例化被測存儲系統(tǒng)對象,設(shè)計出一個存儲系統(tǒng)類,
2)該存儲系統(tǒng)類在初始化時決策出訪問方式對象,建立與被測系統(tǒng)的ssh連接;如果ssh連接失敗,通過在被測存儲系統(tǒng)中建立socket服務(wù)器,建立測試執(zhí)行設(shè)備與被測系統(tǒng)連接;同時決策出日志輸出對象,包括文件名稱以及保存目錄;
3)存儲系統(tǒng)類通過ssh調(diào)用或者socket系統(tǒng)調(diào)用,調(diào)用測試命令執(zhí)行方法,執(zhí)行被測存儲系統(tǒng)可識別命令或者調(diào)用存儲I/O測試工具,完成對被測存儲系統(tǒng)的測試;
4)存儲系統(tǒng)類通過ssh調(diào)用或者socket系統(tǒng)調(diào)用,調(diào)用測試結(jié)果檢查方法,通過日志輸出對象完成測試結(jié)果的記錄,根據(jù)結(jié)果檢查的返回值判斷測試結(jié)果失敗還是成功。
[0008]測試執(zhí)行設(shè)備通過ssh方式訪問被測存儲系統(tǒng)時,測試執(zhí)行設(shè)備直接調(diào)用存儲軟件系統(tǒng)可識別命令完成對存儲軟件功能測試。
[0009]測試執(zhí)行設(shè)備通過socket通信方式訪問被測存儲系統(tǒng)時,測試執(zhí)行設(shè)備通過socket通信發(fā)送存儲軟件可以識別的命令到被測存儲系統(tǒng),被測存儲系統(tǒng)通過系統(tǒng)調(diào)用方式完成對存儲軟件功能測試。
[0010]與被測系統(tǒng)的ssh連接是通過python工具paramiko庫中SSHClient建立。
[0011]所述訪問方式對象優(yōu)先采用ssh方式訪問被測存儲系統(tǒng),當(dāng)該訪問方式嘗試重連次數(shù)ReConnetTimes次無法連接時,采用socket通信方式連接被測存儲系統(tǒng),嘗試重連次數(shù)ReConnetTimes次無法連接時,提示“無法連接測試系統(tǒng),請修復(fù)系統(tǒng),按回車[Enter]鍵重試:”。
[0012]日志輸出對象采用時間加執(zhí)行存儲軟件命令以及輸出結(jié)果的格式輸出到文件,其日志文件名格式為被測存儲系統(tǒng)加執(zhí)行時間命名。
[0013]本發(fā)明的有益效果為:采用本發(fā)明的技術(shù)方案,提供一種通用的存儲軟件測試設(shè)計方法,測試人員可以根據(jù)不同的存儲軟件系統(tǒng),修改或者擴展被測存儲系統(tǒng)類中的測試方法和結(jié)果檢查,并通過日志文件判斷各個功能測試的結(jié)果,從而判斷存儲系統(tǒng)可用性以及可靠性。由于被測存儲系統(tǒng)被設(shè)計為一個類,可以方便地通過類的多態(tài)、繼承等特性應(yīng)用在各種存儲軟件產(chǎn)品中。通用軟件測試設(shè)計方法所具有的上述優(yōu)點,大大提高了存儲軟件產(chǎn)品測試的效率,并縮短了存儲軟件的開發(fā)周期。
【專利附圖】
【附圖說明】
[0014]圖1為實現(xiàn)本發(fā)明通用存儲軟件測試設(shè)計的結(jié)構(gòu)示意圖。
【具體實施方式】
[0015]下面參照附圖,通過【具體實施方式】對本發(fā)明進(jìn)一步說明:
如圖1所示,一種通用的存儲軟件測試設(shè)計方法,包括測試執(zhí)行設(shè)備和被測存儲系統(tǒng),測試執(zhí)行設(shè)備可以為一個服務(wù)器或者一個PC,其中被測存儲系統(tǒng)實例化設(shè)計為一個存儲系統(tǒng)類,主要包括 name、host、port、password、ReConnetTimes、Rebuff 共 6 個屬性,以及訪問方式對象,日志輸出對象,測試命令執(zhí)行方法,測試結(jié)果檢查方法。
[0016]其中,name、host、port、password等屬性用于具體確定存儲系統(tǒng)對象,存儲系統(tǒng)類通過該屬性值唯一確定被測試的存儲系統(tǒng)。
[0017]訪問方式對象,用于通過ssh或者socket方式建立測試執(zhí)行設(shè)備與被測存儲系統(tǒng)之間的通信,并傳輸存儲系統(tǒng)測試命令和接收測試命令執(zhí)行結(jié)果。(該訪問方式主要包括建立連接、發(fā)送命令,接收結(jié)果、關(guān)閉連接)
日志輸出對象,用于記錄存儲系統(tǒng)測試時間以及測試結(jié)果,并輸出到html文件中。
[0018]測試命令執(zhí)行方法,用于包裝不同存儲系統(tǒng)可識別命令,例如創(chuàng)建卷組以及邏輯卷
測試結(jié)果檢查方法,用于包裝不同存儲系統(tǒng)查詢方法以及輸出結(jié)果檢查方法,例如查詢卷組以及邏輯卷。
[0019]在一個典型應(yīng)用環(huán)境中,測試執(zhí)行設(shè)備可以為一個服務(wù)器或者一個PC,根據(jù)被測存儲系統(tǒng)的host、password實例化出一個存儲系統(tǒng)類,該存儲系統(tǒng)類在初始化時決策出訪問方式對象ssh方式或者socket方式訪問被測存儲系統(tǒng),同時決策出日志輸出對象(文件名稱以及保存目錄),存儲系統(tǒng)類的運行方法通過調(diào)用測試命令執(zhí)行方法和測試結(jié)果檢查方法,完成對被測存儲系統(tǒng)的測試,并通過日志輸出對象完成測試結(jié)果的記錄,根據(jù)結(jié)果檢查的返回值判斷測試結(jié)果失敗還是成功。
[0020]在測試設(shè)計方法中,測試執(zhí)行設(shè)備通過ssh方式或socket通信方式訪問被測存儲系統(tǒng),被測存儲系統(tǒng)設(shè)計為類,便于擴展和移植。被測存儲系統(tǒng)設(shè)計為類,便于擴展到各種存儲軟件產(chǎn)品。該類的所有方法為通用的存儲系統(tǒng)測試方法以及結(jié)果檢查方法,提高存儲軟件測試腳本寫作效率,節(jié)省軟件測試腳本的開發(fā)時間,提高了測試效率,方便測試人員查看測試結(jié)果,降低了測試成本,提高軟件測試質(zhì)量,縮短產(chǎn)品開發(fā)周期,快速響應(yīng)產(chǎn)品功能開發(fā)。
【權(quán)利要求】
1.一種通用的存儲軟件測試設(shè)計方法,包括測試執(zhí)行設(shè)備和被測存儲系統(tǒng),測試執(zhí)行設(shè)備為一個服務(wù)器或者一個PC,其特征在于,被測存儲系統(tǒng)設(shè)計為一個類: a)該類包含用戶名name、主機地址Host、端口port、密碼password、重連次數(shù)ReConnetTimes、接收緩沖Rebuff共6個屬性; b)該類包含日志輸出對象和訪問方式對象; c)該類包含存儲軟件通用測試命令執(zhí)行方法和測試結(jié)果檢查方法; 測試執(zhí)行設(shè)備通過ssh方式或者socket方式,完成存儲軟件測試命令執(zhí)行和結(jié)果檢查,并輸出測試日志以及測試結(jié)果,完成對存儲軟件功能測試; 其中,被測存儲系統(tǒng)屬性用于具體確定存儲系統(tǒng)對象,存儲系統(tǒng)類通過該屬性值唯一確定被測試的存儲系統(tǒng); 訪問方式對象,用于通過ssh或者socket方式建立測試執(zhí)行設(shè)備與被測存儲系統(tǒng)之間的通信,并傳輸存儲系統(tǒng)測試命令和接收測試命令執(zhí)行結(jié)果,該訪問方式主要包括建立連接、發(fā)送命令,接收結(jié)果、關(guān)閉連接; 日志輸出對象,用于記錄存儲系統(tǒng)測試時間以及測試結(jié)果,并輸出到html文件中; 測試命令執(zhí)行方法,用于包裝不同存儲系統(tǒng)可識別命令; 測試結(jié)果檢查方法,用于包裝不同存儲系統(tǒng)查詢方法以及輸出結(jié)果檢查方法。
2.根據(jù)權(quán)利要求1所述的一種通用的存儲軟件測試設(shè)計方法,其特征在于,所述方法步驟如下: 1)測試執(zhí)行設(shè)備根據(jù)被測存儲系統(tǒng)的屬性實例化被測存儲系統(tǒng)對象,設(shè)計出一個存儲系統(tǒng)類, 2)該存儲系統(tǒng)類在初始化時決策出訪問方式對象,建立于被測系統(tǒng)的ssh連接;如果ssh連接失敗,通過在被測存儲系統(tǒng)中建立socket服務(wù)器,建立測試執(zhí)行設(shè)備與被測系統(tǒng)連接;該存儲系統(tǒng)類初始化時同時決策出日志輸出對象,包括文件名稱以及保存目錄; 3)存儲系統(tǒng)類通過ssh調(diào)用或者socket系統(tǒng)調(diào)用,調(diào)用測試命令執(zhí)行方法,執(zhí)行被測存儲系統(tǒng)可識別命令或者調(diào)用存儲I/O測試工具,完成對被測存儲系統(tǒng)的測試; 4)存儲系統(tǒng)類通過ssh調(diào)用或者socket系統(tǒng)調(diào)用,調(diào)用測試結(jié)果檢查方法,通過日志輸出對象完成測試結(jié)果的記錄,根據(jù)結(jié)果檢查的返回值判斷測試結(jié)果失敗還是成功。
3.根據(jù)權(quán)利要求2所述的一種通用的存儲軟件測試設(shè)計方法,其特征在于:測試執(zhí)行設(shè)備通過ssh方式訪問被測存儲系統(tǒng)時,測試執(zhí)行設(shè)備直接調(diào)用存儲軟件系統(tǒng)可識別命令完成對存儲軟件功能測試。
4.根據(jù)權(quán)利要求2所述的一種通用的存儲軟件測試設(shè)計方法,其特征在于:測試執(zhí)行設(shè)備通過socket通信方式訪問被測存儲系統(tǒng)時,測試執(zhí)行設(shè)備通過socket通信發(fā)送存儲軟件可以識別的命令到被測存儲系統(tǒng),被測存儲系統(tǒng)通過系統(tǒng)調(diào)用方式完成對存儲軟件功能測試。
5.根據(jù)權(quán)利要求2或3所述的一種通用的存儲軟件測試設(shè)計方法,其特征在于:與被測系統(tǒng)的ssh連接是通過python工具paramiko庫中SSHClient建立。
6.根據(jù)權(quán)利要求3或4所述的一種通用的存儲軟件測試設(shè)計方法,其特征在于:所述訪問方式對象優(yōu)先采用ssh方式訪問被測存儲系統(tǒng),當(dāng)該訪問方式嘗試ReConnetTimes次無法連接時,采用socket通信方式連接被測存儲系統(tǒng),嘗試ReConnetTimes次無法連接時,提示“無法連接測試系統(tǒng),請修復(fù)系統(tǒng),按回車[Enter]鍵重試:”。
7.根據(jù)權(quán)利要求6所述的一種通用的存儲軟件測試設(shè)計方法,其特征在于:日志輸出對象采用時間加執(zhí)行存儲軟件命令以及輸出結(jié)果的格式輸出到文件,其日志文件名格式為被測存儲系統(tǒng)加執(zhí)行時間命名。
【文檔編號】G06F9/44GK103902458SQ201410156501
【公開日】2014年7月2日 申請日期:2014年4月18日 優(yōu)先權(quán)日:2014年4月18日
【發(fā)明者】王志華, 殷雷 申請人:浪潮電子信息產(chǎn)業(yè)股份有限公司