專利名稱:基于斷點(diǎn)的自動(dòng)化測(cè)試方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信領(lǐng)域,具體而言,涉及一種基于斷點(diǎn)的自動(dòng)化測(cè)試方法及裝置。
背景技術(shù):
軟件測(cè)試,是根據(jù)軟件開發(fā)各階段的規(guī)格說明和程序的內(nèi)部結(jié)構(gòu)而精心設(shè)計(jì)一批 測(cè)試用例,并且利用上述測(cè)試用例運(yùn)行軟件,以發(fā)現(xiàn)軟件錯(cuò)誤的過程。由于軟件測(cè)試直接關(guān) 系到軟件產(chǎn)品的質(zhì)量,因而如何更加全面有效地執(zhí)行軟件測(cè)試已被越來越多的軟件測(cè)試工作者關(guān)注。自動(dòng)化測(cè)試方法,作為能夠更好輔助軟件測(cè)試的方法,在軟件測(cè)試中已占有一席 之地,目前正在逐步的完善和普及。自動(dòng)化測(cè)試一般指軟件測(cè)試的自動(dòng)化,可理解為通過執(zhí)行程序語言編制的測(cè)試腳 本、模擬測(cè)試用例、手工測(cè)試步驟,并記錄測(cè)試結(jié)果的過程。通常一個(gè)測(cè)試用例可以由一個(gè) 或多個(gè)腳本語言編寫的自動(dòng)化測(cè)試腳本實(shí)現(xiàn)。為更好的發(fā)揮自動(dòng)化測(cè)試優(yōu)勢(shì),有效的利用 測(cè)試資源和節(jié)約測(cè)試時(shí)間,通常會(huì)采用自動(dòng)化測(cè)試計(jì)劃來實(shí)現(xiàn)多個(gè)測(cè)試環(huán)境下多個(gè)測(cè)試腳 本的不間斷執(zhí)行。測(cè)試環(huán)境指對(duì)軟件系統(tǒng)進(jìn)行各類測(cè)試所基于的軟、硬件設(shè)備和配置。一般包括硬 件環(huán)境、網(wǎng)絡(luò)環(huán)境、操作系統(tǒng)環(huán)境、應(yīng)用服務(wù)器平臺(tái)環(huán)境、數(shù)據(jù)庫環(huán)境以及各種支撐環(huán)境等。目前,對(duì)自動(dòng)化測(cè)試計(jì)劃的執(zhí)行,主要采用通過腳本解釋器啟動(dòng)解析程序獲取自 動(dòng)化測(cè)試計(jì)劃中的環(huán)境參數(shù)和測(cè)試腳本內(nèi)容,然后按順序依次執(zhí)行測(cè)試腳本并記錄相關(guān)測(cè) 試數(shù)據(jù)方法。但該方法在實(shí)際應(yīng)用過程中還存在以下不足1、在測(cè)試腳本執(zhí)行期間可能會(huì)出現(xiàn)程序異常中斷的情況,而腳本解釋器在重新執(zhí) 行自動(dòng)化測(cè)試計(jì)劃時(shí),只能通過修改自動(dòng)化測(cè)試計(jì)劃中的測(cè)試腳本個(gè)數(shù)來避免以完成測(cè)試 的腳本重復(fù)執(zhí)行。2、由于有些自動(dòng)化測(cè)試腳本執(zhí)行時(shí)間很長,特別是自動(dòng)化測(cè)試腳本中包含了循環(huán) 執(zhí)行的測(cè)試步驟情況下,如果腳本執(zhí)行異常中斷,再次執(zhí)行時(shí)腳本解釋器只能從頭開始執(zhí) 行,即延長了測(cè)試時(shí)間又浪費(fèi)了測(cè)試環(huán)境。3、由于測(cè)試資源的限制,在執(zhí)行自動(dòng)化程序過程中可能會(huì)有另一緊急任務(wù)爭(zhēng)奪自 動(dòng)化測(cè)試資源,但目前自動(dòng)化腳本解釋器只能夠預(yù)先設(shè)定程序斷點(diǎn),不能實(shí)現(xiàn)暫時(shí)停止自 動(dòng)化測(cè)試,并在測(cè)試資源空閑是繼續(xù)執(zhí)行未完成測(cè)試的功能。目前,還缺乏克服上述不足的技術(shù)方案。
發(fā)明內(nèi)容
針對(duì)相關(guān)技術(shù)中存在的測(cè)試腳本解釋器只能逐條執(zhí)行腳本語句,無法對(duì)自動(dòng)化測(cè) 試計(jì)劃執(zhí)行過程進(jìn)行記錄,以及無法對(duì)未執(zhí)行完成的自動(dòng)化測(cè)試計(jì)劃由斷點(diǎn)位置恢復(fù)執(zhí)行 的問題而提出本發(fā)明,為此,本發(fā)明的主要目的在于提供一種改進(jìn)的基于斷點(diǎn)的測(cè)試方法 及裝置,以解決上述問題至少之一。
根據(jù)本發(fā)明的一個(gè)方面,提供了一種基于斷點(diǎn)的自動(dòng)化測(cè)試方法。根據(jù)本發(fā)明的基于斷點(diǎn)的自動(dòng)化測(cè)試方法包括在當(dāng)前測(cè)試計(jì)劃執(zhí)行期間,存儲(chǔ) 測(cè)試進(jìn)度信息,并將斷點(diǎn)所在的測(cè)試進(jìn)度信息作為斷點(diǎn)信息,其中,斷點(diǎn)信息包括測(cè)試場(chǎng) 景信息、測(cè)試腳本信息;獲取斷點(diǎn)信息,并在斷點(diǎn)信息所指示的位置繼續(xù)進(jìn)行當(dāng)前測(cè)試計(jì) 劃。根據(jù)本發(fā)明的另一方面,提供了一種基于斷點(diǎn)的自動(dòng)化測(cè)試裝置。根據(jù)本發(fā)明的基于斷點(diǎn)的自動(dòng)化測(cè)試裝置包括存儲(chǔ)單元、獲取單元、執(zhí)行單元, 其中,存儲(chǔ)單元,用于在當(dāng)前測(cè)試計(jì)劃執(zhí)行期間,存儲(chǔ)測(cè)試進(jìn)度信息,其中,測(cè)試進(jìn)度信息包 括斷點(diǎn)信息,斷點(diǎn)信息包括測(cè)試場(chǎng)景信息、測(cè)試腳本信息;獲取單元,用于從存儲(chǔ)單元中 獲取斷點(diǎn)信息;執(zhí)行單元,用于在斷點(diǎn)信息所指示的位置繼續(xù)進(jìn)行當(dāng)前測(cè)試計(jì)劃。通過本發(fā)明,在當(dāng)前測(cè)試計(jì)劃執(zhí)行期間,存儲(chǔ)測(cè)試進(jìn)度信息,將斷點(diǎn)所在的測(cè)試進(jìn) 度信息作為斷點(diǎn)信息,獲取上述斷點(diǎn)信息,并在斷點(diǎn)信息所指示的位置繼續(xù)進(jìn)行當(dāng)前測(cè)試 計(jì)劃。解決了相關(guān)技術(shù)中存在的測(cè)試腳本解釋器只能逐條執(zhí)行腳本語句,無法對(duì)自動(dòng)化測(cè) 試計(jì)劃執(zhí)行過程進(jìn)行記錄,以及無法對(duì)未執(zhí)行完成的自動(dòng)化測(cè)試計(jì)劃由斷點(diǎn)位置恢復(fù)執(zhí)行 的問題,進(jìn)而可以對(duì)測(cè)試腳本執(zhí)行進(jìn)度信息記錄,并能對(duì)未正常執(zhí)行完成的自動(dòng)化測(cè)試計(jì) 劃,實(shí)現(xiàn)精確到測(cè)試步驟和循環(huán)變量的恢復(fù)。本發(fā)明的其它特征和優(yōu)點(diǎn)將在隨后的說明書中闡述,并且,部分地從說明書中變 得顯而易見,或者通過實(shí)施本發(fā)明而了解。本發(fā)明的目的和其他優(yōu)點(diǎn)可通過在所寫的說明 書、權(quán)利要求書、以及附圖中所特別指出的結(jié)構(gòu)來實(shí)現(xiàn)和獲得。
此處所說明的附圖用來提供對(duì)本發(fā)明的進(jìn)一步理解,構(gòu)成本申請(qǐng)的一部分,本發(fā) 明的示意性實(shí)施例及其說明用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的不當(dāng)限定。在附圖中圖1為自動(dòng)化測(cè)試計(jì)劃的結(jié)構(gòu)示意圖;圖2為根據(jù)本發(fā)明實(shí)施例的基于斷點(diǎn)的自動(dòng)化測(cè)試方法的流程圖;圖3為根據(jù)本發(fā)明優(yōu)選實(shí)施例的基于斷點(diǎn)的自動(dòng)化測(cè)試方法的詳細(xì)流程圖;圖4為根據(jù)本發(fā)明優(yōu)選實(shí)施例的基于斷點(diǎn)的自動(dòng)化測(cè)試方法中斷點(diǎn)腳本解析的 流程圖;圖5為根據(jù)本發(fā)明優(yōu)選實(shí)施例的基于斷點(diǎn)的自動(dòng)化測(cè)試方法中保存斷點(diǎn)信息的 流程圖;圖6為根據(jù)本發(fā)明實(shí)施例的基于斷點(diǎn)的自動(dòng)化測(cè)試裝置的結(jié)構(gòu)框圖;圖7為根據(jù)本發(fā)明優(yōu)選實(shí)施例的基于斷點(diǎn)的自動(dòng)化測(cè)試裝置的結(jié)構(gòu)框圖。
具體實(shí)施例方式功能概述考慮到相關(guān)技術(shù)中存在的測(cè)試腳本解釋器只能逐條執(zhí)行腳本語句,無法對(duì)自動(dòng)化 測(cè)試計(jì)劃執(zhí)行過程進(jìn)行記錄,以及無法對(duì)未執(zhí)行完成的自動(dòng)化測(cè)試計(jì)劃由斷點(diǎn)位置恢復(fù)執(zhí) 行的問題,本發(fā)明實(shí)施例提供了一種通過模塊化的自動(dòng)化測(cè)試計(jì)劃設(shè)計(jì)與自動(dòng)化測(cè)試解析 程序,對(duì)自動(dòng)化測(cè)試計(jì)劃執(zhí)行邏輯的控制實(shí)現(xiàn)自動(dòng)化測(cè)試斷點(diǎn)執(zhí)行方法。其中,在自動(dòng)化測(cè)試解析程序中擴(kuò)展了存儲(chǔ)主執(zhí)行數(shù)據(jù)文件的單元,用以記錄解析程序所執(zhí)行的自動(dòng)化測(cè)試 計(jì)劃進(jìn)度信息,包括自動(dòng)化測(cè)試計(jì)劃是否執(zhí)行完成、測(cè)試計(jì)劃斷點(diǎn)信息和日志路徑等內(nèi)容; 還擴(kuò)展了斷點(diǎn)信息存取程序和斷點(diǎn)執(zhí)行程序,其中,斷點(diǎn)信息存取程序,在解析程序執(zhí)行自 動(dòng)化測(cè)試計(jì)劃的過程中,將每一個(gè)執(zhí)行進(jìn)度信息的改變記錄在主執(zhí)行數(shù)據(jù)文件中,當(dāng)自動(dòng) 化程序中止時(shí),上述信息可以作為該測(cè)試計(jì)劃的斷點(diǎn)信息,在下一次執(zhí)行同一測(cè)試計(jì)劃時(shí), 由主執(zhí)行數(shù)據(jù)文件中讀取斷點(diǎn)信息供斷點(diǎn)執(zhí)行模塊使用;斷點(diǎn)執(zhí)行程序,是實(shí)現(xiàn)測(cè)試計(jì)劃 由斷點(diǎn)位置恢復(fù)測(cè)試的核心程序,主要功能包括確定斷點(diǎn)腳本位置,恢復(fù)測(cè)試腳本環(huán)境,執(zhí) 行斷點(diǎn)測(cè)試步驟。本發(fā)明自動(dòng)化測(cè)試計(jì)劃斷點(diǎn)執(zhí)行方法通過上各模塊間相互關(guān)聯(lián)和邏輯控制實(shí)現(xiàn), 具體如下啟動(dòng)解析程序執(zhí)行一個(gè)自動(dòng)化測(cè)試計(jì)劃,讀取自動(dòng)化測(cè)試計(jì)劃內(nèi)容。如果該自動(dòng) 化測(cè)試計(jì)劃未執(zhí)行完成,提示用戶選擇是否由斷點(diǎn)處執(zhí)行。進(jìn)行斷點(diǎn)處執(zhí)行時(shí),讀取主執(zhí)行 數(shù)據(jù)文件斷點(diǎn)字段內(nèi)容,否則將斷點(diǎn)字段賦為空。在進(jìn)入自動(dòng)化測(cè)試斷點(diǎn)執(zhí)行階段后,將當(dāng) 前執(zhí)行腳本列表設(shè)為斷點(diǎn)所在及斷點(diǎn)后測(cè)試腳本。執(zhí)行斷點(diǎn)所在腳本時(shí),首先執(zhí)行初始化 步驟恢復(fù)測(cè)試環(huán)境,然后跳轉(zhuǎn)到中斷步驟開始執(zhí)行并對(duì)腳本中的循環(huán)參數(shù)根據(jù)斷點(diǎn)信息重 新進(jìn)行賦值。每當(dāng)自動(dòng)化測(cè)試執(zhí)行到一個(gè)新的進(jìn)度時(shí),即變換場(chǎng)景、測(cè)試腳本改變和執(zhí)行一 個(gè)測(cè)試步驟等,斷點(diǎn)信息存取模塊會(huì)將包括測(cè)試腳本、測(cè)試步驟、循環(huán)量等斷點(diǎn)信息記錄到 主執(zhí)行數(shù)據(jù)文件中。測(cè)試計(jì)劃全部執(zhí)行完成后,在主執(zhí)行數(shù)據(jù)文件寫入完成標(biāo)識(shí)。需要說明的是,在不沖突的情況下,本申請(qǐng)中的實(shí)施例及實(shí)施例中的特征可以相 互組合。下面將參考附圖并結(jié)合實(shí)施例來詳細(xì)說明本發(fā)明。為實(shí)現(xiàn)對(duì)測(cè)試中斷點(diǎn)的精確定位,本發(fā)明采用了模塊化結(jié)構(gòu)實(shí)現(xiàn)一個(gè)自動(dòng)化測(cè)試 過程。圖1為自動(dòng)化測(cè)試計(jì)劃模塊以及解析程序模塊的結(jié)構(gòu)示意圖,如圖1所示,根據(jù)實(shí)際 測(cè)試的需要,該自動(dòng)化測(cè)試計(jì)劃可以包括以下模塊自動(dòng)化測(cè)試計(jì)劃、自動(dòng)化測(cè)試場(chǎng)景、自 動(dòng)化測(cè)試腳本等。其中,每個(gè)自動(dòng)化測(cè)試腳本進(jìn)一步包括初始化步驟和各測(cè)試步驟。以下 結(jié)合圖1描述各模塊構(gòu)成與功能自動(dòng)化測(cè)試計(jì)劃中包含了數(shù)個(gè)測(cè)試場(chǎng)景(圖中示出了 2個(gè),自動(dòng)化測(cè)試場(chǎng)景1、2) 及測(cè)試場(chǎng)景對(duì)應(yīng)的數(shù)個(gè)自動(dòng)化測(cè)試腳本列表(圖中示出了 3個(gè),自動(dòng)化測(cè)試腳本1、2、3),解 析程序根據(jù)自動(dòng)化測(cè)試計(jì)劃內(nèi)容依次執(zhí)行測(cè)試腳本。自動(dòng)化測(cè)試腳本由數(shù)個(gè)自動(dòng)化測(cè)試步驟構(gòu)成,測(cè)試步驟一般按測(cè)試用例步驟和實(shí) 現(xiàn)某種功能原則劃分,至少應(yīng)包括一個(gè)初始化步驟、一個(gè)結(jié)束步驟和中間步驟,每一個(gè)測(cè)試 步驟都可以解析出唯一標(biāo)識(shí)用作執(zhí)行和斷點(diǎn)標(biāo)記。測(cè)試步驟(圖中示出初始化步驟、步驟1、步驟2.....步驟N、以及結(jié)束步驟)包
含數(shù)個(gè)函數(shù)體、能夠指示下一測(cè)試步驟的標(biāo)識(shí)和循環(huán)測(cè)試步驟標(biāo)識(shí)。其中,循環(huán)測(cè)試步驟的實(shí)現(xiàn)方式又分為靜態(tài)循環(huán)和動(dòng)態(tài)循環(huán)兩種模式,該兩種模 式在測(cè)試步驟中使用不同的循環(huán)標(biāo)識(shí)量識(shí)別。靜態(tài)循環(huán)是指在自動(dòng)化腳本編寫中普遍常用并且是通過依次執(zhí)行循環(huán)列表內(nèi)容 直到列表結(jié)束來實(shí)現(xiàn)循環(huán)功能,例如,常用的網(wǎng)元端口列表、Modem端口列表和環(huán)路端口列 表的循環(huán),靜態(tài)循環(huán)主要構(gòu)成元素示例表 權(quán)利要求
一種基于斷點(diǎn)的自動(dòng)化測(cè)試方法,其特征在于,包括在當(dāng)前測(cè)試計(jì)劃執(zhí)行期間,存儲(chǔ)測(cè)試進(jìn)度信息,并將斷點(diǎn)所在的測(cè)試進(jìn)度信息作為斷點(diǎn)信息,其中,所述斷點(diǎn)信息包括測(cè)試場(chǎng)景信息、測(cè)試腳本信息;獲取所述斷點(diǎn)信息,并在所述斷點(diǎn)信息所指示的位置繼續(xù)進(jìn)行所述當(dāng)前測(cè)試計(jì)劃。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述測(cè)試進(jìn)度信息包括測(cè)試計(jì)劃名、測(cè)試日志信息、當(dāng)前測(cè)試場(chǎng)景信息、當(dāng)前測(cè)試腳本信息、靜態(tài)循環(huán)標(biāo)識(shí)、動(dòng) 態(tài)循環(huán)標(biāo)識(shí)。
3.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述在所述斷點(diǎn)信息所指示的位置繼 續(xù)進(jìn)行所述當(dāng)前自動(dòng)化測(cè)試包括執(zhí)行所述測(cè)試場(chǎng)景信息所指示的測(cè)試場(chǎng)景,根據(jù)所述斷點(diǎn)信息對(duì)所述測(cè)試場(chǎng)景信息中 的環(huán)境變量進(jìn)行賦值;執(zhí)行所述測(cè)試腳本信息所指示的測(cè)試腳本。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,執(zhí)行所述測(cè)試腳本信息所指示的測(cè)試腳 本包括通過調(diào)度所述測(cè)試腳本中的初始化程序?qū)λ鰷y(cè)試腳本進(jìn)行初始化操作; 從所述測(cè)試腳本信息所指示的測(cè)試腳本的中斷步驟開始執(zhí)行測(cè)試,并對(duì)所述測(cè)試腳本 信息中的循環(huán)參數(shù)進(jìn)行賦值。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,從所述測(cè)試腳本信息所指示的測(cè)試腳本 的中斷步驟開始執(zhí)行測(cè)試包括如果所述中斷步驟存在循環(huán)步驟,且所述循環(huán)步驟為動(dòng)態(tài)循環(huán),則獲取所述動(dòng)態(tài)循環(huán) 中的斷點(diǎn)內(nèi)容,并從所述斷點(diǎn)內(nèi)容開始執(zhí)行所述中斷步驟;如果所述中斷步驟不存在循環(huán)步驟,或者存在循環(huán)步驟但所述循環(huán)步驟不是動(dòng)態(tài)循 環(huán),則執(zhí)行所述中斷步驟。
6.根據(jù)權(quán)利要求2所述的方法,其特征在于,獲取了所述斷點(diǎn)信息之后,所述方法還包括對(duì)所述測(cè)試計(jì)劃名和所述測(cè)試日志信息進(jìn)行存儲(chǔ)。
7.根據(jù)權(quán)利要求3所述的方法,其特征在于,在根據(jù)所述斷點(diǎn)信息將所述測(cè)試場(chǎng)景信 息中的環(huán)境變量進(jìn)行賦值之后,所述方法還包括對(duì)進(jìn)行環(huán)境變量賦值后的所述當(dāng)前測(cè)試場(chǎng)景信息進(jìn)行存儲(chǔ)。
8.一種基于斷點(diǎn)的自動(dòng)化測(cè)試裝置,其特征在于,包括存儲(chǔ)單元,用于在當(dāng)前測(cè)試計(jì)劃執(zhí)行期間,存儲(chǔ)測(cè)試進(jìn)度信息,其中,所述測(cè)試進(jìn)度信 息包括斷點(diǎn)信息,所述斷點(diǎn)信息包括測(cè)試場(chǎng)景信息、測(cè)試腳本信息; 獲取單元,用于從所述存儲(chǔ)單元中獲取所述斷點(diǎn)信息; 執(zhí)行單元,用于在所述斷點(diǎn)信息所指示的位置繼續(xù)進(jìn)行所述當(dāng)前測(cè)試計(jì)劃。
9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述執(zhí)行單元包括場(chǎng)景執(zhí)行子單元,用于執(zhí)行所述測(cè)試場(chǎng)景信息所指示的測(cè)試場(chǎng)景,根據(jù)所述斷點(diǎn)信息 對(duì)所述測(cè)試場(chǎng)景信息中的環(huán)境變量進(jìn)行賦值;腳本執(zhí)行子單元,用于執(zhí)行所述測(cè)試腳本信息所指示的測(cè)試腳本。
10.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述腳本執(zhí)行子單元包括初始化模塊,用于通過調(diào)度所述測(cè)試腳本中的初始化程序?qū)λ鰷y(cè)試腳本進(jìn)行初始化 操作;執(zhí)行模塊,用于從所述測(cè)試腳本信息所指示的測(cè)試腳本的中斷步驟開始執(zhí)行測(cè)試,并 對(duì)所述測(cè)試腳本信息中的循環(huán)參數(shù)進(jìn)行賦值。
11.根據(jù)權(quán)利要求10所述的裝置,其特征在于,所述執(zhí)行模塊包括 判斷子模塊,用于判斷所述中斷步驟是否存在循環(huán)步驟,并在存在循環(huán)步驟的情況下, 判斷所述循環(huán)步驟是否為動(dòng)態(tài)循環(huán);獲取子模塊,用于獲取所述動(dòng)態(tài)循環(huán)中的斷點(diǎn)內(nèi)容; 執(zhí)行子模塊,用于從所述斷點(diǎn)內(nèi)容開始執(zhí)行所述中斷步驟。
全文摘要
本發(fā)明公開了一種基于斷點(diǎn)的自動(dòng)化測(cè)試方法及裝置,上述方法包括在當(dāng)前測(cè)試計(jì)劃執(zhí)行期間,存儲(chǔ)測(cè)試進(jìn)度信息,并將斷點(diǎn)所在的測(cè)試進(jìn)度信息作為斷點(diǎn)信息,其中,斷點(diǎn)信息包括測(cè)試場(chǎng)景信息、測(cè)試腳本信息;獲取斷點(diǎn)信息,并在斷點(diǎn)信息所指示的位置繼續(xù)進(jìn)行當(dāng)前測(cè)試計(jì)劃。根據(jù)本發(fā)明提供的技術(shù)方案,可以對(duì)測(cè)試腳本執(zhí)行進(jìn)度信息記錄,并能對(duì)未正常執(zhí)行完成的自動(dòng)化測(cè)試計(jì)劃,實(shí)現(xiàn)精確到測(cè)試步驟和循環(huán)變量的恢復(fù)。
文檔編號(hào)G06F11/36GK101989225SQ20091016085
公開日2011年3月23日 申請(qǐng)日期2009年7月29日 優(yōu)先權(quán)日2009年7月29日
發(fā)明者臧月琦, 陸新華 申請(qǐng)人:中興通訊股份有限公司