云端自動測試系統及方法
【技術領域】
[0001]本發明是有關于一種云端自動測試技術,且特別是有關于一種云端自動測試系統及方法。
【背景技術】
[0002]在云端技術的計算機系統中,可通過網絡提供可進行數據處理的資源至遠程的裝置。資源可包含儲存模塊、處理模塊、虛擬機器或其他的計算機資源。現有的部分技術可提供云端處理平臺以允許程序開發者建立應用程序,并由虛擬機器來運作,其虛擬機器的數目亦可由開發者自行決定。
[0003]然而,目前利用云端處理平臺進行程序開發的技術中,尚未具備對這些開發的程序進行有效率的測試的技術。因此,如何設計一個新的云端自動測試系統、方法及其非暫態計算機可讀取記錄媒體,以提升測試的效率與速度,乃為此一業界亟待解決的問題。
【發明內容】
[0004]本發明的目的在于提供一種云端自動測試系統及方法。
[0005]因此,本發明的一方面是在提供一種云端自動測試系統,包含:處理模塊,用以建構測試控管虛擬機器。測試控管虛擬機器包含:待測對象版本控制單元、測試流程管理單元、虛擬機器控制單元、測試執行單元以及回報及管理單元。待測對象版本控制單元讀取待測對象,以監控及更新待測對象的版本。測試流程管理單元建立及管理分別包含測試項目的測試流程。虛擬機器控制單元建立測試執行虛擬機器,以使最新版本的待測對象載入至測試執行虛擬機器。測試執行單元包含測試工具,根據測試流程對測試執行虛擬機器上的待測對象進行自動測試。回報及管理單元根據測試執行單元測試的結果進行分析。
[0006]依據本發明一實施例,云端自動測試系統還包含通訊模塊,耦接于處理模塊,且其中測試控管虛擬機器還包含認證單元,用以透過通訊模塊對遠程主機進行認證,以于遠程主機通過認證后允許遠程主機透過通訊模塊存取測試控管虛擬機器。其中待測對象版本控制單元是透過通訊模塊自遠程主機接收待測對象。
[0007]依據本發明另一實施例,云端自動測試系統還包含儲存模塊,耦接于處理模塊,虛擬機器控制單元是根據待測對象的版本分配測試執行虛擬機器的資源,資源包含處理模塊以及儲存模塊的使用量。
[0008]依據本發明又一實施例,其中虛擬機器控制單元更于測試流程結束后關閉測試執行虛擬機器。
[0009]依據本發明再一實施例,測試控管虛擬機器還包含問題追蹤單元,用以根據測試執行單元測試的結果產生問題清單,以傳送至對應遠程主機,以根據問題清單管理及追蹤問題。
[0010]依據本發明更具有的一實施例,其中回報及管理單元于進行分析后產生測試結果匯整報表,測試結果匯整報表包含數據及品質分析。
[0011]依據本發明再具有的一實施例,測試控管虛擬機器還包含系統監控單元,以監控及記錄測試控管虛擬機器的系統活動。
[0012]依據本發明的一實施例,其中測試項目包含安全測試項目、壓力測試項目、功能測試項目或其組合。
[0013]依據本發明的又一實施例,其中待測對象包含程序碼、相關文件或其組合。
[0014]本發明的另一方面是在提供一種云端自動測試方法,應用于云端自動測試系統中,云端自動測試系統包含處理模塊,云端自動測試方法包含:使處理模塊建構測試控管虛擬機器,其中測試控管虛擬機器包含待測對象版本控制單元、測試流程管理單元、虛擬機器控制單元、測試執行單元以及回報及管理單元;使待測對象版本控制單元讀取待測對象,以監控及更新待測對象的版本;使測試流程管理單元建立及管理分別包含測試項目的測試流程;使虛擬機器控制單元建立測試執行虛擬機器,以使最新版本的待測對象載入至測試執行虛擬機器;使包含測試工具的測試執行單元根據測試流程對測試執行虛擬機器上的待測對象進行自動測試;以及使回報及管理單元根據測試執行單元測試的結果進行分析。
[0015]依據本發明一實施例,其中云端自動測試系統還包含通訊模塊,耦接于處理模塊,且測試控管虛擬機器還包含認證單元,云端自動測試方法還包含:使認證單元透過通訊模塊對遠程主機進行認證,以于遠程主機通過認證后允許遠程主機透過通訊模塊存取測試控管虛擬機器。其中待測對象版本控制單元是透過通訊模塊自遠程主機接收待測對象。
[0016]依據本發明另一實施例,其中云端自動測試系統還包含儲存模塊,耦接于處理模塊,使虛擬機器控制單元建立測試執行虛擬機器的步驟還包含:根據待測對象的版本分配測試執行虛擬機器的資源,資源包含處理模塊以及儲存模塊的使用量。
[0017]依據本發明又一實施例,云端自動測試方法還包含:使虛擬機器控制單元于測試流程結束后關閉測試執行虛擬機器。
[0018]依據本發明再一實施例,其中測試控管虛擬機器還包含問題追蹤單元,云端自動測試方法還包含:使問題追蹤單元根據測試執行單元測試的結果產生問題清單,以傳送至對應遠程主機,以根據問題清單管理及追蹤問題。
[0019]依據本發明更具有的一實施例,云端自動測試方法還包含:使回報及管理單元于進行分析后產生測試結果匯整報表,測試結果匯整報表包含數據及品質分析。
[0020]依據本發明再具有的一實施例,測試控管虛擬機器還包含系統監控單元,云端自動測試方法還包含:使系統監控單元監控及記錄測試控管虛擬機器的系統活動。
[0021]依據本發明具有的一實施例,其中測試項目包含安全測試項目、壓力測試項目、功能測試項目或其組合。
[0022]依據本發明又具有的一實施例,其中待測對象包含程序碼、相關文件或其組合。
[0023]應用本發明的優點在于通過云端自動測試系統的設計,可隨時維持最新版本的待測對象(如程序碼),以自動載入進行最新版本的測試,無需再手動載入以重新配置,大幅提升自動測試的效率。并且,通過測試結果匯整報表及問題清單的產生達到管理及追蹤問題的功效,在待測對象的改進上將更具效率,而輕易地達到上述的目的。
【附圖說明】
[0024]圖1為本發明一實施例中,一種云端自動測試系統的方塊圖;
[0025]圖2為本發明一實施例中,圖1的處理模塊所建構的測試控管虛擬機器以及儲存模塊的方塊圖;以及
[0026]圖3為本發明一實施例中,一種云端自動測試方法的流程圖。
【具體實施方式】
[0027]請參照圖1。圖1為本發明一實施例中,一種云端自動測試系統I的方塊圖。云端自動測試系統I包含處理模塊10、通訊模塊12以及儲存模塊14。
[0028]處理模塊10可為各種具有運算能力的處理器,例如中央處理器(CentralProcessing Unit,CPU)、控制兀件(control unit)、微處理器(micro processor)或其他可執行指令的硬件元件,并可透過不同的數據傳輸路徑與上述的通訊模塊12進行數據傳輸,并與外部的電子裝置進行溝通。
[0029]通訊模塊12耦接于處理模塊10,并可以不同的數據傳輸路徑與處理模塊10溝通。通訊模塊12可為例如但不限于有線或無線的網絡卡或其他網絡通訊模塊,以使處理模塊10可驅動通訊模塊12,透過通訊模塊12通過各種可能的網絡通訊形式與規格,與其他外部電子裝置進行通訊。
[0030]儲存模塊14分別耦接于處理模塊10。于不同實施例中,儲存模塊14可包含例如但不限于只讀記憶體、快閃記憶體、軟盤、硬盤、光盤、隨身盤、磁帶、可由網絡存取的數據庫或其他類型的記憶體。
[0031]上述的儲存模塊14可儲存有多個計算機可執行的指令。當指令由處理模塊10根據所儲存的指令執行處理動作,可執行并提供云端自動測試系統I的功能。以下將就處理模塊10執行的處理動作進行說明。
[0032]請參照圖2。圖2為本發明一實施例中,圖1的處理模塊10所建構的測試控管虛擬機器20以及儲存模塊14的方塊圖。
[0033]處理模塊10可用以建構測試控管虛擬機器20。于本實施例中,測試控管虛擬機器20包含:認證單元200、待測對象版本控制單元202、測試流程管理單元204、虛擬機器控制單元206、測試執行單元208、回報及管理單元210、問題追蹤單元212以及系統監控單元214。
[0034]認證單元200用以透過如圖1所示的通訊模塊12對遠程主機16進行認證,以于遠程主機通過認證后允許遠程主機透過通訊模塊12存取測試控管虛擬機器20。于一實施例中,認證單元200可接收來自遠程主機傳送的認證數據,例如但不限于帳號、密碼等數據,并依據例如但不限于一認證數據庫(未繪示)的數據進行比對,以進行認證。
[0035]待測對象版本控制單元202亦可透過如圖1所示的通訊模塊12自遠程主機接收并讀取待測對象201。于一實施例中,待測對象201包含程序碼、相關文件或其組合。待測對象版本控制單元202監控及更新待測對象201的版本,以隨時將待測對象201置換為最新的版本。
[0036]測試流程管理單元204建立及管理至少一個測試流程203,且測試流程203分別包含至少一個測試項目。于一實施例中,測試流程203的建立,可依據待測對象201的內容及類型進行。
[0037]于不同實施例中,測試項目可包含例如但不限于安全測試項目、壓力測試項目、功能測試項目或其組合。安全測試項目可包含例如但不限于白箱測試、黑箱測試及弱點掃描。其中白箱測試為靜態程序碼安全性檢測(例如:原始碼分析),用尋找弱點的測試工具找出緩沖溢位等弱點。黑箱測試為動態程序碼安全性檢測,不需取得程序原始碼,可找出例如但不限于OWASP應用程序安全驗證標準中定義的十大應用程序弱點。弱點掃描則為一種設計為自動檢測遠程或本地主機安全性弱點的程序。壓力測試項目可對系統資源不斷地施加壓力,觀察系統在處于何種壓力下,在系統的哪個部分被壓垮,以及當系統被壓垮時系統是否可平順地結束與回復。功能測試項目則是針對系統功能執行測試。
[0038]虛擬機器控制單元206建立測試執行虛擬機器22,以使待測對象201載入至測試執行虛擬機器22。于一實施例中,于一實施例中,虛擬機器控制單兀206可根據持續整合(Continuous Integrat1n ;CI)的機制,自動根據待測對象201最新的版本分配測試執行虛擬機器22的資源。執行虛擬機器22的資源可包含如圖1所示,云端自動測試系統I中處理模塊10及儲存模塊14的使用量。
[0039]測試執行單元208包含至少一測試工具(未繪示),以根據測試流程對測試執行虛擬機器22上的待測對象201進行自動測試。于一實施例中,在載入待測對象201后,測試執行單元208將先執行原始碼的分析以及安全測試,再依據各類測試工具進行功能測試及壓力測試。于一實施例中,上述的