專利名稱:自動更新測試腳本的測試方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種自動測試方法,且特別是一種自動更新測試腳本的測試方法。
背景技術(shù):
信息設(shè)備廠商在其生產(chǎn)設(shè)備出廠前皆會進行測試,目前大部分廠商對其生
產(chǎn)設(shè)備皆采用自動化測試以節(jié)省人力開銷。圖1A為自動化測試系統(tǒng)的示意圖。 請參照圖1A,通常自動化測試系統(tǒng)(以下稱為測試系統(tǒng))有一個腳本提供服務(wù) 器110,用以提供測試腳本給被測設(shè)備(140、 142、 144);以及至少一個測試執(zhí) 行體120,用來執(zhí)行腳本提供服務(wù)器提供的測試腳本,測試執(zhí)行體120加載所 需的測試腳本后與被測設(shè)備(140、 142、 144)聯(lián)機,以進行測試;另外,使用 者可使用一個腳本編輯器130更新測試執(zhí)行體120加載的測試腳本,以維持測 試腳本的時效性。
然而這類的測試系統(tǒng)存在的缺點,例如測試執(zhí)行體120可能需針對不同設(shè) 備、不同型號的被測設(shè)備以不同的測試腳本進行多項測試任務(wù),因此測試執(zhí)行 體需加載為數(shù)眾多的執(zhí)行腳本,而浪費儲存測試腳本的空間。另外,在多個測 試執(zhí)行體的測試系統(tǒng),以一個或多個腳本編輯器130分別對測試執(zhí)行體120 進行測試腳本的修改,往往會造成各測試執(zhí)行體的測試腳本的版本新舊不一的 現(xiàn)象。
圖1B為另一自動化測試系統(tǒng)的示意圖。請參照圖1B,這類自動化測試系 統(tǒng)以腳本編輯器130直接對儲存于腳本提供服務(wù)器110內(nèi)的測試腳本進行修改 以維持測試腳本的時效性。測試腳本修改后由腳本提供服務(wù)器110傳送至測試 執(zhí)行體120,或是由測試執(zhí)行體120主動向腳本提供服務(wù)器110提取,然而這 類自動化測試系統(tǒng)的測試腳本控管困難,尤其在多個測試執(zhí)行體(或測試任務(wù) 眾多)的測試環(huán)境上,當(dāng)測試腳本發(fā)生變動即對各個對測試執(zhí)行體120進行發(fā) 布及驗證測試腳本反而占用更多資源(網(wǎng)絡(luò)頻寬與儲存空間)。
發(fā)明內(nèi)容
鑒于以上的問題,本發(fā)明的目的在于自動更新測試腳本的測試方法,藉由 一個連接腳本提供服務(wù)器的測試執(zhí)行體對被測設(shè)備進行測試,測試時僅加載目 前所需的最新測試腳本,而其余未載入的測試腳本可隨時更新,進而達到自動 更新相同的測試腳本,避免影響到測試結(jié)果。
為達上述目的,本發(fā)明所揭露自動更新測試腳本的測試方法,包括下列步 驟首先,腳本提供服務(wù)器依據(jù)測試屬性將數(shù)個測試腳本分為數(shù)個數(shù)據(jù)單元。 接著,測試執(zhí)行體傳送通話聯(lián)機識別碼至腳本提供服務(wù)器以建立通話聯(lián)機,并 向腳本提供服務(wù)器索取對應(yīng)數(shù)據(jù)單元所包含的測試腳本。之后,腳本提供服務(wù) 器依據(jù)通話聯(lián)機透過數(shù)據(jù)索引尋找所屬的數(shù)據(jù)單元,并將數(shù)據(jù)單元內(nèi)的測試腳 本傳送至測試執(zhí)行體,以進行聯(lián)機測試動作。然后,測試執(zhí)行體解析及執(zhí)行測 試腳本,以產(chǎn)生并傳送腳本命令給被測設(shè)備進行測試;以及更新/移除加載的
測試腳本,或向腳本提供服務(wù)器下載其余的數(shù)據(jù)單元所包含的測試腳本,以符 合通話聯(lián)機的測試需求。最后,回報聯(lián)機測試的結(jié)果。
依照本發(fā)明的較佳實施例所述的自動更新測試腳本的測試方法,其中數(shù)據(jù)
單元包括成員數(shù)據(jù)(Family)、對話數(shù)據(jù)(Console)、設(shè)定數(shù)據(jù)(Configure)、以 及基本控制數(shù)據(jù)(Base Command)。另外,數(shù)據(jù)單元所包含的多個測試腳本依其 關(guān)聯(lián)性建立樹狀連結(jié)。
依照本發(fā)明的較佳實施例所述的自動更新測試腳本的測試方法,其中建立 該些通話聯(lián)機之前還包括建立這些數(shù)據(jù)單元對應(yīng)的數(shù)據(jù)索引(DatasetMap)。
依照本發(fā)明的較佳實施例所述的自動更新測試腳本的測試方法,其中腳本 提供服務(wù)器在建立通話聯(lián)機時,更記錄此通話聯(lián)機相關(guān)的信息包括識別碼 (Key)、通話聯(lián)機建立時間、最后建立通話聯(lián)機時間、通話聯(lián)機性質(zhì)、以及數(shù) 據(jù)單元類別。
依照本發(fā)明的較佳實施例所述的自動更新測試腳本的測試方法,其中在動 態(tài)更新/移除加載的數(shù)據(jù)單元至少包括以下步驟首先,判斷通話聯(lián)機請求數(shù) 據(jù)單元包含的測試腳本是否有更新版本;接著,當(dāng)這些測試腳本被引用時,將 這些測試腳本的更新功能禁能;當(dāng)這些測試腳本被釋放時,將這些測試腳本的 更新功能致能;最后,重新規(guī)劃數(shù)據(jù)索引。
由上述得知,本發(fā)明將儲存于腳本提供服務(wù)器的數(shù)個測試腳本依據(jù)測試屬 性分為數(shù)據(jù)單元,當(dāng)測試執(zhí)行體與被測設(shè)備進行測試時,僅需加載必要的數(shù)據(jù) 單元包含的測試腳本,因此本發(fā)明的優(yōu)點在于生產(chǎn)線測試時不需將測試腳本全 額載入,而可保證較高的測試效率,以及當(dāng)變更測試數(shù)據(jù)或是更改測試的版本 時不會影響正在進行的測試任務(wù)。
有關(guān)本發(fā)明的詳細特征與實作,茲配合圖示在實施方式中詳細說明如下, 其內(nèi)容足以使任何熟習(xí)相關(guān)技術(shù)的人了解本發(fā)明的技術(shù)內(nèi)容并據(jù)以實施,且根 據(jù)本說明書所揭露的內(nèi)容及附圖,任何熟習(xí)相關(guān)技術(shù)的人可輕易地理解本發(fā)明 相關(guān)的目的及優(yōu)點。
圖1A為自動化測試系統(tǒng)的示意圖1B為另一自動化測試系統(tǒng)的示意圖2為本發(fā)明的自動更新測試腳本的測試方法流程圖3為本發(fā)明一實施例的測試系統(tǒng)與方法的示意圖。
其中,附圖標(biāo)記為
110 腳本提供服務(wù)器 120 測試執(zhí)行體 130 腳本編輯器 140、 142、 144 被測設(shè)備
S210 腳本提供服務(wù)器依據(jù)測試屬性將數(shù)個測試腳本分為數(shù)個數(shù)據(jù)單元。
S220 測試執(zhí)行體傳送通話聯(lián)機識別碼至腳本提供服務(wù)器以建立通話 聯(lián)機,并向腳本提供服務(wù)器索取對應(yīng)數(shù)據(jù)單元所包含的測試腳本。
S230 腳本提供服務(wù)器依據(jù)通話聯(lián)機透過數(shù)據(jù)索引尋找所屬的數(shù)據(jù)單 元,并將數(shù)據(jù)單元內(nèi)的測試腳本傳送至測試執(zhí)行體,以進行聯(lián)機測試動作。
S240 測試執(zhí)行體解析及執(zhí)行測試腳本,以產(chǎn)生并傳送腳本命令給被
測設(shè)備進行測試。
S250 測試執(zhí)行體更新/移除加載的測試腳本,或向腳本提供服務(wù)器下 載其余的數(shù)據(jù)單元所包含的測試腳本,以符合通話聯(lián)機的測試需求。
S260 回報聯(lián)機測試的結(jié)果。
310 數(shù)據(jù)索引
321 324數(shù)據(jù)單元
330 測試腳本
340 請求處理
具體實施例方式
為讓本發(fā)明的上述及其它目的、特征和優(yōu)點能更顯而易懂,下文特舉出一 實施例,并配合所附圖式,作詳細說明如下。
本發(fā)明為建構(gòu)在現(xiàn)有自動測試系統(tǒng)架構(gòu)下的一種新的測試方法,可自動更 新測試系統(tǒng)時所需的測試腳本。在一實施例的自動測試系統(tǒng)的架構(gòu)例如為圖 1B所示的以連接腳本提供服務(wù)器的測試執(zhí)行體對被測試被進行測試,以下為 本發(fā)明自動更新測試腳本的測試方法的一個實施例。
圖2為本發(fā)明自動更新測試腳本的測試方法流程圖。請參照圖2,首先(步 驟S210),腳本提供服務(wù)器依據(jù)測試屬性將數(shù)個測試腳本分為數(shù)個數(shù)據(jù)單元; 接著(步驟S220),測試執(zhí)行體傳送通話聯(lián)機識別碼至腳本提供服務(wù)器以建立通 話聯(lián)機,并向腳本提供服務(wù)器索取對應(yīng)數(shù)據(jù)單元所包含的測試腳本;之后(步 驟S230),腳本提供服務(wù)器依據(jù)通話聯(lián)機透過數(shù)據(jù)索引尋找所屬的數(shù)據(jù)單元, 并將數(shù)據(jù)單元內(nèi)的測試腳本傳送至測試執(zhí)行體,以進行聯(lián)機測試動作;然后(步 驟S240),測試執(zhí)行體解析及執(zhí)行測試腳本,以產(chǎn)生并傳送腳本命令給被測設(shè) 備進行測試;以及(步驟S250),測試執(zhí)行體更新/移除加載的測試腳本,或向 腳本提供服務(wù)器下載其余的數(shù)據(jù)單元所包含的測試腳本,以符合通話聯(lián)機的測 試需求;最后(步驟S260),回報聯(lián)機測試的結(jié)果。
本實施例的數(shù)據(jù)單元例如分類為成員數(shù)據(jù)(Family)、對話數(shù)據(jù)(Console)、 設(shè)定數(shù)據(jù)(Configure)、以及基本控制數(shù)據(jù)(Base Command)。其中,成員數(shù)據(jù), 例如控制進行測試所需的流程、算法、記錄流程的狀態(tài)、亦或是控制流程的描 述性語言等測試腳本;而設(shè)定數(shù)據(jù),則例如是對應(yīng)成員數(shù)據(jù)所需的參數(shù)測試腳 本。儲存于腳本提供服務(wù)器的各個測試腳本,在一開始時就預(yù)先分類為上述數(shù) 據(jù)單元,而數(shù)據(jù)單元內(nèi)的多個測試腳本亦會依據(jù)各個測試腳本間的關(guān)聯(lián)性,建 立樹狀連結(jié),以及建立這些數(shù)據(jù)單元所對應(yīng)的一個數(shù)據(jù)索引(DatasetMap)。數(shù)據(jù)索引的使用乃是方便加速找出測試執(zhí)行體提取的數(shù)據(jù)單元,及找出這 些數(shù)據(jù)單元包含的測試腳本。事實上,測試腳本依序儲存于腳本提供服務(wù)器, 而不是離散的儲存于腳本提供服務(wù)器的各角落。測試腳本設(shè)置一旗標(biāo)對應(yīng)至所 屬的數(shù)據(jù)單元,而數(shù)據(jù)單元亦設(shè)置一旗標(biāo)對應(yīng)至上述的數(shù)據(jù)索引。當(dāng)欲擷取出 例如成員數(shù)據(jù)類的測試流程測試腳本,則可透過數(shù)據(jù)索引記錄的連結(jié),快速定 位以及擷取出數(shù)據(jù)單元及其包含的測試腳本。歸納言之,這樣的設(shè)計是將測試 腳本之間的關(guān)系以及測試腳本的存儲區(qū)分開,可簡化維護數(shù)據(jù)單元及其包含的 測試腳本以及提高擷取測試腳本的速度,并節(jié)省儲放測試腳本的空間。
接著,為讓本發(fā)明更容易了解,以一實施例解說之。圖3為本發(fā)明一實施 例的測試系統(tǒng)與方法的示意圖。請參考圖3,首先,腳本提供服務(wù)器110會將 儲存的測試腳本330歸類為多個數(shù)據(jù)單元(321 324),并產(chǎn)生對應(yīng)的數(shù)據(jù)索引 310。之后,測試執(zhí)行體120與被測設(shè)備140建立通話聯(lián)機。測試執(zhí)行體120 會傳送通話聯(lián)機識別碼供腳本提供服務(wù)器110辨識此通話聯(lián)機,并要求傳送通 話聯(lián)機對應(yīng)的測試腳本330;而腳本提供服務(wù)器110在建立通話聯(lián)機時,更記 錄此通話聯(lián)機相關(guān)的信息,用以判斷此通話聯(lián)機對應(yīng)的操作動作,這些信息包 括此通話聯(lián)機的識別碼、通話聯(lián)機建立時間、最后建立通話聯(lián)機時間、通話聯(lián) 機性質(zhì)、以及數(shù)據(jù)單元類別。其中通話聯(lián)機性質(zhì)用來記錄此通話的屬性,例如 只讀測試結(jié)果、編輯測試腳本亦或是新建測試腳本等。數(shù)據(jù)單元類別則記錄此 次通話聯(lián)機欲加載的數(shù)據(jù)單元。
承接上一段落,建立通話聯(lián)機后腳本提供服務(wù)器110則依據(jù)此通話聯(lián)機透 過數(shù)據(jù)索引310尋找通話聯(lián)機對應(yīng)的數(shù)據(jù)單元321,并將數(shù)據(jù)單元321包含的 測試腳本傳送至測試執(zhí)行體120。測試執(zhí)行體120的內(nèi)建儲存體(未顯示)可儲 存由腳本提供服務(wù)器110下載的數(shù)據(jù)單元321所包含的測試腳本330,并解析 與執(zhí)行這些測試腳本330,以產(chǎn)生腳本命令,而傳送至被測設(shè)備140進行測試。 測試執(zhí)行體120接收由腳本提供服務(wù)器120傳送的測試腳本330后,更會為這 些測試腳本330設(shè)置對應(yīng)的生命周期,當(dāng)此生命周期終了時,則移除對應(yīng)的測 試腳本330,以保障下載的測試腳本的時效性。
值得一提的是,當(dāng)腳本提供服務(wù)器110傳送通話聯(lián)機對應(yīng)的數(shù)據(jù)單元所包 含的測試腳本330給測試執(zhí)行體120時,腳本提供服務(wù)器110會將內(nèi)儲的數(shù)據(jù) 單元321包含的測試腳本330的更新功能禁能,測試執(zhí)行體120在使用這些測試腳本330期間,內(nèi)儲于腳本提供服務(wù)器110的數(shù)據(jù)單元321包含的測試腳本 330即不會被修改,以維持這些測試腳本版本的一致性。當(dāng)測試執(zhí)行體120釋 放(或移除)這些測試腳本330后,會告知腳本提供服務(wù)器110(此時通話聯(lián)機若 還未掛斷,則測試執(zhí)行體120可藉由短信息通知腳本提供服務(wù)器110,若通話 聯(lián)機被掛斷,則再建立通話聯(lián)機傳送此短信息)。腳本提供服務(wù)器110得知傳 送予測試執(zhí)行體120使用的測試腳本330被釋放后,則將數(shù)據(jù)單元321包含的 測試腳本330的更新功能致能,以便讓其它使用者更新或修改。
在一些測試執(zhí)行體120內(nèi)部可能包含例如腳本編譯器等工具,使用者若欲 更新腳本提供服務(wù)器110的測試腳本,則可透過上述的工具進行版本更新或修 改。當(dāng)腳本提供服務(wù)器110判斷儲存的測試腳本被更新或修改時,則重新產(chǎn)生 數(shù)據(jù)索引310,以維持?jǐn)?shù)據(jù)索引310的時效性。
綜上所述,本發(fā)明藉由將數(shù)個測試腳本分類為數(shù)種數(shù)據(jù)單元,測試執(zhí)行體 與腳本提供服務(wù)器建立通話聯(lián)機而加載必要的測試腳本,并解析與執(zhí)行此測試 腳本,以產(chǎn)生并傳送一個腳本命令予被測設(shè)備進行測試,因此至少有以下優(yōu)點
(1) 僅加載必要之測試腳本,節(jié)省測試執(zhí)行體之內(nèi)存資源,以及節(jié)省加載 時間;
(2) 未使用到的測試腳本可立即進行修改或更新測試腳本的版本,而不影 響正在執(zhí)行的測試任務(wù);
(3) 避免測試腳本的版本不一,而影響測試結(jié)果。
雖然本發(fā)明已以前述較佳實施例揭露如上,然其并非用以限定本發(fā)明,在 不背離本發(fā)明精神及其實質(zhì)的情況下,熟悉本領(lǐng)域的技術(shù)人員當(dāng)可根據(jù)本發(fā)明 作出各種相應(yīng)的改變和變形,但這些相應(yīng)的改變和變形都應(yīng)屬于本發(fā)明所附的 權(quán)利要求的保護范圍。
權(quán)利要求
1. 一種自動更新測試腳本的測試方法,用于以連接一腳本提供服務(wù)器的一測試執(zhí)行體對至少一被測設(shè)備進行測試,其特征在于,該測試方法包括以下步驟該腳本提供服務(wù)器依據(jù)測試屬性將數(shù)個測試腳本(Script)規(guī)劃為數(shù)個數(shù)據(jù)單元;該測試執(zhí)行體傳送一通話聯(lián)機識別碼至該腳本提供服務(wù)器以建立一通話聯(lián)機,并向該腳本提供服務(wù)器索取對應(yīng)數(shù)據(jù)單元所包含的該些測試腳本;該腳本提供服務(wù)器依據(jù)該通話聯(lián)機透過一數(shù)據(jù)索引尋找所屬的該數(shù)據(jù)單元,并將該數(shù)據(jù)單元內(nèi)的該些測試腳本傳送至該測試執(zhí)行體,以進行聯(lián)機測試動作;該測試執(zhí)行體解析及執(zhí)行該些測試腳本,以產(chǎn)生并傳送一腳本命令給該些被測設(shè)備進行測試;該測試執(zhí)行體更新/移除加載的該些測試腳本,或向該腳本提供服務(wù)器下載其余的該些數(shù)據(jù)單元所包含的測試腳本,以符合該通話聯(lián)機的測試需求;以及回報聯(lián)機測試的結(jié)果。
2. 根據(jù)權(quán)利要求1所述的自動更新測試腳本的測試方法,其特征在于,該 些數(shù)據(jù)單元包括成員數(shù)據(jù)、對話數(shù)據(jù)、設(shè)定數(shù)據(jù)、以及基本控制數(shù)據(jù)。
3. 根據(jù)權(quán)利要求2所述的自動更新測試腳本的測試方法,其特征在于,該 些數(shù)據(jù)單元內(nèi)的該些測試腳本依其關(guān)聯(lián)性建立樹狀連結(jié)。
4. 根據(jù)權(quán)利要求2所述的自動更新測試腳本的測試方法,其特征在于,建 立該些通話聯(lián)機之前更還括建立該些數(shù)據(jù)單元對應(yīng)的該數(shù)據(jù)索引。
5. 根據(jù)權(quán)利要求1所述的自動更新測試腳本的測試方法,其特征在于,該 腳本提供服務(wù)器在建立該通話聯(lián)機時,還記錄該通話聯(lián)機相關(guān)的信息,該信息 包括通話聯(lián)機的識別碼、通話聯(lián)機建立時間、最后建立通話聯(lián)機時間、通話 聯(lián)機性質(zhì)、以及數(shù)據(jù)單元類別。
6. 根據(jù)權(quán)利要求1所述的自動更新測試腳本的測試方法,其特征在于,還 包括該測試執(zhí)行體為加載的該些測試腳本設(shè)置生命周期的步驟,以作為移除該些測試腳本的依據(jù)。
7.根據(jù)權(quán)利要求1所述的自動更新測試腳本的測試方法,其特征在于,該腳本提供服務(wù)器還執(zhí)行以下步驟判斷該通話聯(lián)機請求的該些數(shù)據(jù)單元或該些測試腳本是否有更新版本; 當(dāng)該些測試腳本被引用時,將該些測試腳本的更新功能禁能; 當(dāng)該些測試腳本被釋放時,將該些測試腳本的更新功能致能;以及 重新規(guī)劃該數(shù)據(jù)索引。
全文摘要
本發(fā)明公開了一種自動更新測試腳本的測試方法。本發(fā)明藉由腳本提供服務(wù)器依據(jù)測試屬性將數(shù)個測試腳本分為數(shù)個數(shù)據(jù)單元。測試執(zhí)行體傳送通話聯(lián)機識別碼至腳本提供服務(wù)器以建立通話聯(lián)機,并向腳本提供服務(wù)器索取對應(yīng)數(shù)據(jù)單元包含的測試腳本。腳本提供服務(wù)器依據(jù)通話聯(lián)機透過數(shù)據(jù)索引找出并傳送測試腳本給測試執(zhí)行體,以進行聯(lián)機測試動作。測試執(zhí)行體解析及執(zhí)行測試腳本,以產(chǎn)生并傳送腳本命令予被測設(shè)備進行測試,進而回報聯(lián)機測試的結(jié)果。
文檔編號G06F11/28GK101206604SQ200610170789
公開日2008年6月25日 申請日期2006年12月22日 優(yōu)先權(quán)日2006年12月22日
發(fā)明者劉文涵, 孫振寶, 陳玄同 申請人:英業(yè)達股份有限公司