不間斷自動更新測試命令的系統(tǒng)及方法
【專利摘要】本發(fā)明公開一種不間斷自動更新測試命令的系統(tǒng)及其方法,其通過更新模塊在更新包含進行測試的命令的命令單元前,請求命令管理模塊結束將被更新的命令單元,之后,流程控制引擎在欲執(zhí)行測試的命令時,發(fā)出呼叫請求至命令管理模塊,命令管理模塊會重新載入更新后的命令單元的技術手段,可以在不需要停止測試平臺的情況下更新測試所需的命令,并達成降低更新命令所需的成本的技術功效。
【專利說明】不間斷自動更新測試命令的系統(tǒng)及方法
【技術領域】
[0001] 本發(fā)明涉及一種更新系統(tǒng)及其方法,特別是指一種更新時結束命令單元并重新載 入的系統(tǒng)及其方法。
【背景技術】
[0002] 計算機在生產線上完成組裝后,需要進行測試。除了使用人工進行測試之外,目前 各家廠商都有開發(fā)出自家的測試平臺,且各廠商的測試平臺都會隨著生產線上所生產的計 算機品項不同而有不同的測試方案。
[0003] 不論是哪一個測試平臺哪一種測試方案,測試流程通常是固定的,一旦發(fā)生測試 流程需要修改或是測試指令中存在臭蟲(Bug)等情況,測試平臺便需要停止測試,讓測試平 臺的維護人員更新測試方案。
[0004] 上述的更新方式往往不是短時間可以完成的,一旦生產線上生產出大量的計算 機,在有出貨的時間壓力下,通常不允許花費一段時間進行測試方案的更新。
[0005] 綜上所述,可知現有技術中長期以來一直存在更新測試方案需要停止測試平臺運 作的問題,因此有必要提出改進的技術手段,來解決此一問題。
【發(fā)明內容】
[0006] 有鑒于現有技術存在更新測試方案需要停止測試平臺運作的問題,本發(fā)明遂揭露 一種更新時結束命令單元并重新載入的系統(tǒng)及其方法,其中:
[0007] 本發(fā)明所揭露的不間斷自動更新測試命令的系統(tǒng),應用于生產線上,用以于生產 線在連續(xù)工作時線上更新測試命令,至少包含:任務執(zhí)行引擎(Executor Engine),包含命 令管理模塊,命令管理模塊包含并管理命令單元,命令單元包含可測試生產線上的特定目 標的命令,且各命令單元各自獨立;流程控制引擎(Flow Engine),用以發(fā)出命令單元的呼 叫請求,管理被呼叫的命令單元的命令管理模塊用以依據呼叫請求載入并實體化被呼叫的 命令單元,藉以提供流程控制引擎執(zhí)行命令單元所包含的命令;更新模塊,用以請求管理被 呼叫的命令單元的命令管理模塊結束被呼叫的命令單元,及用以于被呼叫的命令單元被結 束(terminate)后,更新被呼叫的命令單元。
[0008] 本發(fā)明所揭露的不間斷自動更新測試命令的方法,應用于生產線上,用以于生產 線連續(xù)工作時線上更新測試命令,其步驟至少包括:當生產線上的命令單元需要更新時,更 新模塊向管理命令單元的命令管理模塊請求結束命令單元;命令管理模塊響應該更新模塊 的請求后,更新模塊更新命令單元;流程控制引擎發(fā)出命令單元的呼叫請求至命令管理模 塊;命令管理模塊依據呼叫請求載入命令單元;命令管理模塊實體化命令單元,藉以提供 流程控制引擎執(zhí)行命令單元所包含的命令。
[0009] 本發(fā)明所揭露的系統(tǒng)與方法如上,與現有技術之間的差異在于本發(fā)明通過測試平 臺的分層架構,由更新模塊在更新包含進行測試的命令的命令單元前,請求命令管理模塊 結束所管理的將被更新的命令單元,之后,流程控制引擎在欲執(zhí)行測試的命令時,發(fā)出呼叫 請求至命令管理模塊,命令管理模塊可以重新載入更新后的命令單元,藉以解決現有技術 所存在的問題,并可以達成降低更新命令所需的成本的技術功效。
【專利附圖】
【附圖說明】
[0010] 圖1為本發(fā)明所提的測試平臺元件示意圖。
[0011] 圖2為本發(fā)明所提的更新時結束命令單元并重新載入的系統(tǒng)架構圖。
[0012] 圖3為本發(fā)明所提的更新時結束命令單元并重新載入的方法流程圖。
[0013] 【符號說明】
[0014] 100 測試平臺
[0015] 110 表現層
[0016] 120 業(yè)務邏輯層
[0017] 121 流程控制引擎
[0018] 1211結果記錄模塊
[0019] 123 任務執(zhí)行引擎
[0020] 123a基本命令模塊
[0021] 123b通訊模塊
[0022] 129 記錄管理器
[0023] 140 數據代理層
[0024] 150 網絡層
[0025] 160 業(yè)務數據管理層
[0026] 170 數據存取層
[0027] 190 更新模塊
【具體實施方式】
[0028] 以下將配合圖式及實施例來詳細說明本發(fā)明的特征與實施方式,內容足以使任何 熟習相關技藝者能夠輕易地充分理解本發(fā)明解決技術問題所應用的技術手段并據以實施, 藉此實現本發(fā)明可達成的功效。
[0029] 本發(fā)明提出一種具有分層架構的測試平臺,此測試平臺應用在生產線上,其只有 在需要執(zhí)行命令以進行測試時,才會由生產線的測試平臺中的命令管理模塊載入包含需被 使用的命令的命令單元,如此,當命令單元需要更新時,例如新增或修改命令時,只需要向 命令管理模塊請求結束(terminate )需要被更新的命令單元,之后,在命令管理模塊允許該 請求并結束需要被更新的命令單元時,即可以在不需要停止生產線的測試平臺的情況下直 接更新該命令單元。
[0030] 以下先以「圖1」本發(fā)明所提的測試平臺元件示意圖來說明測試平臺100,如「圖 1」所示,在本發(fā)明所提的測試平臺1〇〇中,可以包含表現層110、業(yè)務邏輯層120、數據代理 層140、網絡層150、業(yè)務數據管理層160、以及數據存取層170等。其中,數據代理層140與 網絡層150只有在測試平臺100通過網絡進行測試時才需要設置,否則測試平臺100中可 以不包含數據代理層140與網絡層150。
[0031] 表現層110包含一種或多種作業(yè)系統(tǒng)(Operation System, 0S)的使用者界面,例 如,圖形使用者界面(Graphical User Interface, GUI)或命令列(Command Line)等。
[0032] 業(yè)務邏輯層120至少包含流程控制引擎(Flow Engine) 121以及任務執(zhí)行引 擎(Executor Engine) 123,甚至,業(yè)務邏輯層120也可以包含可附加的記錄管理器(Log Manager)129。
[0033] 流程控制引擎121可以控制測試平臺100的測試流程。流程控制引擎121中還可 以包含結果記錄模塊1211,結果記錄模塊1211包含一個或多個獨立的記錄單元,例如,數 據庫記錄單元(圖中未示)、程序記錄單元(圖中未示)、回響(echo)記錄單元(圖中未示)等, 但結果記錄模塊1211所包含的記錄單元并不以上述為限,另外,結果記錄模塊1211中的每 一個記錄單元都可以通過測試平臺100的設定檔中的對應設定來啟用或關閉。
[0034] 任務執(zhí)行引擎123包含一個或多個命令管理模塊,每一個命令管理模塊管理一個 或多個命令單元,每一個命令單元包含多個可被執(zhí)行的命令,一個命令單元所包含的一個 命令或多個命令的組合可以對生產線上的特定目標進行特定的測試。每一個命令管理模塊 所管理的命令單元是各自獨立的,在更新時并不會影響到其他的命令單元。
[0035] 任務執(zhí)行引擎123所包含的命令管理模塊例如基本命令(Base Command)模塊 123a、通訊(Communication)模塊123b等,但本發(fā)明并不以此為限。
[0036] 此外,任務執(zhí)行引擎123還可以包含執(zhí)行狀態(tài)存取模塊,執(zhí)行狀態(tài)存取模塊可以 在測試平臺1〇〇進行測試的過程中,獲取或修改測試平臺1〇〇內的執(zhí)行狀態(tài)信息,例如,直 接讀取并使用測試平臺1〇〇內的環(huán)境參數,或是在測試平臺1〇〇內建立新的環(huán)境參數等。
[0037] 記錄管理器129可以將結果記錄模塊1211所產生的記錄檔傳送至特定位置儲存。 記錄管理器129包含多個記錄處理模塊(圖中未示),每一個記錄處理模塊分別與結果記錄 模塊1211所包含的各個記錄單元對應,每一個記錄處理模塊都可以通過測試平臺100的設 定檔設定收集記錄檔的時間以及傳送記錄檔的時間,也可以設定是否啟用或關閉。
[0038] 數據代理層140可以通過網絡層150獲取儲存在測試平臺100外部的數據及/或 檔案,也可以通過業(yè)務數據管理層160獲取儲存在測試平臺100本地的數據或檔案。數據 代理層140也可以管理數據的生命周期。其中,數據代理層140在獲取測試平臺100外部 的數據時,還可以暫存通過網絡層150所獲取的數據,藉以降低遠端存取的次數。
[0039] 業(yè)務數據管理層160可以提供數據及/或檔案給流程控制引擎121。業(yè)務數據管 理層160可以包含腳本數據提供單元、本機管理數據提供單元、系統(tǒng)設定數據提供單元、夕卜 部系統(tǒng)整合單元、記錄檔提供單元等,但業(yè)務數據管理層160并不以此為限。一般而言,業(yè) 務數據管理層160所包含的各個單元所存取的數據的來源不同,且可以依據測試平臺100 的設定檔中的對應設定來啟用或關閉,也就是說,業(yè)務數據管理層160所包含的各個單元 是各自獨立的,可以單獨修改或更新而不會影響其他單元。
[0040] 其中,腳本數據提供單元可以提供腳本以及相對應的數據,本機管理數據提供單 元可以提供本機管理數據、系統(tǒng)設定數據提供單元可以提供測試平臺100的系統(tǒng)設定數 據、記錄檔提供單元可以提供結果記錄模塊所產生的記錄檔,外部系統(tǒng)整合單元可以將測 試平臺100與外部服務進行整合。
[0041] 數據存取層170可以在實際儲存數據的物理裝置(圖中未示)中存取數據,例如,開 啟儲存于儲存媒體中的XML檔案,并讀出被開啟的XML檔中的內容,也可以搜尋被儲存在數 據庫中的數據等。
[0042] 接著進一步以「圖2」來說明本發(fā)明所提的更新時結束命令單元并重新載入的系 統(tǒng)的運作。如「圖2」所示,本發(fā)明的系統(tǒng)主要由流程控制引擎121、任務執(zhí)行引擎123、以及 更新模塊190來完成命令單元的更新。
[0043] 流程控制引擎121負責將命令單元的呼叫請求發(fā)送給任務執(zhí)行引擎123。被流程 控制引擎121所呼叫的命令單元包含流程控制引擎121欲執(zhí)行的命令。流程控制引擎121 也負責在被呼叫的命令單元被任務執(zhí)行引擎123載入并實體化后,執(zhí)行欲執(zhí)行的命令。
[0044] 其中,若流程控制引擎121中包含結果記錄模塊,則結果記錄模塊中可以記錄流 程控制引擎121所執(zhí)行的命令及/或執(zhí)行命令后所產生的信息。
[0045] 任務執(zhí)行引擎123在接收到流程控制引擎121所發(fā)送的呼叫請求后,會將所接收 到的呼叫請求發(fā)送給管理與該呼叫請求對應的命令單元的命令管理模塊。管理與任務執(zhí)行 引擎123所接收到的呼叫請求對應的命令單元的命令管理模塊會負責載入并實體化與被 接收到的呼叫請求對應的命令單元,藉以提供流程控制引擎121執(zhí)行包含于被載入并實體 化的命令單元中的命令。
[0046] 其中,任務執(zhí)行引擎123可以先判斷管理與所接收到的呼叫請求對應的命令單元 的命令管理模塊,再將所接收到的呼叫請求傳送至所判斷出的管理該命令單元的命令管理 模塊,但本發(fā)明并不以此為限,任務執(zhí)行引擎123也可以將所接收到的呼叫請求發(fā)送給所 包含的所有命令管理模塊,例如,發(fā)送給基本命令模塊123a、通訊模塊123b等命令管理模 塊,而后由接收到呼叫請求的命令管理模塊判斷是否管理與所接收到的呼叫請求對應的命 令單元,若是,則載入并實體化與所接收到的呼叫請求對應的命令單元,若否,則不進行任 何動作。
[0047] 更新模塊190負責向管理欲更新的命令單元的命令管理模塊請求結束欲更新的 命令單元,并更新被結束的命令單元。其中,更新模塊190對命令單元所進行的更新,包含 新增、修改、刪除命令單元中所包含的命令。
[0048] 更新模塊190在更新各個命令單元時,是單獨更新各該命令單元。另外,更新模塊 190也會判斷管理欲更新的命令單元的命令管理模塊。
[0049] 如此,當流程控制引擎121再次發(fā)送被更新的命令單元的呼叫請求至任務執(zhí)行引 擎123時,管理被更新的命令單元的命令管理模塊會再次載入并實體化被更新的命令單 元,藉以提供被更新的命令單元所包含的命令給流程控制引擎121執(zhí)行。
[0050] 接著以一個實施例來解說本發(fā)明的運作系統(tǒng)與方法,并請參照「圖3」本發(fā)明所提 的更新時結束命令單元并重新載入的方法流程圖。
[0051] 當生產線的測試平臺100進行一般的測試時,流程控制引擎121會執(zhí)行進行測試 的命令。在流程控制引擎121執(zhí)行命令前,可以先判斷包含欲執(zhí)行的命令的命令單元是否 已經被任務執(zhí)行引擎123所包含的命令管理模塊載入并實體化。在本實施例中,假設命令 管理模塊為基本命令模塊123a,也就是說,包含流程控制引擎121欲執(zhí)行的命令的命令單 元是由基本命令模塊123a所管理。
[0052] 若該命令單元已經被基本命令模塊123a實體化,則流程控制引擎121可以直接呼 叫該命令單元,并執(zhí)行該命令單元所包含的該命令,藉以在生產線上進行測試,而若該命令 單元尚未被基本命令模塊123a實體化,則流程控制引擎121可以發(fā)出呼叫該命令單元的呼 叫請求至任務執(zhí)行引擎123 (步驟310)。
[0053] 任務執(zhí)行引擎123在接收到流程控制引擎121所發(fā)出的呼叫請求后,會將所接收 到的呼叫請求發(fā)送給管理與該呼叫請求對應的命令單元的命令管理模塊,在本實施例中, 也就是發(fā)給基本命令模塊123a。
[0054] 在基本命令模塊123a接收到呼叫請求后,會依據所接收到的呼叫請求載入并實 體化相對應的命令單元(步驟320、330),并回傳相關的地址給流程控制引擎121,之后,流 程控制引擎121便可以依據基本命令模塊123a所傳送的地址呼叫命令單元,并由命令單元 中取得欲執(zhí)行的命令后執(zhí)行該命令(步驟340),藉以進行測試。
[0055] 在測試平臺100持續(xù)進行測試的過程中,測試平臺100中的更新模塊190會持 續(xù)判斷被流程控制引擎121所呼叫而在生產線上運行的命令單元是否需要被更新(步驟 350),若測試平臺100的維護人員需要更新命令單元,則更新模塊190會判斷管理將被更新 的命令單元的命令管理模塊,并向所判斷出的命令管理模塊請求結束需要被更新的命令單 元(步驟360)。在本實施例中,假設需要被更新的命令單元由基本命令模塊123a所管理。
[0056] 在基本命令模塊123a結束需要被更新的命令單元(步驟370)后,基本命令模塊 123a可以傳送回應訊號給測試平臺100中的更新模塊190,藉以響應更新模塊190的請求, 接著,更新模塊190可以更新基本命令模塊123a所管理的命令單元(步驟380)。
[0057] 由于測試平臺100中的更新模塊190在更新命令單元(步驟380)前,基本命令模 塊123a會結束所載入并實體化的將被更新的命令單元(步驟370),因此,在測試平臺100持 續(xù)進行的測試過程中,若流程控制引擎121需要執(zhí)行基本命令模塊123a所管理的命令單元 所包含的命令,則流程控制引擎121可以判斷出包含欲執(zhí)行的命令的命令單元尚未被基本 命令模塊123a載入并實體化,所以,流程控制引擎121會發(fā)送包含欲執(zhí)行命令的命令單元 的呼叫請求至任務執(zhí)行引擎123(步驟310),而在更新模塊190完成命令單元的更新并重新 載入基本命令模塊123a (步驟370、380)后,基本命令模塊123a可以接收到流程控制引擎 121所發(fā)送的呼叫請求,并可以載入并實體化被流程控制引擎121所請求的命令單元(步驟 320、330),藉以提供包含流程控制引擎121欲執(zhí)行的命令的命令單元給流程控制引擎121, 使得流程控制引擎121可以執(zhí)行欲執(zhí)行的命令(步驟340)。其中,流程控制引擎121所發(fā)送 的呼叫請求可能會與被更新的命令單元對應。
[0058] 如此,通過本發(fā)明,便可以在不需要停止生產線的測試平臺100的測試過程的情 況下,更新測試平臺1〇〇中的命令單元。
[0059] 另外,在上述的實施例中,若流程控制引擎121還包含結果記錄模塊1211,則在流 程控制引擎121執(zhí)行命令時,會記錄流程控制引擎121所執(zhí)行的命令及/或執(zhí)行命令后所 產生的信息。如此,當業(yè)務邏輯層120包含記錄管理器129時,則記錄管理器129可以傳送 結果記錄模塊1211所記錄的各該命令及/或信息至特定的裝置。
[0060] 綜上所述,可知本發(fā)明與現有技術之間的差異在于具有分層架構,當更新模塊在 更新包含進行測試的命令的命令單元時,會結束管理命令單元的命令管理模塊,并在更新 完成后重新載入命令管理模塊,之后,流程控制引擎在欲執(zhí)行測試的命令時,發(fā)出呼叫請求 至命令管理模塊,命令管理模塊會重新載入更新后的命令單元的技術手段,藉由此一技術 手段可以解決現有技術所存在更新測試方案需要停止測試平臺的問題,進而達成降低更新 命令所需的成本的技術功效。
[0061] 再者,本發(fā)明的更新時結束命令單元并重新載入的方法,可實現于硬件、軟件或硬 件與軟件的組合中,亦可在計算機系統(tǒng)中以集中方式實現或以不同元件散布于若干互連的 計算機系統(tǒng)的分散方式實現。
[0062] 雖然本發(fā)明所揭露的實施方式如上,惟所述的內容并非用以直接限定本發(fā)明的專 利保護范圍。任何本發(fā)明所屬【技術領域】中具有通常知識者,在不脫離本發(fā)明所揭露的精神 和范圍的前提下,對本發(fā)明的實施的形式上及細節(jié)上作些許的更動潤飾,均屬于本發(fā)明的 專利保護范圍。本發(fā)明的專利保護范圍,仍須以所附的申請專利范圍所界定者為準。
【權利要求】
1. 一種不間斷自動更新測試命令的系統(tǒng),應用于一生產線上,用以于該生產線在連續(xù) 工作時線上更新測試命令,其特征在于,該系統(tǒng)至少包含: 一任務執(zhí)行引擎,包含至少一命令管理模塊,每一該命令管理單元包含并管理至少一 命令單元,各該命令單元都包含可測試該生產線上的特定目標的至少一命令,且各該命令 單元各自獨立; 一流程控制引擎,用以發(fā)出一該命令單元的一呼叫請求,管理該被呼叫的命令單元的 命令管理模塊用以依據該呼叫請求載入并實體化該被呼叫的命令單元,藉以提供該流程控 制引擎執(zhí)行該被呼叫的命令單元所包含的命令;及 一更新模塊,用以請求管理該被呼叫的命令單元的命令管理模塊結束該被呼叫的命令 單元,及用以于該被呼叫的命令單元被停止后,更新該被呼叫的命令單元。
2. 如權利要求1項所述的不間斷自動更新測試命令的系統(tǒng),其特征在于,該流程控制 引擎更包含至少一結果記錄模塊,用以記錄該流程控制引擎所執(zhí)行的命令及/或執(zhí)行命令 后所產生的信息。
3. 如權利要求2項所述的不間斷自動更新測試命令的系統(tǒng),其特征在于,該系統(tǒng)更包 含一記錄管理器,用以傳送該結果記錄模塊所記錄的各該命令及/或信息。
4. 如權利要求1項所述的不間斷自動更新測試命令的系統(tǒng),其特征在于,該更新模塊 是單獨更新各該命令單元。
5. 如權利要求1項所述的不間斷自動更新測試命令的系統(tǒng),其特征在于,該命令管理 模塊為基本命令模塊或通訊模塊。
6. 如權利要求1項所述的不間斷自動更新測試命令的系統(tǒng),其特征在于,該系統(tǒng)更包 含: 一數據存取層,用以存取該流程控制引擎執(zhí)行各該命令單元所包含的命令所需的數據 及/或檔案;及 一業(yè)務數據管理層,用以將該些數據及/或檔案提供給該流程控制引擎執(zhí)行。
7. 如權利要求1項所述的不間斷自動更新測試命令的系統(tǒng),其特征在于,該系統(tǒng)更包 含一表現層,該表現層提供至少一圖形使用者界面。
8. -種不間斷自動更新測試命令的方法,應用于一生產線上,用以于該生產線連續(xù)工 作時線上更新測試命令,其特征在于,該方法至少包含下列步驟: 當該生產線上的一命令單元需要更新時,一更新模塊向管理該命令單元的一命令管理 模塊請求結束該命令單元; 該命令管理模塊響應該更新模塊的請求后,該更新模塊更新該命令單元; 一流程控制引擎發(fā)出該命令單元的一呼叫請求至該命令管理模塊; 該命令管理模塊依據該呼叫請求載入該命令單元;及 該命令管理模塊實體化該命令單元,藉以提供該流程控制引擎執(zhí)行該命令單元所包含 的命令。
9. 如權利要求8項所述的不間斷自動更新測試命令的方法,其特征在于,該流程控制 引擎執(zhí)行該命令單元所包含的命令的步驟更包含記錄該流程控制引擎所執(zhí)行的命令及/ 或執(zhí)行命令后所產生的信息的步驟。
10. 如權利要求9項所述的不間斷自動更新測試命令的方法,其特征在于,該方法于記 錄該流程控制引擎所執(zhí)行的命令及/或執(zhí)行命令后所產生的信息的步驟后,更包含傳送該 結果記錄模塊所記錄的各該命令及/或信息的步驟。
【文檔編號】G06F9/445GK104123148SQ201310153439
【公開日】2014年10月29日 申請日期:2013年4月27日 優(yōu)先權日:2013年4月27日
【發(fā)明者】劉曉鵬 申請人:英業(yè)達科技有限公司, 英業(yè)達股份有限公司