本發(fā)明涉及到存儲(chǔ)軟件系統(tǒng)的測(cè)試技術(shù)領(lǐng)域,特別設(shè)計(jì)一種存儲(chǔ)系統(tǒng)的自動(dòng)化測(cè)試腳本及測(cè)試的方法;具有測(cè)試效率高、測(cè)試質(zhì)量可靠性高、縮短驗(yàn)證周期的優(yōu)點(diǎn)。
背景技術(shù):
現(xiàn)有技術(shù)中的存儲(chǔ)軟件系統(tǒng)支持raid0、raid1、raid5等多種類型的raid、邏輯卷及快照擴(kuò)容、遠(yuǎn)程鏡像等多種功能,但是需要成千甚至上萬的測(cè)試用例來保證每個(gè)模塊的功能,有些還需要通過手動(dòng)執(zhí)行每個(gè)測(cè)試用例,存在著測(cè)試效率低下、驗(yàn)證周期長,又無法保證存儲(chǔ)系統(tǒng)的測(cè)試質(zhì)量可靠性的問題。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的就是為解決現(xiàn)有技術(shù)存在的上述問題,提供一種存儲(chǔ)系統(tǒng)的自動(dòng)化腳本;特別是在存儲(chǔ)系統(tǒng)功能眾多、測(cè)試用例數(shù)量龐大,本發(fā)明通過自動(dòng)化測(cè)試腳本達(dá)到了測(cè)試效率高、測(cè)試質(zhì)量可靠性高、縮短驗(yàn)證周期的效果。
本發(fā)明還提供一種利用自動(dòng)化測(cè)試腳本對(duì)存儲(chǔ)系統(tǒng)自動(dòng)化測(cè)試的方法。
本發(fā)明解決技術(shù)問題的技術(shù)方案為:
一種存儲(chǔ)系統(tǒng)的自動(dòng)化測(cè)試腳本(testscript),所述的自動(dòng)化測(cè)試腳本是根據(jù)excel形式的測(cè)試用例設(shè)計(jì),采用腳本語言ruby編寫對(duì)被測(cè)存儲(chǔ)系統(tǒng)進(jìn)行測(cè)試,包括用例屬性模塊、測(cè)試體模塊;
所述用例屬性模塊主要包括number信息模塊、name信息模塊、description信息模塊、level信息模塊;
所述測(cè)試體模塊包括預(yù)處理模塊、測(cè)試內(nèi)容模塊、后置處理模塊、容錯(cuò)處理模塊,通過預(yù)處理模塊、測(cè)試內(nèi)容模塊、后置處理模塊按照測(cè)試步驟對(duì)被測(cè)存儲(chǔ)系統(tǒng)進(jìn)行測(cè)試;
所述容錯(cuò)處理模塊包括預(yù)處理revert模塊、后置處理revert模塊,利用處理revert模塊、后置處理revert模塊,通過若干revert步驟實(shí)現(xiàn)在某個(gè)操作步驟失敗時(shí)、將該步驟及其之前的步驟進(jìn)行恢復(fù)操作,采用倒序執(zhí)行,然后將各個(gè)測(cè)試步驟、revert步驟與公共行為集連接。
一種利用自動(dòng)化測(cè)試腳本對(duì)存儲(chǔ)系統(tǒng)自動(dòng)化測(cè)試的方法,包括以下步驟:
1)自動(dòng)化測(cè)試腳本通過telnet或者ssh方式遠(yuǎn)程登錄被測(cè)存儲(chǔ)系統(tǒng)的測(cè)試體,登錄成功通過預(yù)處理模塊進(jìn)入預(yù)處理步驟,登錄失敗進(jìn)行異常處理并結(jié)束測(cè)試;
2)通過預(yù)處理步驟完成系統(tǒng)登錄及檢查、變量初始化工作;
3)預(yù)處理步驟執(zhí)行正確后進(jìn)入用例的核心內(nèi)容即測(cè)試步驟;預(yù)處理失敗后進(jìn)行異常處理,將預(yù)處理步驟前已完成的步驟進(jìn)行revert操作并結(jié)束測(cè)試;
4)所述測(cè)試步驟包括:將測(cè)試點(diǎn)分為若干個(gè)測(cè)試步驟,其中的每個(gè)步驟都會(huì)有一個(gè)checkpoint,所有步驟的checkpoint都檢查通過后整個(gè)用例才是通過,否則為失?。划?dāng)checkpoint未通過檢查使操作失敗時(shí)進(jìn)行異常處理,將該步驟及其之前的步驟進(jìn)行revert恢復(fù)操作,采用倒序執(zhí)行;
5)通過后置處理完成腳本正常執(zhí)行完畢后對(duì)存儲(chǔ)設(shè)備所做的操作進(jìn)行恢復(fù),使設(shè)備恢復(fù)到用例執(zhí)行前的狀態(tài);過后置處理未通過檢查使操作失敗時(shí)進(jìn)行異常處理,將該步驟及其之前的步驟進(jìn)行revert恢復(fù)操作,采用倒序執(zhí)行。
本發(fā)明的有益效果:
1.本發(fā)明通過自動(dòng)化腳本提升了測(cè)試效率,縮短測(cè)試周期,特別適用于在存儲(chǔ)系統(tǒng)功能眾多、測(cè)試用例數(shù)量龐大的環(huán)境,本發(fā)明的自動(dòng)化測(cè)試腳本具有測(cè)試效率高、測(cè)試質(zhì)量可靠性高、縮短驗(yàn)證周期的優(yōu)點(diǎn)。
2.腳本結(jié)構(gòu)中增加了容錯(cuò)處理,自動(dòng)對(duì)設(shè)備進(jìn)行恢復(fù)處理。
附圖說明
圖1為發(fā)明的腳本的結(jié)構(gòu)示意圖。
圖2為本發(fā)明的testscript執(zhí)行示意圖。
具體實(shí)施方式
為了更好地理解本發(fā)明,下面結(jié)合附圖來詳細(xì)解釋本發(fā)明的實(shí)施方式。
結(jié)合圖1,圖2,一種存儲(chǔ)系統(tǒng)的自動(dòng)化測(cè)試腳本(testscript),所述的自動(dòng)化測(cè)試腳本是根據(jù)excel形式的測(cè)試用例設(shè)計(jì),采用腳本語言ruby編寫對(duì)被測(cè)存儲(chǔ)系統(tǒng)進(jìn)行測(cè)試,包括用例屬性模塊、測(cè)試體模塊;
所述用例屬性模塊主要包括number信息、name信息、description信息、level信息等基本信息模塊;
所述測(cè)試體模塊包括預(yù)處理模塊、測(cè)試內(nèi)容模塊、后置處理模塊、容錯(cuò)處理模塊,通過預(yù)處理模塊、測(cè)試內(nèi)容模塊、后置處理模塊按照測(cè)試步驟對(duì)被測(cè)存儲(chǔ)系統(tǒng)進(jìn)行測(cè)試;
所述容錯(cuò)處理模塊包括預(yù)處理revert模塊、后置處理revert模塊,利用處理revert模塊、后置處理revert模塊,通過若干revert步驟實(shí)現(xiàn)在某個(gè)操作步驟失敗時(shí)、將該步驟及其之前的步驟進(jìn)行恢復(fù)操作,采用倒序執(zhí)行,然后將各個(gè)測(cè)試步驟、revert步驟與公共行為集連接。
一種利用自動(dòng)化測(cè)試腳本對(duì)存儲(chǔ)系統(tǒng)自動(dòng)化測(cè)試的方法,包括以下步驟:
1)自動(dòng)化測(cè)試腳本通過telnet或者ssh方式遠(yuǎn)程登錄被測(cè)存儲(chǔ)系統(tǒng)的測(cè)試體,登錄成功通過預(yù)處理模塊進(jìn)入預(yù)處理步驟,登錄失敗進(jìn)行異常處理并結(jié)束測(cè)試;
2)通過預(yù)處理步驟完成系統(tǒng)登錄及檢查、變量初始化等工作;
3)預(yù)處理步驟執(zhí)行正確后進(jìn)入用例的核心內(nèi)容即測(cè)試步驟;預(yù)處理失敗后進(jìn)行異常處理,將預(yù)處理步驟前已完成的步驟進(jìn)行revert操作并結(jié)束測(cè)試;
4)所述測(cè)試步驟包括:將測(cè)試點(diǎn)分為n個(gè)測(cè)試步驟,n個(gè)可以是一個(gè)或者多個(gè),其中的每個(gè)步驟都會(huì)有一個(gè)checkpoint,所有步驟的checkpoint都檢查通過后整個(gè)用例才是通過,否則為失?。划?dāng)checkpoint未通過檢查使操作失敗時(shí)進(jìn)行異常處理,將該步驟及其之前的步驟進(jìn)行revert恢復(fù)操作,采用倒序執(zhí)行;
5)通過后置處理完成腳本正常執(zhí)行完畢后對(duì)存儲(chǔ)設(shè)備所做的操作進(jìn)行恢復(fù),使設(shè)備恢復(fù)到用例執(zhí)行前的狀態(tài);過后置處理未通過檢查使操作失敗時(shí)進(jìn)行異常處理,將該步驟及其之前的步驟進(jìn)行revert恢復(fù)操作,采用倒序執(zhí)行。
上述雖然結(jié)合附圖對(duì)發(fā)明的具體實(shí)施方式進(jìn)行了描述,但并非對(duì)本發(fā)明保護(hù)范圍的限制,在本發(fā)明的技術(shù)方案的基礎(chǔ)上,本領(lǐng)域技術(shù)人員不需要付出創(chuàng)造性勞動(dòng)即可做出的各種修改或變形仍在本發(fā)明的保護(hù)范圍以內(nèi)。