專(zhuān)利名稱(chēng):調(diào)試自動(dòng)化測(cè)試腳本的方法和系統(tǒng)及代理裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明實(shí)施例涉及測(cè)試技術(shù),尤其涉及調(diào)試自動(dòng)化測(cè)試腳本的方法和系統(tǒng)及代理
直O(jiān)
背景技術(shù):
在測(cè)試領(lǐng)域中,為了提高測(cè)試的效率和測(cè)試覆蓋面,通常使用自動(dòng)化測(cè)試代替手 工測(cè)試執(zhí)行。自動(dòng)化測(cè)試一般使用自動(dòng)化測(cè)試腳本對(duì)測(cè)試儀器和被測(cè)設(shè)備進(jìn)行相應(yīng)的設(shè) 置,再由測(cè)試設(shè)備執(zhí)行對(duì)被測(cè)設(shè)備各種功能、性能進(jìn)行驗(yàn)證。初始生成的自動(dòng)化測(cè)試腳本不 能直接用于項(xiàng)目測(cè)試,自動(dòng)化測(cè)試腳本中會(huì)有很多錯(cuò)誤,因此需要對(duì)自動(dòng)化測(cè)試腳本進(jìn)行
調(diào)試ο圖1是現(xiàn)有技術(shù)中調(diào)試自動(dòng)化測(cè)試腳本的系統(tǒng)示意圖。圖2是現(xiàn)有技術(shù)中調(diào)試自 動(dòng)化測(cè)試腳本的流程圖。參見(jiàn)圖1和圖2,在現(xiàn)有技術(shù)中,首先需要搭建調(diào)試自動(dòng)化測(cè)試腳 本的系統(tǒng),該系統(tǒng)包括函數(shù)庫(kù)、腳本調(diào)試模塊、測(cè)試儀器和被測(cè)設(shè)備,利用該系統(tǒng)調(diào)試自動(dòng) 化測(cè)試腳本的過(guò)程包括如下步驟步驟201 腳本調(diào)試模塊加載當(dāng)前需調(diào)試的測(cè)試腳本的參數(shù),生成環(huán)境配置信息。步驟202 腳本調(diào)試模塊分別與測(cè)試儀器和被測(cè)設(shè)備建立連接。步驟203 腳本調(diào)試模塊對(duì)測(cè)試儀器進(jìn)行配置,以及對(duì)被測(cè)設(shè)備進(jìn)行配置。步驟204 被測(cè)設(shè)備將配置結(jié)果作為實(shí)測(cè)結(jié)果返回給腳本調(diào)試模塊。步驟205 測(cè)試設(shè)備執(zhí)行對(duì)被測(cè)設(shè)備各種功能、性能進(jìn)行驗(yàn)證,得到實(shí)測(cè)結(jié)果,并 返回給腳本調(diào)試模塊。步驟206 腳本調(diào)試模塊根據(jù)被測(cè)設(shè)備和測(cè)試儀器返回的實(shí)測(cè)結(jié)果確定當(dāng)前的自 動(dòng)化測(cè)試腳本是否出錯(cuò)。由以上描述可以看出,現(xiàn)有技術(shù)調(diào)試自動(dòng)化測(cè)試腳本時(shí),必須搭建自動(dòng)化測(cè)試的 物理環(huán)境,連接被測(cè)設(shè)備和測(cè)試儀器進(jìn)行腳本調(diào)試,這樣,每一個(gè)自動(dòng)化測(cè)試腳本的調(diào)試都 必須分別占用一套被測(cè)設(shè)備和測(cè)試儀器,造成了被測(cè)設(shè)備和測(cè)試儀器的資源緊張,成本大 幅上升,進(jìn)而使得調(diào)試效率低下,影響了腳本產(chǎn)出效率。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例提供調(diào)試自動(dòng)化測(cè)試腳本的方法和系統(tǒng)及代理裝置,能夠解決被測(cè) 設(shè)備和測(cè)試儀器資源緊張的問(wèn)題。本發(fā)明實(shí)施例提供的調(diào)試自動(dòng)化測(cè)試腳本的方法,包括從腳本執(zhí)行服務(wù)器獲取命令執(zhí)行結(jié)果;從函數(shù)庫(kù)獲取函數(shù)的數(shù)據(jù)結(jié)構(gòu);根據(jù)獲取的命令執(zhí)行結(jié)果和函數(shù)的數(shù)據(jù)結(jié)構(gòu),對(duì)測(cè)試腳本的命令和函數(shù)調(diào)用進(jìn)行 錯(cuò)誤檢查。本發(fā)明實(shí)施例提供的代理裝置,包括
4
信息獲取模塊,用于從腳本執(zhí)行服務(wù)器獲取命令執(zhí)行結(jié)果,從函數(shù)庫(kù)獲取函數(shù)的 數(shù)據(jù)結(jié)構(gòu);調(diào)試代理執(zhí)行模塊,用于根據(jù)獲取的命令執(zhí)行結(jié)果和函數(shù)的數(shù)據(jù)結(jié)構(gòu),對(duì)測(cè)試腳 本的命令和函數(shù)調(diào)用進(jìn)行錯(cuò)誤檢查處理。本發(fā)明實(shí)施例提供的調(diào)試自動(dòng)化測(cè)試腳本的系統(tǒng),包括本發(fā)明實(shí)施例提供的代 理裝置,以及,信息存儲(chǔ)模塊,用于存儲(chǔ)信息獲取模塊獲取的命令執(zhí)行結(jié)果以及函數(shù)的數(shù)據(jù)結(jié) 構(gòu);腳本執(zhí)行服務(wù)器,用于執(zhí)行腳本的命令,得到命令執(zhí)行結(jié)果;函數(shù)庫(kù),用于保存函數(shù)的數(shù)據(jù)結(jié)構(gòu);腳本調(diào)試模塊,用于向代理裝置發(fā)送測(cè)試腳本的命令和函數(shù)調(diào)用。本發(fā)明實(shí)施例提出的調(diào)試自動(dòng)化測(cè)試腳本的方法和系統(tǒng)及代理裝置,利用已有的 腳本執(zhí)行服務(wù)器中有各命令執(zhí)行結(jié)果的特點(diǎn),直接獲取到各命令的執(zhí)行結(jié)果,這樣在腳本 調(diào)試時(shí)無(wú)需通過(guò)被測(cè)設(shè)備和測(cè)試儀器執(zhí)行命令來(lái)得到各命令的執(zhí)行結(jié)果;另外,由于可以 根據(jù)獲取的命令執(zhí)行結(jié)果和函數(shù)的數(shù)據(jù)結(jié)構(gòu),直接對(duì)測(cè)試腳本的命令和函數(shù)調(diào)用進(jìn)行錯(cuò)誤 檢查,無(wú)需使用被測(cè)設(shè)備和測(cè)試儀器通過(guò)執(zhí)行配置或命令來(lái)檢查錯(cuò)誤,因此,實(shí)現(xiàn)了無(wú)需使 用被測(cè)設(shè)備和測(cè)試儀器也能完成調(diào)試自動(dòng)化測(cè)試腳本,從而解決了被測(cè)設(shè)備和測(cè)試儀器資 源緊張的問(wèn)題,降低了成本,并且也提高了調(diào)試效率,提高了腳本產(chǎn)出效率。
為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn) 有技術(shù)描述中所需要使用的附圖作一簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖是本發(fā) 明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根 據(jù)這些附圖獲得其他的附圖。圖1是現(xiàn)有技術(shù)中調(diào)試自動(dòng)化測(cè)試腳本的系統(tǒng)示意圖;圖2是現(xiàn)有技術(shù)中調(diào)試自動(dòng)化測(cè)試腳本的流程圖;圖3是本發(fā)明實(shí)施例提出的調(diào)試自動(dòng)化測(cè)試腳本的基本流程圖;圖4是本發(fā)明實(shí)施例提出的調(diào)試自動(dòng)化測(cè)試腳本的系統(tǒng)結(jié)構(gòu)圖;圖5是在本發(fā)明一個(gè)實(shí)施例中利用本發(fā)明實(shí)施例提出的系統(tǒng)調(diào)試自動(dòng)化測(cè)試腳 本的流程圖;圖6是本發(fā)明實(shí)施例中將命令執(zhí)行結(jié)果保存到信息存儲(chǔ)模塊的示意圖;圖7是本發(fā)明實(shí)施例中將函數(shù)的數(shù)據(jù)結(jié)構(gòu)保存到信息存儲(chǔ)模塊的示意圖;圖8是本發(fā)明實(shí)施例提出的代理裝置的基本結(jié)構(gòu)圖;圖9是本發(fā)明實(shí)施例提出的代理裝置的一種優(yōu)選結(jié)構(gòu)圖。
具體實(shí)施例方式為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例 中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是 本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員
5在沒(méi)有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。在調(diào)試自動(dòng)化測(cè)試腳本時(shí),為了解決被測(cè)設(shè)備和測(cè)試儀器資源緊張的問(wèn)題,就必 須考慮一種無(wú)需使用被測(cè)設(shè)備和測(cè)試儀器也能實(shí)現(xiàn)調(diào)試的方法。因此,本發(fā)明實(shí)施例提出 了一種調(diào)試自動(dòng)化測(cè)試腳本的方法,參見(jiàn)圖3,該方法包括以下步驟步驟301 從腳本執(zhí)行服務(wù)器獲取命令執(zhí)行結(jié)果。步驟302 從函數(shù)庫(kù)獲取函數(shù)的數(shù)據(jù)結(jié)構(gòu)。步驟303 根據(jù)獲取的命令執(zhí)行結(jié)果和函數(shù)的數(shù)據(jù)結(jié)構(gòu),對(duì)測(cè)試腳本的命令和函 數(shù)調(diào)用進(jìn)行錯(cuò)誤檢查??梢?jiàn),在本發(fā)明實(shí)施例提出的方法中,利用已有的腳本執(zhí)行服務(wù)器中有各命令執(zhí) 行結(jié)果的特點(diǎn),直接獲取到各命令的執(zhí)行結(jié)果,這樣在腳本調(diào)試時(shí)無(wú)需通過(guò)被測(cè)設(shè)備和測(cè) 試儀器執(zhí)行命令來(lái)得到各命令的執(zhí)行結(jié)果;另外,由于可以根據(jù)獲取的命令執(zhí)行結(jié)果和函 數(shù)的數(shù)據(jù)結(jié)構(gòu),直接對(duì)測(cè)試腳本的命令和函數(shù)調(diào)用進(jìn)行錯(cuò)誤檢查,因此無(wú)需使用被測(cè)設(shè)備 和測(cè)試儀器通過(guò)執(zhí)行配置或命令來(lái)檢查錯(cuò)誤,因此,實(shí)現(xiàn)了無(wú)需使用被測(cè)設(shè)備和測(cè)試儀器 也能完成調(diào)試自動(dòng)化測(cè)試腳本,從而解決了被測(cè)設(shè)備和測(cè)試儀器資源緊張的問(wèn)題。本發(fā)明實(shí)施例還提出了一種調(diào)試自動(dòng)化測(cè)試腳本的系統(tǒng),參見(jiàn)圖4,該系統(tǒng)包括 腳本調(diào)試模塊、函數(shù)庫(kù)、代理裝置、信息獲取模塊和腳本執(zhí)行服務(wù)器。上述本發(fā)明實(shí)施例提 出的方法可以采用上述本發(fā)明實(shí)施例提出的系統(tǒng)來(lái)實(shí)現(xiàn)。圖5是在本發(fā)明一個(gè)實(shí)施例中利用本發(fā)明實(shí)施例提出的系統(tǒng)調(diào)試自動(dòng)化測(cè)試腳 本的流程圖。參見(jiàn)圖4和圖5,在本發(fā)明實(shí)施例的具體實(shí)現(xiàn)中,調(diào)試自動(dòng)化測(cè)試腳本的過(guò)程 包括以下步驟步驟501 代理裝置從腳本執(zhí)行服務(wù)器獲取各個(gè)命令執(zhí)行結(jié)果。在實(shí)際的業(yè)務(wù)實(shí)現(xiàn)中,現(xiàn)有的腳本執(zhí)行服務(wù)器能夠在設(shè)備上運(yùn)行各種腳本的各種 命令,并得到各個(gè)命令執(zhí)行結(jié)果。也就是說(shuō),現(xiàn)有的腳本執(zhí)行服務(wù)器中已經(jīng)存在了對(duì)各個(gè)命 令的執(zhí)行結(jié)果。而在調(diào)試自動(dòng)化測(cè)試腳本時(shí),該腳本下發(fā)的命令往往會(huì)與腳本執(zhí)行服務(wù)器 運(yùn)行的命令相同,那么,調(diào)試自動(dòng)化測(cè)試腳本時(shí)需要的命令執(zhí)行結(jié)果在腳本執(zhí)行服務(wù)器得 到的命令執(zhí)行結(jié)果中可以找到。因此,本步驟中由代理裝置從腳本執(zhí)行服務(wù)器獲取各個(gè)命 令執(zhí)行結(jié)果,以備后續(xù)調(diào)試自動(dòng)化測(cè)試腳本時(shí)直接使用。本步驟的具體實(shí)現(xiàn)過(guò)程可以包括由腳本執(zhí)行服務(wù)器周期性地將自身得到的各個(gè)命令執(zhí)行結(jié)果發(fā)送給代理裝置,使 得代理裝置從腳本執(zhí)行服務(wù)器處獲取了各個(gè)命令執(zhí)行結(jié)果;或者,也可以由腳本執(zhí)行服務(wù)器每得到一個(gè)命令執(zhí)行結(jié)果,就實(shí)時(shí)地將該命令執(zhí) 行結(jié)果發(fā)送給代理裝置,從而使得代理裝置從腳本執(zhí)行服務(wù)器處獲取了各個(gè)命令執(zhí)行結(jié) 果;或者,也可以由代理裝置定期向腳本執(zhí)行服務(wù)器發(fā)送查詢(xún)請(qǐng)求,腳本執(zhí)行服務(wù)器 接收到查詢(xún)請(qǐng)求后,將得到的命令執(zhí)行結(jié)果發(fā)送給代理裝置,從而使得代理裝置從腳本執(zhí) 行服務(wù)器處獲取了各個(gè)命令執(zhí)行結(jié)果。步驟502 代理裝置將獲取的每個(gè)命令執(zhí)行結(jié)果按照命令索引保存在信息存儲(chǔ)模 塊中,并將命令執(zhí)行結(jié)果中的參數(shù)值設(shè)置為待定值。這里,按照命令索引(比如命令的名稱(chēng))保存命令執(zhí)行結(jié)果是為了后續(xù)能夠根據(jù)
6該命令索引查找到對(duì)應(yīng)的命令的執(zhí)行結(jié)果;將命令執(zhí)行結(jié)果中的參數(shù)值設(shè)置為待定值,是 為了后續(xù)能夠根據(jù)需調(diào)試腳本的命令執(zhí)行結(jié)果要求提供滿(mǎn)足調(diào)試要求的命令執(zhí)行結(jié)果。本步驟的實(shí)現(xiàn)過(guò)程的示意圖可以參見(jiàn)圖6所示。步驟503 代理裝置從函數(shù)庫(kù)中獲取各個(gè)函數(shù)的數(shù)據(jù)結(jié)構(gòu)。步驟504:代理裝置將獲取的函數(shù)的數(shù)據(jù)結(jié)構(gòu)按照函數(shù)索引,并以預(yù)先定義的格 式保存在信息存儲(chǔ)模塊中。這里,按照函數(shù)索引(比如函數(shù)名)保存函數(shù)的數(shù)據(jù)結(jié)構(gòu)是為了后續(xù)能夠根據(jù)該 函數(shù)索引查找到對(duì)應(yīng)的函數(shù)的數(shù)據(jù)結(jié)構(gòu);預(yù)先定義的格式是需調(diào)試腳本的函數(shù)調(diào)用的正確 格式,也就是說(shuō),后續(xù)能夠根據(jù)該預(yù)先定義的格式來(lái)判斷需調(diào)試的腳本的函數(shù)調(diào)用的格式 是否出錯(cuò)。本步驟的實(shí)現(xiàn)過(guò)程的示意圖可以參見(jiàn)圖7所示。步驟505 腳本調(diào)試模塊加載當(dāng)前需調(diào)試的測(cè)試腳本的參數(shù),生成環(huán)境配置信息。本步驟中,當(dāng)前需調(diào)試的測(cè)試腳本的參數(shù)可以包括測(cè)試拓?fù)?、測(cè)試儀器類(lèi)型和產(chǎn) 品支持情況等。環(huán)境配置信息可以包括定義被測(cè)設(shè)備和測(cè)試儀器的信息,各設(shè)備之間端口的連 接關(guān)系等。步驟506 腳本調(diào)試模塊發(fā)送當(dāng)前需要調(diào)試的測(cè)試腳本的函數(shù)調(diào)用給代理裝置, 代理裝置根據(jù)測(cè)試腳本的函數(shù)調(diào)用,在信息存儲(chǔ)模塊中依據(jù)函數(shù)索引,查找到對(duì)應(yīng)的函數(shù) 的數(shù)據(jù)結(jié)構(gòu)。步驟507 代理裝置根據(jù)查找到的函數(shù)的數(shù)據(jù)結(jié)構(gòu)對(duì)測(cè)試腳本的函數(shù)調(diào)用的數(shù)據(jù) 結(jié)構(gòu)進(jìn)行錯(cuò)誤檢查,將錯(cuò)誤檢查結(jié)果返還給腳本調(diào)試模塊。本步驟中,進(jìn)行錯(cuò)誤檢查具體是指根據(jù)查找到的函數(shù)的數(shù)據(jù)結(jié)構(gòu)對(duì)測(cè)試腳本的 函數(shù)調(diào)用的結(jié)構(gòu)和是否符合規(guī)范進(jìn)行錯(cuò)誤檢查。步驟508 腳本調(diào)試模塊發(fā)送當(dāng)前需要調(diào)試的測(cè)試腳本的命令給代理裝置,代理 裝置根據(jù)測(cè)試腳本的命令,在信息存儲(chǔ)模塊中依據(jù)命令索引,查找到對(duì)應(yīng)的命令執(zhí)行結(jié)果。步驟509 代理裝置根據(jù)查找到的命令執(zhí)行結(jié)果對(duì)測(cè)試腳本的命令的數(shù)據(jù)結(jié)構(gòu)進(jìn) 行錯(cuò)誤檢查,將錯(cuò)誤檢查結(jié)果返還給腳本調(diào)試模塊。本步驟中,進(jìn)行錯(cuò)誤檢查具體是指根據(jù)查找到的命令執(zhí)行結(jié)果對(duì)測(cè)試腳本的命 令的結(jié)構(gòu)和是否符合規(guī)范進(jìn)行錯(cuò)誤檢查。至此,則完成了對(duì)需調(diào)試腳本的命令和函數(shù)調(diào)用的數(shù)據(jù)結(jié)構(gòu)的錯(cuò)誤檢查。步驟510 腳本調(diào)試模塊將命令的預(yù)期結(jié)果值發(fā)送給代理裝置。本領(lǐng)域技術(shù)人員熟知的,每一個(gè)測(cè)試腳本編寫(xiě)完成后如果能夠正確運(yùn)行,針對(duì)一 個(gè)參數(shù)都會(huì)固定得到一個(gè)參數(shù)值,即預(yù)期結(jié)果值,比如,每次運(yùn)行測(cè)試腳本1后,如果測(cè)試 腳本1正確運(yùn)行,就一定會(huì)得到參數(shù)A的值為10。因此,參數(shù)A的值為10就是該測(cè)試腳本 1的預(yù)期結(jié)果值。步驟511 代理裝置將預(yù)期結(jié)果值或其他任意值寫(xiě)入所查找到的命令執(zhí)行結(jié)果中 的參數(shù)值,得到虛擬實(shí)測(cè)結(jié)果。步驟512 代理裝置將虛擬實(shí)測(cè)結(jié)果作為測(cè)試腳本的運(yùn)行過(guò)程的輸入數(shù)據(jù),將該 輸入數(shù)據(jù)發(fā)送給腳本調(diào)試模塊。
7
步驟513 腳本調(diào)試模塊根據(jù)接收到的輸入數(shù)據(jù),對(duì)測(cè)試腳本的輸入處理運(yùn)行過(guò) 程進(jìn)行錯(cuò)誤檢查。至此,則完成了對(duì)需調(diào)試腳本的輸入處理運(yùn)行過(guò)程的錯(cuò)誤檢查。在步驟511至步驟513中,預(yù)期結(jié)果值是命令被正確執(zhí)行后應(yīng)該得到的參數(shù)的數(shù) 值,如果使用預(yù)期結(jié)果值寫(xiě)入命令執(zhí)行結(jié)果中的參數(shù)值,并得到作為輸入數(shù)據(jù)的虛擬實(shí)測(cè) 結(jié)果,那么,腳本調(diào)試模塊使用該虛擬實(shí)測(cè)結(jié)果可以檢查對(duì)正確值的輸入處理運(yùn)行過(guò)程是 否會(huì)出錯(cuò);對(duì)于其他任意值,該其他任意值是命令未被正確執(zhí)行后得到的數(shù)值,如果使用該 其他任意值寫(xiě)入命令執(zhí)行結(jié)果中的參數(shù)值,并得到作為輸入數(shù)據(jù)的虛擬實(shí)測(cè)結(jié)果,那么,腳 本調(diào)試模塊使用該虛擬實(shí)測(cè)結(jié)果可以檢查對(duì)錯(cuò)誤值的輸入處理運(yùn)行過(guò)程是否會(huì)出錯(cuò)。在上述流程中,由代理模塊生成了虛擬實(shí)測(cè)結(jié)果并返還給腳本調(diào)試模塊,其與現(xiàn) 有技術(shù)中被測(cè)設(shè)備和測(cè)試儀器返回實(shí)測(cè)結(jié)果的作用是相同的,因此,無(wú)需使用被測(cè)設(shè)備和 測(cè)試儀器也能夠調(diào)試自動(dòng)化測(cè)試腳本。上述圖5所示流程完成了對(duì)命令和函數(shù)調(diào)用的數(shù)據(jù)結(jié)構(gòu)進(jìn)行錯(cuò)誤檢查,以及對(duì)測(cè) 試腳本的輸入處理運(yùn)行過(guò)程進(jìn)行錯(cuò)誤檢查,從而實(shí)現(xiàn)了無(wú)需被測(cè)設(shè)備和測(cè)試儀器調(diào)試自動(dòng) 化測(cè)試腳本的過(guò)程。從而解決了被測(cè)設(shè)備和測(cè)試儀器資源緊張的問(wèn)題,降低了成本,并且也 提高了調(diào)試效率,提高了腳本產(chǎn)出效率。另外,需要說(shuō)明的是,上述圖5所示流程是本發(fā)明方法的一種優(yōu)選的實(shí)現(xiàn)流程,在 本發(fā)明方法的實(shí)際實(shí)現(xiàn)中,可以根據(jù)需要選擇其中的任意步驟來(lái)實(shí)現(xiàn)。比如,在本發(fā)明方法 的一種實(shí)際實(shí)現(xiàn)中,可以只執(zhí)行步驟507中對(duì)測(cè)試腳本的函數(shù)調(diào)用的結(jié)構(gòu)和是否符合規(guī)范 進(jìn)行錯(cuò)誤檢查,而默認(rèn)測(cè)試腳本的命令的結(jié)構(gòu)正確且符合規(guī)范,也就是說(shuō),不執(zhí)行步驟509 的處理;再如,在本發(fā)明方法的另一種實(shí)際實(shí)現(xiàn)中,可以只執(zhí)行步驟509中對(duì)測(cè)試腳本的命 令的結(jié)構(gòu)和是否符合規(guī)范進(jìn)行錯(cuò)誤檢查,而不執(zhí)行步驟507的處理;又如,在本發(fā)明方法的 再一種實(shí)際實(shí)現(xiàn)中,可以不執(zhí)行步驟507或者步驟509,即不執(zhí)行對(duì)函數(shù)調(diào)用和命令的結(jié)構(gòu) 及是否符合規(guī)范進(jìn)行錯(cuò)誤檢查,而只執(zhí)行步驟510至步驟513中對(duì)需調(diào)試腳本的輸入處理 運(yùn)行過(guò)程的錯(cuò)誤檢查。本發(fā)明實(shí)施例還提出了一種代理裝置,參見(jiàn)圖8,該代理裝置包括信息獲取模塊801,用于從腳本執(zhí)行服務(wù)器獲取命令執(zhí)行結(jié)果,從函數(shù)庫(kù)獲取函數(shù) 的數(shù)據(jù)結(jié)構(gòu);調(diào)試代理執(zhí)行模塊802,用于根據(jù)獲取的命令執(zhí)行結(jié)果和函數(shù)的數(shù)據(jù)結(jié)構(gòu),對(duì)測(cè)試 腳本的命令和函數(shù)調(diào)用進(jìn)行錯(cuò)誤檢查處理。參見(jiàn)圖9,在代理裝置的一個(gè)實(shí)施例中,代理裝置進(jìn)行錯(cuò)誤檢查處理的具體實(shí)現(xiàn)包括所述調(diào)試代理執(zhí)行模塊802包括數(shù)據(jù)結(jié)構(gòu)檢查子模塊901,該數(shù)據(jù)結(jié)構(gòu)檢查子模 塊901根據(jù)獲取的命令執(zhí)行結(jié)果和函數(shù)的數(shù)據(jù)結(jié)構(gòu),對(duì)測(cè)試腳本的命令的數(shù)據(jù)結(jié)構(gòu)和函數(shù) 調(diào)用的數(shù)據(jù)結(jié)構(gòu)進(jìn)行錯(cuò)誤檢查;禾口/ 或,所述調(diào)試代理執(zhí)行模塊802包括運(yùn)行過(guò)程檢查子模塊902,該運(yùn)行過(guò)程檢查子模 塊902根據(jù)獲取的命令執(zhí)行結(jié)果生成虛擬實(shí)測(cè)結(jié)果,將該虛擬實(shí)測(cè)結(jié)果作為測(cè)試腳本的運(yùn) 行過(guò)程的輸入數(shù)據(jù),將該輸入數(shù)據(jù)發(fā)送給外部的腳本調(diào)試模塊,以觸發(fā)該腳本調(diào)試模塊對(duì) 測(cè)試腳本的輸入處理運(yùn)行過(guò)程進(jìn)行錯(cuò)誤檢查。
8
參見(jiàn)圖9,在代理裝置的另一個(gè)實(shí)施例中,所述信息獲取模塊801包括命令處理子 模塊903,該命令處理子模塊903用于將獲取的命令執(zhí)行結(jié)果按照命令索引進(jìn)行存儲(chǔ),將命 令執(zhí)行結(jié)果中的參數(shù)值設(shè)置為待定值;相應(yīng)地,運(yùn)行過(guò)程檢查子模塊902包括虛擬實(shí)測(cè)結(jié)果產(chǎn)生子模塊9021,該虛擬實(shí) 測(cè)結(jié)果產(chǎn)生子模塊9021根據(jù)測(cè)試腳本的命令和所述命令索引查找到所存儲(chǔ)的對(duì)應(yīng)命令執(zhí) 行結(jié)果,將預(yù)期結(jié)果值或其他任意值寫(xiě)入所查找到的命令執(zhí)行結(jié)果中的參數(shù)值,從而生成 了虛擬實(shí)測(cè)結(jié)果。參見(jiàn)圖9,在代理裝置的又一個(gè)實(shí)施例中,所述信息獲取模塊801包括函數(shù)處理子 模塊904,該函數(shù)處理子模塊904用于將獲取的函數(shù)的數(shù)據(jù)結(jié)構(gòu)按照函數(shù)索引,并以定義的 格式進(jìn)行存儲(chǔ);相應(yīng)地,所述數(shù)據(jù)結(jié)構(gòu)檢查子模塊901包括結(jié)構(gòu)和規(guī)范檢查子模塊9011,該結(jié)構(gòu) 和規(guī)范檢查子模塊9011根據(jù)測(cè)試腳本的函數(shù)調(diào)用和所述函數(shù)索引,查找到所存儲(chǔ)的對(duì)應(yīng) 的函數(shù)的數(shù)據(jù)結(jié)構(gòu),根據(jù)查找到的函數(shù)的數(shù)據(jù)結(jié)構(gòu)對(duì)測(cè)試腳本的函數(shù)調(diào)用的結(jié)構(gòu)和是否符 合規(guī)范進(jìn)行錯(cuò)誤檢查;及,根據(jù)測(cè)試腳本的命令和所述命令索引,查找到所存儲(chǔ)的對(duì)應(yīng)的命 令執(zhí)行結(jié)果,根據(jù)查找到的命令執(zhí)行結(jié)果對(duì)測(cè)試腳本的命令的結(jié)構(gòu)和是否符合規(guī)范進(jìn)行錯(cuò) 誤檢查。需要說(shuō)明的是,上述代理裝置的各個(gè)實(shí)施例的結(jié)構(gòu)可以進(jìn)行任意組合使用。比如, 在代理裝置中,調(diào)試代理執(zhí)行模塊802中只包括數(shù)據(jù)結(jié)構(gòu)檢查子模塊901,信息獲取模塊 801中只包括命令處理子模塊903 ;再如,在代理裝置中,調(diào)試代理執(zhí)行模塊802中包括運(yùn)行 過(guò)程檢查子模塊902,且運(yùn)行過(guò)程檢查子模塊902中包括虛擬實(shí)測(cè)結(jié)果產(chǎn)生子模塊9021,信 息獲取模塊801中包括函數(shù)處理子模塊904 ;又如,在代理裝置中包括圖9所示的所有模塊 和子模塊。本發(fā)明實(shí)施例提出的代理裝置設(shè)置在腳本執(zhí)行服務(wù)器中,或者設(shè)置在腳本調(diào)試模 塊中,或者設(shè)置為獨(dú)立的物理設(shè)備。本發(fā)明實(shí)施例提出的調(diào)試自動(dòng)化測(cè)試腳本的系統(tǒng)參見(jiàn)上述圖4所示,該系統(tǒng)中, 信息存儲(chǔ)模塊,用于存儲(chǔ)信息獲取模塊獲取的命令執(zhí)行結(jié)果以及函數(shù)的數(shù)據(jù)結(jié)構(gòu);腳本執(zhí) 行服務(wù)器,用于執(zhí)行腳本的命令,得到命令執(zhí)行結(jié)果;函數(shù)庫(kù),用于保存函數(shù)的數(shù)據(jù)結(jié)構(gòu); 腳本調(diào)試模塊,用于向代理裝置發(fā)送測(cè)試腳本的命令和函數(shù)調(diào)用;代理裝置可以使用上述 本發(fā)明實(shí)施例提出的任意一種代理裝置。當(dāng)然,本發(fā)明實(shí)施例提出的調(diào)試自動(dòng)化測(cè)試腳本 的系統(tǒng)中各部分的功能也可以參見(jiàn)上述圖5流程中的相應(yīng)描述。本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述方法實(shí)施例的全部或部分步驟可以通過(guò) 程序指令相關(guān)的硬件來(lái)完成,前述的程序可以存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,該程序 在執(zhí)行時(shí),執(zhí)行包括上述方法實(shí)施例的步驟;而前述的存儲(chǔ)介質(zhì)包括R0M、RAM、磁碟或者 光盤(pán)等各種可以存儲(chǔ)程序代碼的介質(zhì)。最后應(yīng)說(shuō)明的是以上實(shí)施例僅用以說(shuō)明本發(fā)明的技術(shù)方案,而非對(duì)其限制;盡 管參照前述實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說(shuō)明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解其依然 可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分技術(shù)特征進(jìn)行等同替 換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的精 神和范圍。
9
權(quán)利要求
一種調(diào)試自動(dòng)化測(cè)試腳本的方法,其特征在于,包括從腳本執(zhí)行服務(wù)器獲取命令執(zhí)行結(jié)果;從函數(shù)庫(kù)獲取函數(shù)的數(shù)據(jù)結(jié)構(gòu);根據(jù)獲取的命令執(zhí)行結(jié)果和函數(shù)的數(shù)據(jù)結(jié)構(gòu),對(duì)測(cè)試腳本的命令和函數(shù)調(diào)用進(jìn)行錯(cuò)誤檢查。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)獲取的命令執(zhí)行結(jié)果和函數(shù)的 數(shù)據(jù)結(jié)構(gòu)對(duì)測(cè)試腳本的命令和函數(shù)調(diào)用進(jìn)行錯(cuò)誤檢查包括根據(jù)獲取的命令執(zhí)行結(jié)果和函數(shù)的數(shù)據(jù)結(jié)構(gòu),對(duì)測(cè)試腳本的命令的數(shù)據(jù)結(jié)構(gòu)和函數(shù)調(diào) 用的數(shù)據(jù)結(jié)構(gòu)進(jìn)行錯(cuò)誤檢查;和/或,根據(jù)獲取的命令執(zhí)行結(jié)果生成虛擬實(shí)測(cè)結(jié)果,將該虛擬實(shí)測(cè)結(jié)果作為測(cè)試腳本的運(yùn)行 過(guò)程的輸入,對(duì)測(cè)試腳本的輸入處理運(yùn)行過(guò)程進(jìn)行錯(cuò)誤檢查。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,在所述從腳本執(zhí)行服務(wù)器獲取命令執(zhí)行 結(jié)果之后,進(jìn)一步包括將獲取的命令執(zhí)行結(jié)果按照命令索引進(jìn)行存儲(chǔ),將命令執(zhí)行結(jié)果中 的參數(shù)值設(shè)置為待定值;所述根據(jù)獲取的命令執(zhí)行結(jié)果生成虛擬實(shí)測(cè)結(jié)果包括根據(jù)測(cè)試腳本的命令和所述命 令索引查找到所存儲(chǔ)的對(duì)應(yīng)命令執(zhí)行結(jié)果,將預(yù)期結(jié)果值或其他任意值寫(xiě)入所查找到的命 令執(zhí)行結(jié)果中的參數(shù)值,得到虛擬實(shí)測(cè)結(jié)果。
4.根據(jù)權(quán)利要求2或3所述的方法,其特征在于,在所述從函數(shù)庫(kù)獲取函數(shù)的數(shù)據(jù)結(jié)構(gòu) 之后,進(jìn)一步包括將獲取的函數(shù)的數(shù)據(jù)結(jié)構(gòu)按照函數(shù)索引,并以定義的格式進(jìn)行存儲(chǔ);所述根據(jù)獲取的命令執(zhí)行結(jié)果和函數(shù)的數(shù)據(jù)結(jié)構(gòu)對(duì)測(cè)試腳本的命令的數(shù)據(jù)結(jié)構(gòu)和函 數(shù)調(diào)用的數(shù)據(jù)結(jié)構(gòu)進(jìn)行錯(cuò)誤檢查包括根據(jù)測(cè)試腳本的函數(shù)調(diào)用和所述函數(shù)索引,查找到 所存儲(chǔ)的對(duì)應(yīng)的函數(shù)的數(shù)據(jù)結(jié)構(gòu),根據(jù)查找到的函數(shù)的數(shù)據(jù)結(jié)構(gòu)對(duì)測(cè)試腳本的函數(shù)調(diào)用的 結(jié)構(gòu)和是否符合規(guī)范進(jìn)行錯(cuò)誤檢查;根據(jù)測(cè)試腳本的命令和所述命令索引,查找到所存儲(chǔ) 的對(duì)應(yīng)的命令執(zhí)行結(jié)果,根據(jù)查找到的命令執(zhí)行結(jié)果對(duì)測(cè)試腳本的命令的結(jié)構(gòu)和是否符合 規(guī)范進(jìn)行錯(cuò)誤檢查。
5.一種代理裝置,其特征在于,包括信息獲取模塊,用于從腳本執(zhí)行服務(wù)器獲取命令執(zhí)行結(jié)果,從函數(shù)庫(kù)獲取函數(shù)的數(shù)據(jù) 結(jié)構(gòu);調(diào)試代理執(zhí)行模塊,用于根據(jù)獲取的命令執(zhí)行結(jié)果和函數(shù)的數(shù)據(jù)結(jié)構(gòu),對(duì)測(cè)試腳本的 命令和函數(shù)調(diào)用進(jìn)行錯(cuò)誤檢查處理。
6.根據(jù)權(quán)利要求5所述的代理裝置,其特征在于,所述調(diào)試代理執(zhí)行模塊包括數(shù)據(jù)結(jié)構(gòu)檢查子模塊,該數(shù)據(jù)結(jié)構(gòu)檢查子模塊根據(jù)獲取的 命令執(zhí)行結(jié)果和函數(shù)的數(shù)據(jù)結(jié)構(gòu),對(duì)測(cè)試腳本的命令的數(shù)據(jù)結(jié)構(gòu)和函數(shù)調(diào)用的數(shù)據(jù)結(jié)構(gòu)進(jìn) 行錯(cuò)誤檢查;和/或,所述調(diào)試代理執(zhí)行模塊包括運(yùn)行過(guò)程檢查子模塊,該運(yùn)行過(guò)程檢查子模塊根據(jù)獲取 的命令執(zhí)行結(jié)果生成虛擬實(shí)測(cè)結(jié)果,將該虛擬實(shí)測(cè)結(jié)果作為測(cè)試腳本的運(yùn)行過(guò)程的輸入數(shù) 據(jù),將該輸入數(shù)據(jù)發(fā)送給外部的腳本調(diào)試模塊,以觸發(fā)該腳本調(diào)試模塊對(duì)測(cè)試腳本的輸入 處理運(yùn)行過(guò)程進(jìn)行錯(cuò)誤檢查。
7.根據(jù)權(quán)利要求6所述的代理裝置,其特征在于,所述信息獲取模塊包括命令處理子模塊,該命令處理子模塊用于將獲取的命令執(zhí)行結(jié) 果按照命令索引進(jìn)行存儲(chǔ),將命令執(zhí)行結(jié)果中的參數(shù)值設(shè)置為待定值;所述運(yùn)行過(guò)程檢查子模塊包括虛擬實(shí)測(cè)結(jié)果產(chǎn)生子模塊,該虛擬實(shí)測(cè)結(jié)果產(chǎn)生子模塊 根據(jù)測(cè)試腳本的命令和所述命令索引查找到所存儲(chǔ)的對(duì)應(yīng)命令執(zhí)行結(jié)果,將預(yù)期結(jié)果值或 其他任意值寫(xiě)入所查找到的命令執(zhí)行結(jié)果中的參數(shù)值,得到虛擬實(shí)測(cè)結(jié)果。
8.根據(jù)權(quán)利要求6所述的代理裝置,其特征在于,所述信息獲取模塊包括函數(shù)處理子 模塊,該函數(shù)處理子模塊用于將獲取的函數(shù)的數(shù)據(jù)結(jié)構(gòu)按照函數(shù)索引,并以定義的格式進(jìn) 行存儲(chǔ);所述數(shù)據(jù)結(jié)構(gòu)檢查子模塊包括結(jié)構(gòu)和規(guī)范檢查子模塊,該結(jié)構(gòu)和規(guī)范檢查子模塊根據(jù) 測(cè)試腳本的函數(shù)調(diào)用和所述函數(shù)索引,查找到所存儲(chǔ)的對(duì)應(yīng)的函數(shù)的數(shù)據(jù)結(jié)構(gòu),根據(jù)查找 到的函數(shù)的數(shù)據(jù)結(jié)構(gòu)對(duì)測(cè)試腳本的函數(shù)調(diào)用的結(jié)構(gòu)和是否符合規(guī)范進(jìn)行錯(cuò)誤檢查;及,根 據(jù)測(cè)試腳本的命令和所述命令索引,查找到所存儲(chǔ)的對(duì)應(yīng)的命令執(zhí)行結(jié)果,根據(jù)查找到的 命令執(zhí)行結(jié)果對(duì)測(cè)試腳本的命令的結(jié)構(gòu)和是否符合規(guī)范進(jìn)行錯(cuò)誤檢查。
9.根據(jù)權(quán)利要求5 8任一所述的代理裝置,其特征在于,該代理裝置設(shè)置在腳本執(zhí)行 服務(wù)器中,或者設(shè)置在腳本調(diào)試模塊中,或者設(shè)置為獨(dú)立的物理設(shè)備。
10.一種調(diào)試自動(dòng)化測(cè)試腳本的系統(tǒng),其特征在于,包括如權(quán)利要求5 9任一所述 的代理裝置,信息存儲(chǔ)模塊,用于存儲(chǔ)信息獲取模塊獲取的命令執(zhí)行結(jié)果以及函數(shù)的數(shù)據(jù)結(jié)構(gòu);腳本執(zhí)行服務(wù)器,用于執(zhí)行腳本的命令,得到命令執(zhí)行結(jié)果;函數(shù)庫(kù),用于保存函數(shù)的數(shù)據(jù)結(jié)構(gòu);腳本調(diào)試模塊,用于向代理裝置發(fā)送測(cè)試腳本的命令和函數(shù)調(diào)用。
全文摘要
本發(fā)明提供了調(diào)試自動(dòng)化測(cè)試腳本的方法和系統(tǒng)及代理裝置。該方法包括從腳本執(zhí)行服務(wù)器獲取命令執(zhí)行結(jié)果;從函數(shù)庫(kù)獲取函數(shù)的數(shù)據(jù)結(jié)構(gòu);根據(jù)獲取的命令執(zhí)行結(jié)果和函數(shù)的數(shù)據(jù)結(jié)構(gòu),對(duì)測(cè)試腳本的命令和函數(shù)調(diào)用進(jìn)行錯(cuò)誤檢查。該系統(tǒng)包括代理裝置,信息存儲(chǔ)模塊,腳本執(zhí)行服務(wù)器,函數(shù)庫(kù)以及腳本調(diào)試模塊。本發(fā)明實(shí)現(xiàn)了無(wú)需使用被測(cè)設(shè)備和測(cè)試儀器也能完成調(diào)試自動(dòng)化測(cè)試腳本,從而解決了被測(cè)設(shè)備和測(cè)試儀器資源緊張的問(wèn)題。
文檔編號(hào)G06F11/36GK101976219SQ20101025841
公開(kāi)日2011年2月16日 申請(qǐng)日期2010年8月19日 優(yōu)先權(quán)日2010年8月19日
發(fā)明者張鏘 申請(qǐng)人:北京星網(wǎng)銳捷網(wǎng)絡(luò)技術(shù)有限公司