<listing id="vjp15"></listing><menuitem id="vjp15"></menuitem><var id="vjp15"></var><cite id="vjp15"></cite>
<var id="vjp15"></var><cite id="vjp15"><video id="vjp15"><menuitem id="vjp15"></menuitem></video></cite>
<cite id="vjp15"></cite>
<var id="vjp15"><strike id="vjp15"><listing id="vjp15"></listing></strike></var>
<var id="vjp15"><strike id="vjp15"><listing id="vjp15"></listing></strike></var>
<menuitem id="vjp15"><strike id="vjp15"></strike></menuitem>
<cite id="vjp15"></cite>
<var id="vjp15"><strike id="vjp15"></strike></var>
<var id="vjp15"></var>
<var id="vjp15"></var>
<var id="vjp15"><video id="vjp15"><thead id="vjp15"></thead></video></var>
<menuitem id="vjp15"></menuitem><cite id="vjp15"><video id="vjp15"></video></cite>
<var id="vjp15"></var><cite id="vjp15"><video id="vjp15"><thead id="vjp15"></thead></video></cite>
<var id="vjp15"></var>
<var id="vjp15"></var>
<menuitem id="vjp15"><span id="vjp15"><thead id="vjp15"></thead></span></menuitem>
<cite id="vjp15"><video id="vjp15"></video></cite>
<menuitem id="vjp15"></menuitem>

集中配置管理系統測試報告的生成方法及裝置與流程

文檔序號:11250797閱讀:826來源:國知局
集中配置管理系統測試報告的生成方法及裝置與流程

本申請涉及系統測試技術領域,具體而言,涉及一種集中配置管理系統測試報告的生成方法及裝置。



背景技術:

puppet是一種linux、unix平臺的集中配置管理系統,使用ruby語言,可管理配置文件、用戶、cron任務、軟件包、系統服務等。puppet把這些系統實體稱之為資源,puppet的設計目標是簡化對這些資源的管理以及妥善處理資源間的依賴關系。

在實際生產環境中,將puppet的資源封裝成模塊來完成環境的部署。同其他代碼一樣,模塊也需要進行測試才能夠保證其功能的正確性。通常情況下,會采用手工方式來進行測試,整理bug,修復最后上線使用。但是手工方式的效率相對很低,會降低整個產品迭代上線的速度,因此引入自動化測試。在整個自動化測試的過程中,會自動完成相關用例的執行,收集執行的結果并整理成一份可讀性較強的測試報告來反饋測試的情況。

puppet官方網站提供了一種開源的自動化測試化工具beaker,可用來調度虛擬測試環境來完成自動化測試。beaker是基于rspec的開發套件,rspec在執行完成后執行結果可以通過標準輸出,json,xml甚至輸出一份html文件來進行保存和展示。本文將rspec輸出的json結果進行了保存,統計分析,最后渲染成一份可讀性強的報告,克服rspec報告可讀性不強的缺點,同時實現報告的可訂閱功能。在相關技術里面有描述到,beaker是基于rspec的開發套件,rspec可支持json,xml,html這幾種類型的報告。在現有的方案里面,經常使用到的就是利用rspec來輸出一份html報告。然而,在rspec報告中可以比較直觀的反應單個用例的執行結果,但是在一次自動化測試的過程中,需要的不僅僅是單個用例的測試情況。通常情況下,需要整體上了解測試的情況。總結rspec測試報告,有如下幾方面的不足:沒有整體上反應測試的情況,報告主要針對單個用例進行分析,不進行整體的統計分析;報告的可讀性不好。對于json格式和xml格式的報告,對普通用戶來說是完全不可讀的,而其輸出的html報告,把所有信息都糅合在一份報告中,很難理出用戶關心的內容,尤其是執行錯誤的報告信息。在beaker測試過程中,會多次執行rspec命令,輸出多份測試報告,現有技術暫時沒有提供方式能夠整合多份測試報告的結果。

針對相關技術中測試報告難以從整體上反映測試情況的問題,目前尚未提出有效的解決方案。



技術實現要素:

本申請的主要目的在于提供一種集中配置管理系統測試報告的生成方法及裝置,以解決相關技術中測試報告難以從整體上反映測試情況的問題。

為了實現上述目的,根據本申請的一個方面,提供了一種集中配置管理系統測試報告的生成方法。該方法包括:檢測集中配置管理系統的代碼是否已更新;若檢測到所述集中配置管理系統的代碼已更新,確定多個待測試操作系統,其中,所述多個待測試操作系統由所述集中配置管理系統配置;獲取所述多個待測試系統中的每個待測試操作系統中每個模塊對應的測試用例;逐次采用每個測試用例對對應的模塊進行測試,得到多個測試結果;基于所述多個測試結果生成測試報告。

進一步地,基于所述多個測試結果生成測試報告包括:對所述多個測試結果進行分析,得到第一目標數據信息和第二目標數據信息,其中,所述第一目標數據信息中至少包括:測試用例的數量、測試失敗的數量和測試成功的數量,所述第二目標數據信息中至少包括:每個待測試操作系統中每個模塊的測試信息和對待測試操作系統中模塊測試失敗的信息;將所述第一目標數據信息和所述第二目標數據信息填充至預設模板中,生成所述測試報告。

進一步地,逐次采用每個測試用例對對應的模塊進行測試,得到多個測試結果之前,所述方法還包括:生成與每個待測試操作系統中每個模塊對應的目標文件夾,其中,所述目標文件夾用于存儲對應的模塊的測試結果;確定每個目標文件夾的存儲路徑。

進一步地,逐次采用每個測試用例對對應的模塊進行測試,得到多個測試結果包括:確定當前正在執行測試用例的模塊;基于所述當前正在執行測試用例的模塊調整其測試結果指向的目標文件夾;將對當前正在執行測試用例的模塊的測試結果逐條寫入指向的所述目標文件夾下。

進一步地,在獲取每個待測試操作系統中每個模塊對應的測試用例之前,所述方法還包括:獲取更新后的所述集中配置管理系統的代碼;將所述集中配置管理系統的代碼逐次同步至緩存區中;在獲取每個待測試操作系統中每個模塊對應的測試用例之后,所述方法還包括:將所述緩存區中更新后的代碼移動至工作區,根據所述測試用例和所述更新后的代碼對對應的模塊進行測試,其中,所述工作區是所述集中配置管理系統的代碼執行時的目錄。

進一步地,所述集中配置管理系統的代碼包括多個分支代碼,將所述集中配置管理系統的代碼逐次同步至緩存區中包括:確定待同步至所述緩存區中的當前分支代碼;判斷在所述緩存區中是否存在以所述當前分支代碼命名的文件夾;如果在所述緩存區中不存在以所述當前分支代碼命名的文件夾,在所述緩存區中創建以當前分支代碼命名的文件夾,并將所述當前分支代碼同步至所述緩存區中以所述當前分支代碼命名的文件夾下。

為了實現上述目的,根據本申請的另一方面,提供了一種集中配置管理系統測試報告的生成裝置。該裝置包括:檢測單元,用于檢測集中配置管理系統的代碼是否已更新;確定單元,用于若檢測到所述集中配置管理系統的代碼已更新,確定多個待測試操作系統,其中,所述多個待測試操作系統由所述集中配置管理系統配置;第一獲取單元,用于獲取所述多個待測試系統中的每個待測試操作系統中每個模塊對應的測試用例;測試單元,用于逐次采用每個測試用例對對應的模塊進行測試,得到多個測試結果;生成單元,用于基于所述多個測試結果生成測試報告。

進一步地,所述生成單元包括:分析模塊,用于對所述多個測試結果進行分析,得到第一目標數據信息和第二目標數據信息,其中,所述第一目標數據信息中至少包括:測試用例的數量、測試失敗的數量和測試成功的數量,所述第二目標數據信息中至少包括:每個待測試操作系統中每個模塊的測試信息和對待測試操作系統中模塊測試失敗的信息;填充模塊,用于將所述第一目標數據信息和所述第二目標數據信息填充至預設模板中,生成所述測試報告。

進一步地,所述裝置還包括:第二獲取單元,用于在獲取每個待測試操作系統中每個模塊對應的測試用例之前,獲取更新后的所述集中配置管理系統的代碼;同步單元,用于將所述集中配置管理系統的代碼逐次同步至緩存區中;所述裝置還包括:移動單元,用于在獲取每個待測試操作系統中每個模塊對應的測試用例之后,將所述緩存區中更新后的代碼移動至工作區,根據所述測試用例和所述更新后的代碼對對應的模塊進行測試,其中,所述工作區是所述集中配置管理系統的代碼執行時的目錄。

進一步地,所述集中配置管理系統的代碼包括多個分支代碼,所述同步單元包括:確定模塊,用于確定待同步至所述緩存區中的當前分支代碼判斷模塊,用于判斷在所述緩存區中是否存在以所述當前分支代碼命名的文件夾;同步模塊,用于在所述緩存區中不存在以所述當前分支代碼命名的文件夾的情況下,在所述緩存區中創建以當前分支代碼命名的文件夾,并將所述當前分支代碼同步至所述緩存區中以所述當前分支代碼命名的文件夾下。

為了實現上述目的,根據本申請的另一方面,提供了一種存儲介質,所述存儲介質包括存儲的程序,其中,所述程序執行上述任意一項所述的集中配置管理系統測試報告的生成方法。

為了實現上述目的,根據本申請的另一方面,提供了一種處理器,所述處理器用于運行程序,其中,所述程序運行時執行上述任意一項所述的集中配置管理系統測試報告的生成方法。

為了實現上述目的,根據本申請的另一方面,提供了一種終端,包括:一個或多個處理器,存儲器,顯示裝置以及一個或多個程序,其中,所述一個或多個程序被存儲在所述存儲器中,并且被配置為由所述一個或多個處理器執行,所述一個或多個程序包括用于執行上述任意一項所述的集中配置管理系統測試報告的生成方法。

通過本申請,采用以下步驟:檢測集中配置管理系統的代碼是否已更新;若檢測到集中配置管理系統的代碼已更新,確定多個待測試操作系統,其中,多個待測試操作系統由集中配置管理系統配置;獲取多個待測試系統中的每個待測試操作系統中每個模塊對應的測試用例;逐次采用每個測試用例對對應的模塊進行測試,得到多個測試結果;基于多個測試結果生成測試報告,解決了相關技術中測試報告難以從整體上反映測試情況的問題。通過在檢測到集中配置管理系統的代碼已更新時,觸發對待測試操作系統進行測試,并基于測試得到的多個測試結果生成測試報告,進而達到了生成的測試報告可以從整體上反映測試情況的效果。

附圖說明

構成本申請的一部分的附圖用來提供對本申請的進一步理解,本申請的示意性實施例及其說明用于解釋本申請,并不構成對本申請的不當限定。在附圖中:

圖1是根據本申請實施例提供的集中配置管理系統測試報告的生成方法的流程圖;

圖2是根據本申請實施例提供的集中配置管理系統測試報告的生成方法中緩存區結構的示意圖;

圖3是根據本申請實施例提供的集中配置管理系統測試報告的生成方法中代碼從緩存區搬運到工作區的示意圖;

圖4是根據本申請實施例提供的集中配置管理系統測試報告的生成方法中測試用例結構圖;

圖5是根據本申請實施例提供的集中配置管理系統測試報告的生成方法中測試結果保存目錄的示意圖;

圖6是根據本申請實施例提供的集中配置管理系統測試報告的生成方法中軟鏈接結構的示意圖;

圖7是根據本申請實施例提供的集中配置管理系統測試報告的生成方法中測試結果樣式的示意圖;

圖8是根據本申請實施例提供的集中配置管理系統測試報告的生成方法中第一目標數據信息的示意圖;

圖9是根據本申請實施例提供的集中配置管理系統測試報告的生成方法中第二目標數據信息的示意圖;以及

圖10是根據本申請實施例提供的集中配置管理系統測試報告的生成裝置的示意圖。

具體實施方式

需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互組合。下面將參考附圖并結合實施例來詳細說明本申請。

為了使本技術領域的人員更好地理解本申請方案,下面將結合本申請實施例中的附圖,對本申請實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本申請一部分的實施例,而不是全部的實施例。基于本申請中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都應當屬于本申請保護的范圍。

需要說明的是,本申請的說明書和權利要求書及上述附圖中的術語“第一”、“第二”等是用于區別類似的對象,而不必用于描述特定的順序或先后次序。應該理解這樣使用的數據在適當情況下可以互換,以便這里描述的本申請的實施例。此外,術語“包括”和“具有”以及他們的任何變形,意圖在于覆蓋不排他的包含,例如,包含了一系列步驟或單元的過程、方法、系統、產品或設備不必限于清楚地列出的那些步驟或單元,而是可包括沒有清楚地列出的或對于這些過程、方法、產品或設備固有的其它步驟或單元。

為了便于描述,以下對本申請實施例涉及的部分名詞或術語進行說明:

vagrant:一個基于ruby的工具,用于創建和部署虛擬化開發環境。它使用oracle的開源virtualbox虛擬化系統,使用chef創建自動化虛擬環境。

beaker:puppetlabs中一款開源的自動化測試工具,用于測試大型復雜的puppet系統。它可以通過本地的虛擬主機或者云平臺來搭建測試環境,一旦測試環境運行起來,beaker可以用重復的方式來執行測試用例。

erb:embeddedruby是ruby的一項功能,允許開發者很方便的根據模板生成任何類型任何數量的文本。模板本身與ruby代碼合并,通過文本中嵌入的變量來進行替換和控制,使得模板很容易編寫和維護。

git:一個開源的分布式版本控制系統,可以有效、高速的處理從很小到非常大的項目版本管理。

實施例1

根據本申請的實施例,提供了一種集中配置管理系統測試報告的生成方法。

圖1是根據本申請實施例的集中配置管理系統測試報告的生成方法的流程圖。如圖1所示,該方法包括以下步驟:

步驟s101,檢測集中配置管理系統的代碼是否已更新。

本申請的實施例中,一旦集中配置管理系統(puppet)中的代碼發生變化(即檢測到集中配置管理系統的代碼已更新),檢測到更新后利用beaker來進行自動化測試,,在本申請實施例中的預先在gitlab上配置了一個鉤子(hook),利用gitlab的鉤子(hook)功能,每次有代碼提交會發送一個post請求給測試機,觸發自動化測試。在本步驟中判斷集中配置管理系統的代碼發生變化,即為檢測集中配置管理系統的代碼是否已更新。

步驟s102,若檢測到集中配置管理系統的代碼已更新,確定多個待測試操作系統,其中,多個待測試操作系統由集中配置管理系統配置。

在本申請中的待測試操作系統由集中配置管理系統配置。一旦檢測到集中配置管理系統的代碼已更新,由集中配置管理系統配置的操作系統的相關配置就會發生變化,因此,需要對其進行測試,因此,若檢測到集中配置管理系統的代碼已更新,則確定需要根據集中配置管理系統的代碼進行測試的操作系統,將其作為待測試操作系統,這里確定多個待測試操作系統的原因是因為集中配置管理系統可以應用于不同的操作系統。

步驟s103,獲取多個待測試系統中的每個待測試操作系統中每個模塊對應的測試用例。

由于每個待測試操作系統中包括多個模塊,在對每個操作系統進行測試時會將具體的模塊進行拆分,針對具體的模塊采用對應的測試用例,因此一次測試完成需要運行多組測試用例。因此,在檢測到集中配置管理系統的代碼已更新后,需要獲取多個待測試系統中的每個待測試操作系統中每個模塊對應的測試用例。

可選地,為了避免正在進行的測試代碼被后面提交的測試代碼所覆蓋,在本申請實施例提供的集中配置管理系統測試報告的生成方法中,在獲取每個待測試操作系統中每個模塊對應的測試用例之前,該方法還包括:獲取更新后的集中配置管理系統的代碼;將集中配置管理系統的代碼逐次同步至緩存區中;在獲取每個待測試操作系統中每個模塊對應的測試用例之后,該方法還包括:將緩存區中更新后的代碼移動至工作區,根據測試用例和更新后的代碼對對應的模塊進行測試,其中,工作區是集中配置管理系統的代碼執行時的目錄。

例如,在測試機收到來自于gitlab的消息時,在本申請實施例中同步gitlab上的代碼到測試機的緩存區,在正式開始測試時,將代碼從緩存區移動到工作區,根據測試用例和更新后的代碼對對應的模塊進行測試。

可選地,在本申請實施例提供的集中配置管理系統測試報告的生成方法中,集中配置管理系統的代碼包括多個分支代碼,將集中配置管理系統的代碼逐次同步至緩存區中包括:確定待同步至緩存區中的當前分支代碼;判斷在緩存區中是否存在以當前分支代碼命名的文件夾;如果在緩存區中不存在以當前分支代碼命名的文件夾,在緩存區中創建以當前分支代碼命名的文件夾,并將當前分支代碼同步至緩存區中以當前分支代碼命名的文件夾下。

例如,在緩存區里,以代碼分支為名創建文件夾,在文件夾里面存放了此分支的代碼。緩存區結構的示意圖,如圖2所示。例如有4個分支代碼在緩存區中,分別為branch_a、branch_b、branch_c和branch_d,代碼的更新分為兩種情況:當前更新的分支代碼還在緩存區中,這種情況表明此分支的代碼還未來得及測試,又有新的提交,此時新提交的代碼會去覆蓋已經存在的代碼。例如branch_a已經存在緩存區,當有程序繼續向branch_a提交代碼時,此時新的代碼會覆蓋branch_a這個目錄。當前更新的分支代碼在緩存區不存在,此時會以當前分支為名創建文件夾,并且把當前分支的代碼同步到此文件夾。如果圖2中所示的branch_d之前不存在,假如當前更新的分支為branch_d,則創建branch_d文件夾,然后將代碼同步到此文件夾中。

當在工作區的執行的任務測試完畢之后,將緩存區中最早緩存的代碼移動到工作區,執行測試任務。如圖3所示,代碼從緩存區搬運到工作區,左邊虛線框表示被移動的文件夾在執行移動操作后就不再出現在緩存區。

步驟s104,逐次采用每個測試用例對對應的模塊進行測試,得到多個測試結果。

在多個操作系統上需要分別執行測試用例,例如10個操作系統,測試用例有100條,10個操作系統每個都需要把這100條測試用例運行一次,因此需要運行100*10=100次。在進行用例設計時,將測試用例根據具體的功能來進行分組,例如10條測試用例測試網絡相關功能,4條用例防火墻操作等等。如圖4所示,在執行測試用例時,依次在宿主機上開啟測試虛擬機,例如debian7,然后按照模塊(網絡模塊,防火墻模塊)依次再執行測試用例,每次執行測試用例后會返回當前測試用例的執行結果。

可選地,為了將測試結果進行有序組織,在本申請實施例提供的集中配置管理系統測試報告的生成方法中,逐次采用每個測試用例對對應的模塊進行測試,得到多個測試結果之前,該方法還包括:生成與每個待測試操作系統中每個模塊對應的目標文件夾,其中,目標文件夾用于存儲對應的模塊的測試結果;確定每個目標文件夾的存儲路徑。逐次采用每個測試用例對對應的模塊進行測試,得到多個測試結果包括:確定當前正在執行測試用例的模塊;基于當前正在執行測試用例的模塊調整其測試結果指向的目標文件夾;將對當前正在執行測試用例的模塊的測試結果逐條寫入指向的目標文件夾下。

在測試過程中,每執行一個測試用例時,都會產生一個當前測試用例的測試結果。為了在后期整理結果時方便知道某個測試結果是具體某臺操作系統中執行某個模塊中的測試用例產生的。在本申請實施例中在具體用例執行時,在本申請實施例中設置一個總的調度模塊,該調度模塊負責調度具體的測試操作系統執行具體的測試用例。而具體的執行依靠的是執行測試用例,同時報告也是這個測試用例產生的。

在本申請中將測試用例與測試結果進行設置關聯。具體地,調度模塊在開始執行時,會根據需要執行的操作系統及模塊初始化一個文件夾。例如圖4中需要在debian7,debian8,debian9中分別執行網絡模塊,防火墻模塊以及文件權限模塊。將初始化出來一個如圖5所示的目錄結構。例如,測試結果保存目錄為reports文件夾,初始化完成之后在reports目錄下將會根據測試的操作系統類型,初始化出debian7,debian8,debian9三個目錄,然后在debian7,debian8,debian9三個目錄下分別會存在network,filewall以及filepermission三個文件。在調度模塊開始調度某個虛擬機開始執行用例時,調度模塊會做執行兩件任務,第一,調度模塊會在此操作系統對應的文件目錄創建一個指向文件夾的軟鏈接,在本申請實施例中將此軟鏈接命名為linkmachine。當現在需要開始在debian7虛擬機執行時,將linkmachine指向debian7目錄,此時的效果是,當訪問reports/linkmachine時,實際訪問的是reports/debian7目錄。第二,調度模塊會在reports/debian7中創建一個指向文件的軟鏈接,將其命名為linkmodule,例如現在測試的是network模塊中的測試用例,則linkmodule指向network文件。此時當訪問reports/linkmachine/linkmodule這個文件,實際上訪問的是reports/debian7/network文件,如圖6所示。

頂層模塊在每次調度執行時,會根據當前運行的測試系統和模塊更改指針指向,例如執行debian8操作系統中的firewall模塊,則會將linkmachine指向debian8文件夾,將linkmodule指向firewall文件。具體執行測試的實例只需要將測試結果逐條寫入到reports/linkmachine/linkmodule文件中。

需要說明的是,為了減小了系統性能的開銷,提升測試處理效率,在本申請實施例中也可以將測試生成的測試結果直接作為一個變量保存起來。

步驟s105,基于多個測試結果生成測試報告。

根據多個測試結果整理出一份可視化程度高的測試報告。生成的測試報告可以從整體上反映測試情況的效果。

可選地,在本申請實施例提供的集中配置管理系統測試報告的生成方法中,基于多個測試結果生成測試報告包括:對多個測試結果進行分析,得到第一目標數據信息和第二目標數據信息,其中,第一目標數據信息中至少包括:測試用例的數量、測試失敗的數量和測試成功的數量,第二目標數據信息中至少包括:每個待測試操作系統中每個模塊的測試信息和對待測試操作系統中模塊測試失敗的信息;將第一目標數據信息和第二目標數據信息填充至預設模板中,生成測試報告。

具體地,測試完成之后,測試結果將會被組織成如圖7的形式,每個模塊中的測試用例執行結果將會保存在對應的模塊文件中,例如,在debian7中執行network模塊中的n_case_1的結果將會被保存在debian7目錄下的network文件中,記錄成n_caseresult_1這一條記錄。結果統計從測試系統和模塊兩個維度進行統計,掃描某個操作系統例如debian7目錄下所有的文件,然后逐條讀取文件中的執行結果。整體上統計此次執行總共的用例數,執行失敗數和成功數。并且分模塊來整理成功失敗的用例數,對于失敗的用例還會將失敗的原因進行統計。

根據上述匯總的數據渲染出一份直觀的測試報告。可以采用靜態網頁是展示報告的形式,會將靜態網頁制作成一個報告的模板,在測試完成之后,將數據填充在模板中則可渲染出測試報告。

在本申請實施例中的靜態網頁主要包括兩個頁面,一個是信息總覽頁面,至少包括測試用例的總數,成功多少,失敗多少。另一個則為各個操作系統下的詳細測試信息,里面至少包括具體模塊的測試信息,失敗用例的信息。如圖8所示,圖8為本申請實施例生成的測試報告的示意圖。

在本申請中的預設模板是利用上述的靜態網頁,將一些數據提取出來,然后更換成rubyerb的語法。可以將上述的操作系統,測試用例執行情況制作成如圖9所示的預設模板。圖9中的is_success,passed這些都是erb模板變量。

在每次測試完成之后,利用匯總的測試數據,填充到上述的預設模板中,例如is_success=”失敗”,passed=120填充到模板中,即可渲染成本申請實施例中的測試報告。通過上述操作,實現了整理自動化測試的結果,包括執行失敗和成功的統計條目,失敗用例對應模塊或者接口的相關信息,用于后續問題的跟進和調試。

在本申請實施例中利用beaker-rspec作為核心的測試技術,在此基礎上以vagrant作為測試的載體來運行測試,解決多個操作系統的測試問題。通過新增或者修改模塊,提交到git之后自動觸發測試的運行,在測試過程中根據不同的操作系統來對測試結果進行歸類。最終進行匯總和分析,渲染成一份可讀性強且包含調試信息的測試報告,進而達到了生成的測試報告可以從整體上反映測試情況的效果。

綜上所述,本申請實施例提供的集中配置管理系統測試報告的生成方法,通過檢測集中配置管理系統的代碼是否已更新;若檢測到集中配置管理系統的代碼已更新,確定多個待測試操作系統,其中,多個待測試操作系統由集中配置管理系統配置;獲取多個待測試系統中的每個待測試操作系統中每個模塊對應的測試用例;逐次采用每個測試用例對對應的模塊進行測試,得到多個測試結果;基于多個測試結果生成測試報告,解決了相關技術中測試報告難以從整體上反映測試情況的問題。通過在檢測到集中配置管理系統的代碼已更新時,觸發對待測試操作系統進行測試,并基于測試得到的多個測試結果生成測試報告,進而達到了生成的測試報告可以從整體上反映測試情況的效果。

需要說明的是,在附圖的流程圖示出的步驟可以在諸如一組計算機可執行指令的計算機系統中執行,并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執行所示出或描述的步驟。

實施例2

本申請實施例還提供了一種集中配置管理系統測試報告的生成裝置,需要說明的是,本申請實施例的集中配置管理系統測試報告的生成裝置可以用于執行本申請實施例所提供的用于集中配置管理系統測試報告的生成方法。以下對本申請實施例提供的集中配置管理系統測試報告的生成裝置進行介紹。

圖10是根據本申請實施例的集中配置管理系統測試報告的生成裝置的示意圖。如圖10所示,該裝置包括:檢測單元10、確定單元20、第一獲取單元30、測試單元40和生成單元50。

具體地,檢測單元10,用于檢測集中配置管理系統的代碼是否已更新。

確定單元20,用于若檢測到集中配置管理系統的代碼已更新,確定多個待測試操作系統,其中,多個待測試操作系統由集中配置管理系統配置。

第一獲取單元30,用于獲取多個待測試系統中的每個待測試操作系統中每個模塊對應的測試用例。

測試單元40,用于逐次采用每個測試用例對對應的模塊進行測試,得到多個測試結果。

生成單元50,用于基于多個測試結果生成測試報告。

本申請實施例提供的集中配置管理系統測試報告的生成裝置,通過檢測單元10檢測集中配置管理系統的代碼是否已更新;確定單元20若檢測到集中配置管理系統的代碼已更新,確定多個待測試操作系統,其中,多個待測試操作系統由集中配置管理系統配置;第一獲取單元30獲取多個待測試系統中的每個待測試操作系統中每個模塊對應的測試用例;測試單元40逐次采用每個測試用例對對應的模塊進行測試,得到多個測試結果;生成單元50基于多個測試結果生成測試報告,解決了相關技術中測試報告難以從整體上反映測試情況的問題。通過在檢測到集中配置管理系統的代碼已更新時,觸發對待測試操作系統進行測試,并基于測試得到的多個測試結果生成測試報告,進而達到了生成的測試報告可以從整體上反映測試情況的效果。

可選地,在本申請實施例提供的集中配置管理系統測試報告的生成裝置中,生成單元50包括:分析模塊,用于對多個測試結果進行分析,得到第一目標數據信息和第二目標數據信息,其中,第一目標數據信息中至少包括:測試用例的數量、測試失敗的數量和測試成功的數量,第二目標數據信息中至少包括:每個待測試操作系統中每個模塊的測試信息和對待測試操作系統中模塊測試失敗的信息;填充模塊,用于將第一目標數據信息和第二目標數據信息填充至預設模板中,生成測試報告。

可選地,在本申請實施例提供的集中配置管理系統測試報告的生成裝置中,該裝置還包括:第二獲取單元,用于在獲取每個待測試操作系統中每個模塊對應的測試用例之前,獲取更新后的集中配置管理系統的代碼;同步單元,用于將集中配置管理系統的代碼逐次同步至緩存區中;其中,該裝置還包括:移動單元,用于在獲取每個待測試操作系統中每個模塊對應的測試用例之后,將緩存區中更新后的代碼移動至工作區,根據測試用例和更新后的代碼對對應的模塊進行測試,其中,工作區是集中配置管理系統的代碼執行時的目錄。

可選地,在本申請實施例提供的集中配置管理系統測試報告的生成裝置中,集中配置管理系統的代碼包括多個分支代碼,同步單元包括:確定模塊,用于確定待同步至緩存區中的當前分支代碼;判斷模塊,用于判斷在緩存區中是否存在以當前分支代碼命名的文件夾;同步模塊,用于在緩存區中不存在以當前分支代碼命名的文件夾的情況下,在緩存區中創建以當前分支代碼命名的文件夾,并將當前分支代碼同步至緩存區中以當前分支代碼命名的文件夾下。

所述集中配置管理系統測試報告的生成裝置包括處理器和存儲器,上述檢測單元10、確定單元20、第一獲取單元30、測試單元40和生成單元50等均作為程序單元存儲在存儲器中,由處理器執行存儲在存儲器中的上述程序單元來實現相應的功能。

處理器中包含內核,由內核去存儲器中調取相應的程序單元。內核可以設置一個或以上,通過調整內核參數來生成集中配置管理系統測試報告。

存儲器可能包括計算機可讀介質中的非永久性存儲器,隨機存取存儲器(ram)和/或非易失性內存等形式,如只讀存儲器(rom)或閃存(flashram),存儲器包括至少一個存儲芯片。

本發明實施例提供了一種存儲介質,其上存儲有程序,該程序被處理器執行時實現所述集中配置管理系統測試報告的生成方法。

本發明實施例提供了一種處理器,所述處理器用于運行程序,其中,所述程序運行時執行所述集中配置管理系統測試報告的生成方法。

本發明實施例提供了一種終端,包括:一個或多個處理器,存儲器,顯示裝置以及一個或多個程序,其中,所述一個或多個程序被存儲在所述存儲器中,并且被配置為由所述一個或多個處理器執行,所述一個或多個程序包括用于執行所述的集中配置管理系統測試報告的生成方法。

本申請還提供了一種計算機程序產品,當在數據處理設備上執行時,適于執行初始化有如下方法步驟的程序:檢測集中配置管理系統的代碼是否已更新;若檢測到所述集中配置管理系統的代碼已更新,確定多個待測試操作系統,其中,所述多個待測試操作系統由所述集中配置管理系統配置;獲取所述多個待測試系統中的每個待測試操作系統中每個模塊對應的測試用例;逐次采用每個測試用例對對應的模塊進行測試,得到多個測試結果;基于所述多個測試結果生成測試報告。

基于所述多個測試結果生成測試報告包括:對所述多個測試結果進行分析,得到第一目標數據信息和第二目標數據信息,其中,所述第一目標數據信息中至少包括:測試用例的數量、測試失敗的數量和測試成功的數量,所述第二目標數據信息中至少包括:每個待測試操作系統中每個模塊的測試信息和對待測試操作系統中模塊測試失敗的信息;將所述第一目標數據信息和所述第二目標數據信息填充至預設模板中,生成所述測試報告。

逐次采用每個測試用例對對應的模塊進行測試,得到多個測試結果之前,所述方法還包括:生成與每個待測試操作系統中每個模塊對應的目標文件夾,其中,所述目標文件夾用于存儲對應的模塊的測試結果;確定每個目標文件夾的存儲路徑。

逐次采用每個測試用例對對應的模塊進行測試,得到多個測試結果包括:確定當前正在執行測試用例的模塊;基于所述當前正在執行測試用例的模塊調整其測試結果指向的目標文件夾;將對當前正在執行測試用例的模塊的測試結果逐條寫入指向的所述目標文件夾下。

在獲取每個待測試操作系統中每個模塊對應的測試用例之前,所述方法還包括:獲取更新后的所述集中配置管理系統的代碼;將所述集中配置管理系統的代碼逐次同步至緩存區中;在獲取每個待測試操作系統中每個模塊對應的測試用例之后,所述方法還包括:將所述緩存區中更新后的代碼移動至工作區,根據所述測試用例和所述更新后的代碼對對應的模塊進行測試,其中,所述工作區是所述集中配置管理系統的代碼執行時的目錄。

所述集中配置管理系統的代碼包括多個分支代碼,將所述集中配置管理系統的代碼逐次同步至緩存區中包括:確定待同步至所述緩存區中的當前分支代碼;判斷在所述緩存區中是否存在以所述當前分支代碼命名的文件夾;如果在所述緩存區中不存在以所述當前分支代碼命名的文件夾,在所述緩存區中創建以當前分支代碼命名的文件夾,并將所述當前分支代碼同步至所述緩存區中以所述當前分支代碼命名的文件夾下。本領域內的技術人員應明白,本申請的實施例可提供為方法、系統、或計算機程序產品。因此,本申請可采用完全硬件實施例、完全軟件實施例、或結合軟件和硬件方面的實施例的形式。而且,本申請可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(包括但不限于磁盤存儲器、cd-rom、光學存儲器等)上實施的計算機程序產品的形式。

本申請是參照根據本申請實施例的方法、設備(系統)、和計算機程序產品的流程圖和/或方框圖來描述的。應理解可由計算機程序指令實現流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結合。可提供這些計算機程序指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數據處理設備的處理器以產生一個操作系統,使得通過計算機或其他可編程數據處理設備的處理器執行的指令產生用于實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。

這些計算機程序指令也可存儲在能引導計算機或其他可編程數據處理設備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產生包括指令裝置的制造品,該指令裝置實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。

這些計算機程序指令也可裝載到計算機或其他可編程數據處理設備上,使得在計算機或其他可編程設備上執行一系列操作步驟以產生計算機實現的處理,從而在計算機或其他可編程設備上執行的指令提供用于實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。

在一個典型的配置中,計算設備包括一個或多個處理器(cpu)、輸入/輸出接口、網絡接口和內存。

存儲器可能包括計算機可讀介質中的非永久性存儲器,隨機存取存儲器(ram)和/或非易失性內存等形式,如只讀存儲器(rom)或閃存(flashram)。存儲器是計算機可讀介質的示例。

計算機可讀介質包括永久性和非永久性、可移動和非可移動媒體可以由任何方法或技術來實現信息存儲。信息可以是計算機可讀指令、數據結構、程序的模塊或其他數據。計算機的存儲介質的例子包括,但不限于相變內存(pram)、靜態隨機存取存儲器(sram)、動態隨機存取存儲器(dram)、其他類型的隨機存取存儲器(ram)、只讀存儲器(rom)、電可擦除可編程只讀存儲器(eeprom)、快閃記憶體或其他內存技術、只讀光盤只讀存儲器(cd-rom)、數字多功能光盤(dvd)或其他光學存儲、磁盒式磁帶,磁帶磁磁盤存儲或其他磁性存儲設備或任何其他非傳輸介質,可用于存儲可以被計算設備訪問的信息。按照本文中的界定,計算機可讀介質不包括暫存電腦可讀媒體(transitorymedia),如調制的數據信號和載波。

還需要說明的是,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、商品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、商品或者設備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括要素的過程、方法、商品或者設備中還存在另外的相同要素。

本領域技術人員應明白,本申請的實施例可提供為方法、系統或計算機程序產品。因此,本申請可采用完全硬件實施例、完全軟件實施例或結合軟件和硬件方面的實施例的形式。而且,本申請可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(包括但不限于磁盤存儲器、cd-rom、光學存儲器等)上實施的計算機程序產品的形式。

以上僅為本申請的實施例而已,并不用于限制本申請。對于本領域技術人員來說,本申請可以有各種更改和變化。凡在本申請的精神和原理之內所作的任何修改、等同替換、改進等,均應包含在本申請的權利要求范圍之內。

當前第1頁1 2 
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
韩国伦理电影