成人打一炮免费视频,亚洲天堂视频在线观看,97视频久久久,日本japanese护士色高清,五月婷婷丁香,日韩精品一级无码毛片免费,国产欧美日韩精品网红剧情演绎

集中配置管理系統(tǒng)測(cè)試報(bào)告的生成方法及裝置與流程

文檔序號(hào):11250797閱讀:802來(lái)源:國(guó)知局
集中配置管理系統(tǒng)測(cè)試報(bào)告的生成方法及裝置與流程

本申請(qǐng)涉及系統(tǒng)測(cè)試技術(shù)領(lǐng)域,具體而言,涉及一種集中配置管理系統(tǒng)測(cè)試報(bào)告的生成方法及裝置。



背景技術(shù):

puppet是一種linux、unix平臺(tái)的集中配置管理系統(tǒng),使用ruby語(yǔ)言,可管理配置文件、用戶、cron任務(wù)、軟件包、系統(tǒng)服務(wù)等。puppet把這些系統(tǒng)實(shí)體稱之為資源,puppet的設(shè)計(jì)目標(biāo)是簡(jiǎn)化對(duì)這些資源的管理以及妥善處理資源間的依賴關(guān)系。

在實(shí)際生產(chǎn)環(huán)境中,將puppet的資源封裝成模塊來(lái)完成環(huán)境的部署。同其他代碼一樣,模塊也需要進(jìn)行測(cè)試才能夠保證其功能的正確性。通常情況下,會(huì)采用手工方式來(lái)進(jìn)行測(cè)試,整理bug,修復(fù)最后上線使用。但是手工方式的效率相對(duì)很低,會(huì)降低整個(gè)產(chǎn)品迭代上線的速度,因此引入自動(dòng)化測(cè)試。在整個(gè)自動(dòng)化測(cè)試的過(guò)程中,會(huì)自動(dòng)完成相關(guān)用例的執(zhí)行,收集執(zhí)行的結(jié)果并整理成一份可讀性較強(qiáng)的測(cè)試報(bào)告來(lái)反饋測(cè)試的情況。

puppet官方網(wǎng)站提供了一種開源的自動(dòng)化測(cè)試化工具beaker,可用來(lái)調(diào)度虛擬測(cè)試環(huán)境來(lái)完成自動(dòng)化測(cè)試。beaker是基于rspec的開發(fā)套件,rspec在執(zhí)行完成后執(zhí)行結(jié)果可以通過(guò)標(biāo)準(zhǔn)輸出,json,xml甚至輸出一份html文件來(lái)進(jìn)行保存和展示。本文將rspec輸出的json結(jié)果進(jìn)行了保存,統(tǒng)計(jì)分析,最后渲染成一份可讀性強(qiáng)的報(bào)告,克服rspec報(bào)告可讀性不強(qiáng)的缺點(diǎn),同時(shí)實(shí)現(xiàn)報(bào)告的可訂閱功能。在相關(guān)技術(shù)里面有描述到,beaker是基于rspec的開發(fā)套件,rspec可支持json,xml,html這幾種類型的報(bào)告。在現(xiàn)有的方案里面,經(jīng)常使用到的就是利用rspec來(lái)輸出一份html報(bào)告。然而,在rspec報(bào)告中可以比較直觀的反應(yīng)單個(gè)用例的執(zhí)行結(jié)果,但是在一次自動(dòng)化測(cè)試的過(guò)程中,需要的不僅僅是單個(gè)用例的測(cè)試情況。通常情況下,需要整體上了解測(cè)試的情況??偨Y(jié)rspec測(cè)試報(bào)告,有如下幾方面的不足:沒有整體上反應(yīng)測(cè)試的情況,報(bào)告主要針對(duì)單個(gè)用例進(jìn)行分析,不進(jìn)行整體的統(tǒng)計(jì)分析;報(bào)告的可讀性不好。對(duì)于json格式和xml格式的報(bào)告,對(duì)普通用戶來(lái)說(shuō)是完全不可讀的,而其輸出的html報(bào)告,把所有信息都糅合在一份報(bào)告中,很難理出用戶關(guān)心的內(nèi)容,尤其是執(zhí)行錯(cuò)誤的報(bào)告信息。在beaker測(cè)試過(guò)程中,會(huì)多次執(zhí)行rspec命令,輸出多份測(cè)試報(bào)告,現(xiàn)有技術(shù)暫時(shí)沒有提供方式能夠整合多份測(cè)試報(bào)告的結(jié)果。

針對(duì)相關(guān)技術(shù)中測(cè)試報(bào)告難以從整體上反映測(cè)試情況的問題,目前尚未提出有效的解決方案。



技術(shù)實(shí)現(xiàn)要素:

本申請(qǐng)的主要目的在于提供一種集中配置管理系統(tǒng)測(cè)試報(bào)告的生成方法及裝置,以解決相關(guān)技術(shù)中測(cè)試報(bào)告難以從整體上反映測(cè)試情況的問題。

為了實(shí)現(xiàn)上述目的,根據(jù)本申請(qǐng)的一個(gè)方面,提供了一種集中配置管理系統(tǒng)測(cè)試報(bào)告的生成方法。該方法包括:檢測(cè)集中配置管理系統(tǒng)的代碼是否已更新;若檢測(cè)到所述集中配置管理系統(tǒng)的代碼已更新,確定多個(gè)待測(cè)試操作系統(tǒng),其中,所述多個(gè)待測(cè)試操作系統(tǒng)由所述集中配置管理系統(tǒng)配置;獲取所述多個(gè)待測(cè)試系統(tǒng)中的每個(gè)待測(cè)試操作系統(tǒng)中每個(gè)模塊對(duì)應(yīng)的測(cè)試用例;逐次采用每個(gè)測(cè)試用例對(duì)對(duì)應(yīng)的模塊進(jìn)行測(cè)試,得到多個(gè)測(cè)試結(jié)果;基于所述多個(gè)測(cè)試結(jié)果生成測(cè)試報(bào)告。

進(jìn)一步地,基于所述多個(gè)測(cè)試結(jié)果生成測(cè)試報(bào)告包括:對(duì)所述多個(gè)測(cè)試結(jié)果進(jìn)行分析,得到第一目標(biāo)數(shù)據(jù)信息和第二目標(biāo)數(shù)據(jù)信息,其中,所述第一目標(biāo)數(shù)據(jù)信息中至少包括:測(cè)試用例的數(shù)量、測(cè)試失敗的數(shù)量和測(cè)試成功的數(shù)量,所述第二目標(biāo)數(shù)據(jù)信息中至少包括:每個(gè)待測(cè)試操作系統(tǒng)中每個(gè)模塊的測(cè)試信息和對(duì)待測(cè)試操作系統(tǒng)中模塊測(cè)試失敗的信息;將所述第一目標(biāo)數(shù)據(jù)信息和所述第二目標(biāo)數(shù)據(jù)信息填充至預(yù)設(shè)模板中,生成所述測(cè)試報(bào)告。

進(jìn)一步地,逐次采用每個(gè)測(cè)試用例對(duì)對(duì)應(yīng)的模塊進(jìn)行測(cè)試,得到多個(gè)測(cè)試結(jié)果之前,所述方法還包括:生成與每個(gè)待測(cè)試操作系統(tǒng)中每個(gè)模塊對(duì)應(yīng)的目標(biāo)文件夾,其中,所述目標(biāo)文件夾用于存儲(chǔ)對(duì)應(yīng)的模塊的測(cè)試結(jié)果;確定每個(gè)目標(biāo)文件夾的存儲(chǔ)路徑。

進(jìn)一步地,逐次采用每個(gè)測(cè)試用例對(duì)對(duì)應(yīng)的模塊進(jìn)行測(cè)試,得到多個(gè)測(cè)試結(jié)果包括:確定當(dāng)前正在執(zhí)行測(cè)試用例的模塊;基于所述當(dāng)前正在執(zhí)行測(cè)試用例的模塊調(diào)整其測(cè)試結(jié)果指向的目標(biāo)文件夾;將對(duì)當(dāng)前正在執(zhí)行測(cè)試用例的模塊的測(cè)試結(jié)果逐條寫入指向的所述目標(biāo)文件夾下。

進(jìn)一步地,在獲取每個(gè)待測(cè)試操作系統(tǒng)中每個(gè)模塊對(duì)應(yīng)的測(cè)試用例之前,所述方法還包括:獲取更新后的所述集中配置管理系統(tǒng)的代碼;將所述集中配置管理系統(tǒng)的代碼逐次同步至緩存區(qū)中;在獲取每個(gè)待測(cè)試操作系統(tǒng)中每個(gè)模塊對(duì)應(yīng)的測(cè)試用例之后,所述方法還包括:將所述緩存區(qū)中更新后的代碼移動(dòng)至工作區(qū),根據(jù)所述測(cè)試用例和所述更新后的代碼對(duì)對(duì)應(yīng)的模塊進(jìn)行測(cè)試,其中,所述工作區(qū)是所述集中配置管理系統(tǒng)的代碼執(zhí)行時(shí)的目錄。

進(jìn)一步地,所述集中配置管理系統(tǒng)的代碼包括多個(gè)分支代碼,將所述集中配置管理系統(tǒng)的代碼逐次同步至緩存區(qū)中包括:確定待同步至所述緩存區(qū)中的當(dāng)前分支代碼;判斷在所述緩存區(qū)中是否存在以所述當(dāng)前分支代碼命名的文件夾;如果在所述緩存區(qū)中不存在以所述當(dāng)前分支代碼命名的文件夾,在所述緩存區(qū)中創(chuàng)建以當(dāng)前分支代碼命名的文件夾,并將所述當(dāng)前分支代碼同步至所述緩存區(qū)中以所述當(dāng)前分支代碼命名的文件夾下。

為了實(shí)現(xiàn)上述目的,根據(jù)本申請(qǐng)的另一方面,提供了一種集中配置管理系統(tǒng)測(cè)試報(bào)告的生成裝置。該裝置包括:檢測(cè)單元,用于檢測(cè)集中配置管理系統(tǒng)的代碼是否已更新;確定單元,用于若檢測(cè)到所述集中配置管理系統(tǒng)的代碼已更新,確定多個(gè)待測(cè)試操作系統(tǒng),其中,所述多個(gè)待測(cè)試操作系統(tǒng)由所述集中配置管理系統(tǒng)配置;第一獲取單元,用于獲取所述多個(gè)待測(cè)試系統(tǒng)中的每個(gè)待測(cè)試操作系統(tǒng)中每個(gè)模塊對(duì)應(yīng)的測(cè)試用例;測(cè)試單元,用于逐次采用每個(gè)測(cè)試用例對(duì)對(duì)應(yīng)的模塊進(jìn)行測(cè)試,得到多個(gè)測(cè)試結(jié)果;生成單元,用于基于所述多個(gè)測(cè)試結(jié)果生成測(cè)試報(bào)告。

進(jìn)一步地,所述生成單元包括:分析模塊,用于對(duì)所述多個(gè)測(cè)試結(jié)果進(jìn)行分析,得到第一目標(biāo)數(shù)據(jù)信息和第二目標(biāo)數(shù)據(jù)信息,其中,所述第一目標(biāo)數(shù)據(jù)信息中至少包括:測(cè)試用例的數(shù)量、測(cè)試失敗的數(shù)量和測(cè)試成功的數(shù)量,所述第二目標(biāo)數(shù)據(jù)信息中至少包括:每個(gè)待測(cè)試操作系統(tǒng)中每個(gè)模塊的測(cè)試信息和對(duì)待測(cè)試操作系統(tǒng)中模塊測(cè)試失敗的信息;填充模塊,用于將所述第一目標(biāo)數(shù)據(jù)信息和所述第二目標(biāo)數(shù)據(jù)信息填充至預(yù)設(shè)模板中,生成所述測(cè)試報(bào)告。

進(jìn)一步地,所述裝置還包括:第二獲取單元,用于在獲取每個(gè)待測(cè)試操作系統(tǒng)中每個(gè)模塊對(duì)應(yīng)的測(cè)試用例之前,獲取更新后的所述集中配置管理系統(tǒng)的代碼;同步單元,用于將所述集中配置管理系統(tǒng)的代碼逐次同步至緩存區(qū)中;所述裝置還包括:移動(dòng)單元,用于在獲取每個(gè)待測(cè)試操作系統(tǒng)中每個(gè)模塊對(duì)應(yīng)的測(cè)試用例之后,將所述緩存區(qū)中更新后的代碼移動(dòng)至工作區(qū),根據(jù)所述測(cè)試用例和所述更新后的代碼對(duì)對(duì)應(yīng)的模塊進(jìn)行測(cè)試,其中,所述工作區(qū)是所述集中配置管理系統(tǒng)的代碼執(zhí)行時(shí)的目錄。

進(jìn)一步地,所述集中配置管理系統(tǒng)的代碼包括多個(gè)分支代碼,所述同步單元包括:確定模塊,用于確定待同步至所述緩存區(qū)中的當(dāng)前分支代碼判斷模塊,用于判斷在所述緩存區(qū)中是否存在以所述當(dāng)前分支代碼命名的文件夾;同步模塊,用于在所述緩存區(qū)中不存在以所述當(dāng)前分支代碼命名的文件夾的情況下,在所述緩存區(qū)中創(chuàng)建以當(dāng)前分支代碼命名的文件夾,并將所述當(dāng)前分支代碼同步至所述緩存區(qū)中以所述當(dāng)前分支代碼命名的文件夾下。

為了實(shí)現(xiàn)上述目的,根據(jù)本申請(qǐng)的另一方面,提供了一種存儲(chǔ)介質(zhì),所述存儲(chǔ)介質(zhì)包括存儲(chǔ)的程序,其中,所述程序執(zhí)行上述任意一項(xiàng)所述的集中配置管理系統(tǒng)測(cè)試報(bào)告的生成方法。

為了實(shí)現(xiàn)上述目的,根據(jù)本申請(qǐng)的另一方面,提供了一種處理器,所述處理器用于運(yùn)行程序,其中,所述程序運(yùn)行時(shí)執(zhí)行上述任意一項(xiàng)所述的集中配置管理系統(tǒng)測(cè)試報(bào)告的生成方法。

為了實(shí)現(xiàn)上述目的,根據(jù)本申請(qǐng)的另一方面,提供了一種終端,包括:一個(gè)或多個(gè)處理器,存儲(chǔ)器,顯示裝置以及一個(gè)或多個(gè)程序,其中,所述一個(gè)或多個(gè)程序被存儲(chǔ)在所述存儲(chǔ)器中,并且被配置為由所述一個(gè)或多個(gè)處理器執(zhí)行,所述一個(gè)或多個(gè)程序包括用于執(zhí)行上述任意一項(xiàng)所述的集中配置管理系統(tǒng)測(cè)試報(bào)告的生成方法。

通過(guò)本申請(qǐng),采用以下步驟:檢測(cè)集中配置管理系統(tǒng)的代碼是否已更新;若檢測(cè)到集中配置管理系統(tǒng)的代碼已更新,確定多個(gè)待測(cè)試操作系統(tǒng),其中,多個(gè)待測(cè)試操作系統(tǒng)由集中配置管理系統(tǒng)配置;獲取多個(gè)待測(cè)試系統(tǒng)中的每個(gè)待測(cè)試操作系統(tǒng)中每個(gè)模塊對(duì)應(yīng)的測(cè)試用例;逐次采用每個(gè)測(cè)試用例對(duì)對(duì)應(yīng)的模塊進(jìn)行測(cè)試,得到多個(gè)測(cè)試結(jié)果;基于多個(gè)測(cè)試結(jié)果生成測(cè)試報(bào)告,解決了相關(guān)技術(shù)中測(cè)試報(bào)告難以從整體上反映測(cè)試情況的問題。通過(guò)在檢測(cè)到集中配置管理系統(tǒng)的代碼已更新時(shí),觸發(fā)對(duì)待測(cè)試操作系統(tǒng)進(jìn)行測(cè)試,并基于測(cè)試得到的多個(gè)測(cè)試結(jié)果生成測(cè)試報(bào)告,進(jìn)而達(dá)到了生成的測(cè)試報(bào)告可以從整體上反映測(cè)試情況的效果。

附圖說(shuō)明

構(gòu)成本申請(qǐng)的一部分的附圖用來(lái)提供對(duì)本申請(qǐng)的進(jìn)一步理解,本申請(qǐng)的示意性實(shí)施例及其說(shuō)明用于解釋本申請(qǐng),并不構(gòu)成對(duì)本申請(qǐng)的不當(dāng)限定。在附圖中:

圖1是根據(jù)本申請(qǐng)實(shí)施例提供的集中配置管理系統(tǒng)測(cè)試報(bào)告的生成方法的流程圖;

圖2是根據(jù)本申請(qǐng)實(shí)施例提供的集中配置管理系統(tǒng)測(cè)試報(bào)告的生成方法中緩存區(qū)結(jié)構(gòu)的示意圖;

圖3是根據(jù)本申請(qǐng)實(shí)施例提供的集中配置管理系統(tǒng)測(cè)試報(bào)告的生成方法中代碼從緩存區(qū)搬運(yùn)到工作區(qū)的示意圖;

圖4是根據(jù)本申請(qǐng)實(shí)施例提供的集中配置管理系統(tǒng)測(cè)試報(bào)告的生成方法中測(cè)試用例結(jié)構(gòu)圖;

圖5是根據(jù)本申請(qǐng)實(shí)施例提供的集中配置管理系統(tǒng)測(cè)試報(bào)告的生成方法中測(cè)試結(jié)果保存目錄的示意圖;

圖6是根據(jù)本申請(qǐng)實(shí)施例提供的集中配置管理系統(tǒng)測(cè)試報(bào)告的生成方法中軟鏈接結(jié)構(gòu)的示意圖;

圖7是根據(jù)本申請(qǐng)實(shí)施例提供的集中配置管理系統(tǒng)測(cè)試報(bào)告的生成方法中測(cè)試結(jié)果樣式的示意圖;

圖8是根據(jù)本申請(qǐng)實(shí)施例提供的集中配置管理系統(tǒng)測(cè)試報(bào)告的生成方法中第一目標(biāo)數(shù)據(jù)信息的示意圖;

圖9是根據(jù)本申請(qǐng)實(shí)施例提供的集中配置管理系統(tǒng)測(cè)試報(bào)告的生成方法中第二目標(biāo)數(shù)據(jù)信息的示意圖;以及

圖10是根據(jù)本申請(qǐng)實(shí)施例提供的集中配置管理系統(tǒng)測(cè)試報(bào)告的生成裝置的示意圖。

具體實(shí)施方式

需要說(shuō)明的是,在不沖突的情況下,本申請(qǐng)中的實(shí)施例及實(shí)施例中的特征可以相互組合。下面將參考附圖并結(jié)合實(shí)施例來(lái)詳細(xì)說(shuō)明本申請(qǐng)。

為了使本技術(shù)領(lǐng)域的人員更好地理解本申請(qǐng)方案,下面將結(jié)合本申請(qǐng)實(shí)施例中的附圖,對(duì)本申請(qǐng)實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本申請(qǐng)一部分的實(shí)施例,而不是全部的實(shí)施例?;诒旧暾?qǐng)中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都應(yīng)當(dāng)屬于本申請(qǐng)保護(hù)的范圍。

需要說(shuō)明的是,本申請(qǐng)的說(shuō)明書和權(quán)利要求書及上述附圖中的術(shù)語(yǔ)“第一”、“第二”等是用于區(qū)別類似的對(duì)象,而不必用于描述特定的順序或先后次序。應(yīng)該理解這樣使用的數(shù)據(jù)在適當(dāng)情況下可以互換,以便這里描述的本申請(qǐng)的實(shí)施例。此外,術(shù)語(yǔ)“包括”和“具有”以及他們的任何變形,意圖在于覆蓋不排他的包含,例如,包含了一系列步驟或單元的過(guò)程、方法、系統(tǒng)、產(chǎn)品或設(shè)備不必限于清楚地列出的那些步驟或單元,而是可包括沒有清楚地列出的或?qū)τ谶@些過(guò)程、方法、產(chǎn)品或設(shè)備固有的其它步驟或單元。

為了便于描述,以下對(duì)本申請(qǐng)實(shí)施例涉及的部分名詞或術(shù)語(yǔ)進(jìn)行說(shuō)明:

vagrant:一個(gè)基于ruby的工具,用于創(chuàng)建和部署虛擬化開發(fā)環(huán)境。它使用oracle的開源virtualbox虛擬化系統(tǒng),使用chef創(chuàng)建自動(dòng)化虛擬環(huán)境。

beaker:puppetlabs中一款開源的自動(dòng)化測(cè)試工具,用于測(cè)試大型復(fù)雜的puppet系統(tǒng)。它可以通過(guò)本地的虛擬主機(jī)或者云平臺(tái)來(lái)搭建測(cè)試環(huán)境,一旦測(cè)試環(huán)境運(yùn)行起來(lái),beaker可以用重復(fù)的方式來(lái)執(zhí)行測(cè)試用例。

erb:embeddedruby是ruby的一項(xiàng)功能,允許開發(fā)者很方便的根據(jù)模板生成任何類型任何數(shù)量的文本。模板本身與ruby代碼合并,通過(guò)文本中嵌入的變量來(lái)進(jìn)行替換和控制,使得模板很容易編寫和維護(hù)。

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

實(shí)施例1

根據(jù)本申請(qǐng)的實(shí)施例,提供了一種集中配置管理系統(tǒng)測(cè)試報(bào)告的生成方法。

圖1是根據(jù)本申請(qǐng)實(shí)施例的集中配置管理系統(tǒng)測(cè)試報(bào)告的生成方法的流程圖。如圖1所示,該方法包括以下步驟:

步驟s101,檢測(cè)集中配置管理系統(tǒng)的代碼是否已更新。

本申請(qǐng)的實(shí)施例中,一旦集中配置管理系統(tǒng)(puppet)中的代碼發(fā)生變化(即檢測(cè)到集中配置管理系統(tǒng)的代碼已更新),檢測(cè)到更新后利用beaker來(lái)進(jìn)行自動(dòng)化測(cè)試,,在本申請(qǐng)實(shí)施例中的預(yù)先在gitlab上配置了一個(gè)鉤子(hook),利用gitlab的鉤子(hook)功能,每次有代碼提交會(huì)發(fā)送一個(gè)post請(qǐng)求給測(cè)試機(jī),觸發(fā)自動(dòng)化測(cè)試。在本步驟中判斷集中配置管理系統(tǒng)的代碼發(fā)生變化,即為檢測(cè)集中配置管理系統(tǒng)的代碼是否已更新。

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

在本申請(qǐng)中的待測(cè)試操作系統(tǒng)由集中配置管理系統(tǒng)配置。一旦檢測(cè)到集中配置管理系統(tǒng)的代碼已更新,由集中配置管理系統(tǒng)配置的操作系統(tǒng)的相關(guān)配置就會(huì)發(fā)生變化,因此,需要對(duì)其進(jìn)行測(cè)試,因此,若檢測(cè)到集中配置管理系統(tǒng)的代碼已更新,則確定需要根據(jù)集中配置管理系統(tǒng)的代碼進(jìn)行測(cè)試的操作系統(tǒng),將其作為待測(cè)試操作系統(tǒng),這里確定多個(gè)待測(cè)試操作系統(tǒng)的原因是因?yàn)榧信渲霉芾硐到y(tǒng)可以應(yīng)用于不同的操作系統(tǒng)。

步驟s103,獲取多個(gè)待測(cè)試系統(tǒng)中的每個(gè)待測(cè)試操作系統(tǒng)中每個(gè)模塊對(duì)應(yīng)的測(cè)試用例。

由于每個(gè)待測(cè)試操作系統(tǒng)中包括多個(gè)模塊,在對(duì)每個(gè)操作系統(tǒng)進(jìn)行測(cè)試時(shí)會(huì)將具體的模塊進(jìn)行拆分,針對(duì)具體的模塊采用對(duì)應(yīng)的測(cè)試用例,因此一次測(cè)試完成需要運(yùn)行多組測(cè)試用例。因此,在檢測(cè)到集中配置管理系統(tǒng)的代碼已更新后,需要獲取多個(gè)待測(cè)試系統(tǒng)中的每個(gè)待測(cè)試操作系統(tǒng)中每個(gè)模塊對(duì)應(yīng)的測(cè)試用例。

可選地,為了避免正在進(jìn)行的測(cè)試代碼被后面提交的測(cè)試代碼所覆蓋,在本申請(qǐng)實(shí)施例提供的集中配置管理系統(tǒng)測(cè)試報(bào)告的生成方法中,在獲取每個(gè)待測(cè)試操作系統(tǒng)中每個(gè)模塊對(duì)應(yīng)的測(cè)試用例之前,該方法還包括:獲取更新后的集中配置管理系統(tǒng)的代碼;將集中配置管理系統(tǒng)的代碼逐次同步至緩存區(qū)中;在獲取每個(gè)待測(cè)試操作系統(tǒng)中每個(gè)模塊對(duì)應(yīng)的測(cè)試用例之后,該方法還包括:將緩存區(qū)中更新后的代碼移動(dòng)至工作區(qū),根據(jù)測(cè)試用例和更新后的代碼對(duì)對(duì)應(yīng)的模塊進(jìn)行測(cè)試,其中,工作區(qū)是集中配置管理系統(tǒng)的代碼執(zhí)行時(shí)的目錄。

例如,在測(cè)試機(jī)收到來(lái)自于gitlab的消息時(shí),在本申請(qǐng)實(shí)施例中同步gitlab上的代碼到測(cè)試機(jī)的緩存區(qū),在正式開始測(cè)試時(shí),將代碼從緩存區(qū)移動(dòng)到工作區(qū),根據(jù)測(cè)試用例和更新后的代碼對(duì)對(duì)應(yīng)的模塊進(jìn)行測(cè)試。

可選地,在本申請(qǐng)實(shí)施例提供的集中配置管理系統(tǒng)測(cè)試報(bào)告的生成方法中,集中配置管理系統(tǒng)的代碼包括多個(gè)分支代碼,將集中配置管理系統(tǒng)的代碼逐次同步至緩存區(qū)中包括:確定待同步至緩存區(qū)中的當(dāng)前分支代碼;判斷在緩存區(qū)中是否存在以當(dāng)前分支代碼命名的文件夾;如果在緩存區(qū)中不存在以當(dāng)前分支代碼命名的文件夾,在緩存區(qū)中創(chuàng)建以當(dāng)前分支代碼命名的文件夾,并將當(dāng)前分支代碼同步至緩存區(qū)中以當(dāng)前分支代碼命名的文件夾下。

例如,在緩存區(qū)里,以代碼分支為名創(chuàng)建文件夾,在文件夾里面存放了此分支的代碼。緩存區(qū)結(jié)構(gòu)的示意圖,如圖2所示。例如有4個(gè)分支代碼在緩存區(qū)中,分別為branch_a、branch_b、branch_c和branch_d,代碼的更新分為兩種情況:當(dāng)前更新的分支代碼還在緩存區(qū)中,這種情況表明此分支的代碼還未來(lái)得及測(cè)試,又有新的提交,此時(shí)新提交的代碼會(huì)去覆蓋已經(jīng)存在的代碼。例如branch_a已經(jīng)存在緩存區(qū),當(dāng)有程序繼續(xù)向branch_a提交代碼時(shí),此時(shí)新的代碼會(huì)覆蓋branch_a這個(gè)目錄。當(dāng)前更新的分支代碼在緩存區(qū)不存在,此時(shí)會(huì)以當(dāng)前分支為名創(chuàng)建文件夾,并且把當(dāng)前分支的代碼同步到此文件夾。如果圖2中所示的branch_d之前不存在,假如當(dāng)前更新的分支為branch_d,則創(chuàng)建branch_d文件夾,然后將代碼同步到此文件夾中。

當(dāng)在工作區(qū)的執(zhí)行的任務(wù)測(cè)試完畢之后,將緩存區(qū)中最早緩存的代碼移動(dòng)到工作區(qū),執(zhí)行測(cè)試任務(wù)。如圖3所示,代碼從緩存區(qū)搬運(yùn)到工作區(qū),左邊虛線框表示被移動(dòng)的文件夾在執(zhí)行移動(dòng)操作后就不再出現(xiàn)在緩存區(qū)。

步驟s104,逐次采用每個(gè)測(cè)試用例對(duì)對(duì)應(yīng)的模塊進(jìn)行測(cè)試,得到多個(gè)測(cè)試結(jié)果。

在多個(gè)操作系統(tǒng)上需要分別執(zhí)行測(cè)試用例,例如10個(gè)操作系統(tǒng),測(cè)試用例有100條,10個(gè)操作系統(tǒng)每個(gè)都需要把這100條測(cè)試用例運(yùn)行一次,因此需要運(yùn)行100*10=100次。在進(jìn)行用例設(shè)計(jì)時(shí),將測(cè)試用例根據(jù)具體的功能來(lái)進(jìn)行分組,例如10條測(cè)試用例測(cè)試網(wǎng)絡(luò)相關(guān)功能,4條用例防火墻操作等等。如圖4所示,在執(zhí)行測(cè)試用例時(shí),依次在宿主機(jī)上開啟測(cè)試虛擬機(jī),例如debian7,然后按照模塊(網(wǎng)絡(luò)模塊,防火墻模塊)依次再執(zhí)行測(cè)試用例,每次執(zhí)行測(cè)試用例后會(huì)返回當(dāng)前測(cè)試用例的執(zhí)行結(jié)果。

可選地,為了將測(cè)試結(jié)果進(jìn)行有序組織,在本申請(qǐng)實(shí)施例提供的集中配置管理系統(tǒng)測(cè)試報(bào)告的生成方法中,逐次采用每個(gè)測(cè)試用例對(duì)對(duì)應(yīng)的模塊進(jìn)行測(cè)試,得到多個(gè)測(cè)試結(jié)果之前,該方法還包括:生成與每個(gè)待測(cè)試操作系統(tǒng)中每個(gè)模塊對(duì)應(yīng)的目標(biāo)文件夾,其中,目標(biāo)文件夾用于存儲(chǔ)對(duì)應(yīng)的模塊的測(cè)試結(jié)果;確定每個(gè)目標(biāo)文件夾的存儲(chǔ)路徑。逐次采用每個(gè)測(cè)試用例對(duì)對(duì)應(yīng)的模塊進(jìn)行測(cè)試,得到多個(gè)測(cè)試結(jié)果包括:確定當(dāng)前正在執(zhí)行測(cè)試用例的模塊;基于當(dāng)前正在執(zhí)行測(cè)試用例的模塊調(diào)整其測(cè)試結(jié)果指向的目標(biāo)文件夾;將對(duì)當(dāng)前正在執(zhí)行測(cè)試用例的模塊的測(cè)試結(jié)果逐條寫入指向的目標(biāo)文件夾下。

在測(cè)試過(guò)程中,每執(zhí)行一個(gè)測(cè)試用例時(shí),都會(huì)產(chǎn)生一個(gè)當(dāng)前測(cè)試用例的測(cè)試結(jié)果。為了在后期整理結(jié)果時(shí)方便知道某個(gè)測(cè)試結(jié)果是具體某臺(tái)操作系統(tǒng)中執(zhí)行某個(gè)模塊中的測(cè)試用例產(chǎn)生的。在本申請(qǐng)實(shí)施例中在具體用例執(zhí)行時(shí),在本申請(qǐng)實(shí)施例中設(shè)置一個(gè)總的調(diào)度模塊,該調(diào)度模塊負(fù)責(zé)調(diào)度具體的測(cè)試操作系統(tǒng)執(zhí)行具體的測(cè)試用例。而具體的執(zhí)行依靠的是執(zhí)行測(cè)試用例,同時(shí)報(bào)告也是這個(gè)測(cè)試用例產(chǎn)生的。

在本申請(qǐng)中將測(cè)試用例與測(cè)試結(jié)果進(jìn)行設(shè)置關(guān)聯(lián)。具體地,調(diào)度模塊在開始執(zhí)行時(shí),會(huì)根據(jù)需要執(zhí)行的操作系統(tǒng)及模塊初始化一個(gè)文件夾。例如圖4中需要在debian7,debian8,debian9中分別執(zhí)行網(wǎng)絡(luò)模塊,防火墻模塊以及文件權(quán)限模塊。將初始化出來(lái)一個(gè)如圖5所示的目錄結(jié)構(gòu)。例如,測(cè)試結(jié)果保存目錄為reports文件夾,初始化完成之后在reports目錄下將會(huì)根據(jù)測(cè)試的操作系統(tǒng)類型,初始化出debian7,debian8,debian9三個(gè)目錄,然后在debian7,debian8,debian9三個(gè)目錄下分別會(huì)存在network,filewall以及filepermission三個(gè)文件。在調(diào)度模塊開始調(diào)度某個(gè)虛擬機(jī)開始執(zhí)行用例時(shí),調(diào)度模塊會(huì)做執(zhí)行兩件任務(wù),第一,調(diào)度模塊會(huì)在此操作系統(tǒng)對(duì)應(yīng)的文件目錄創(chuàng)建一個(gè)指向文件夾的軟鏈接,在本申請(qǐng)實(shí)施例中將此軟鏈接命名為linkmachine。當(dāng)現(xiàn)在需要開始在debian7虛擬機(jī)執(zhí)行時(shí),將linkmachine指向debian7目錄,此時(shí)的效果是,當(dāng)訪問reports/linkmachine時(shí),實(shí)際訪問的是reports/debian7目錄。第二,調(diào)度模塊會(huì)在reports/debian7中創(chuàng)建一個(gè)指向文件的軟鏈接,將其命名為linkmodule,例如現(xiàn)在測(cè)試的是network模塊中的測(cè)試用例,則linkmodule指向network文件。此時(shí)當(dāng)訪問reports/linkmachine/linkmodule這個(gè)文件,實(shí)際上訪問的是reports/debian7/network文件,如圖6所示。

頂層模塊在每次調(diào)度執(zhí)行時(shí),會(huì)根據(jù)當(dāng)前運(yùn)行的測(cè)試系統(tǒng)和模塊更改指針指向,例如執(zhí)行debian8操作系統(tǒng)中的firewall模塊,則會(huì)將linkmachine指向debian8文件夾,將linkmodule指向firewall文件。具體執(zhí)行測(cè)試的實(shí)例只需要將測(cè)試結(jié)果逐條寫入到reports/linkmachine/linkmodule文件中。

需要說(shuō)明的是,為了減小了系統(tǒng)性能的開銷,提升測(cè)試處理效率,在本申請(qǐng)實(shí)施例中也可以將測(cè)試生成的測(cè)試結(jié)果直接作為一個(gè)變量保存起來(lái)。

步驟s105,基于多個(gè)測(cè)試結(jié)果生成測(cè)試報(bào)告。

根據(jù)多個(gè)測(cè)試結(jié)果整理出一份可視化程度高的測(cè)試報(bào)告。生成的測(cè)試報(bào)告可以從整體上反映測(cè)試情況的效果。

可選地,在本申請(qǐng)實(shí)施例提供的集中配置管理系統(tǒng)測(cè)試報(bào)告的生成方法中,基于多個(gè)測(cè)試結(jié)果生成測(cè)試報(bào)告包括:對(duì)多個(gè)測(cè)試結(jié)果進(jìn)行分析,得到第一目標(biāo)數(shù)據(jù)信息和第二目標(biāo)數(shù)據(jù)信息,其中,第一目標(biāo)數(shù)據(jù)信息中至少包括:測(cè)試用例的數(shù)量、測(cè)試失敗的數(shù)量和測(cè)試成功的數(shù)量,第二目標(biāo)數(shù)據(jù)信息中至少包括:每個(gè)待測(cè)試操作系統(tǒng)中每個(gè)模塊的測(cè)試信息和對(duì)待測(cè)試操作系統(tǒng)中模塊測(cè)試失敗的信息;將第一目標(biāo)數(shù)據(jù)信息和第二目標(biāo)數(shù)據(jù)信息填充至預(yù)設(shè)模板中,生成測(cè)試報(bào)告。

具體地,測(cè)試完成之后,測(cè)試結(jié)果將會(huì)被組織成如圖7的形式,每個(gè)模塊中的測(cè)試用例執(zhí)行結(jié)果將會(huì)保存在對(duì)應(yīng)的模塊文件中,例如,在debian7中執(zhí)行network模塊中的n_case_1的結(jié)果將會(huì)被保存在debian7目錄下的network文件中,記錄成n_caseresult_1這一條記錄。結(jié)果統(tǒng)計(jì)從測(cè)試系統(tǒng)和模塊兩個(gè)維度進(jìn)行統(tǒng)計(jì),掃描某個(gè)操作系統(tǒng)例如debian7目錄下所有的文件,然后逐條讀取文件中的執(zhí)行結(jié)果。整體上統(tǒng)計(jì)此次執(zhí)行總共的用例數(shù),執(zhí)行失敗數(shù)和成功數(shù)。并且分模塊來(lái)整理成功失敗的用例數(shù),對(duì)于失敗的用例還會(huì)將失敗的原因進(jìn)行統(tǒng)計(jì)。

根據(jù)上述匯總的數(shù)據(jù)渲染出一份直觀的測(cè)試報(bào)告??梢圆捎渺o態(tài)網(wǎng)頁(yè)是展示報(bào)告的形式,會(huì)將靜態(tài)網(wǎng)頁(yè)制作成一個(gè)報(bào)告的模板,在測(cè)試完成之后,將數(shù)據(jù)填充在模板中則可渲染出測(cè)試報(bào)告。

在本申請(qǐng)實(shí)施例中的靜態(tài)網(wǎng)頁(yè)主要包括兩個(gè)頁(yè)面,一個(gè)是信息總覽頁(yè)面,至少包括測(cè)試用例的總數(shù),成功多少,失敗多少。另一個(gè)則為各個(gè)操作系統(tǒng)下的詳細(xì)測(cè)試信息,里面至少包括具體模塊的測(cè)試信息,失敗用例的信息。如圖8所示,圖8為本申請(qǐng)實(shí)施例生成的測(cè)試報(bào)告的示意圖。

在本申請(qǐng)中的預(yù)設(shè)模板是利用上述的靜態(tài)網(wǎng)頁(yè),將一些數(shù)據(jù)提取出來(lái),然后更換成rubyerb的語(yǔ)法??梢詫⑸鲜龅牟僮飨到y(tǒng),測(cè)試用例執(zhí)行情況制作成如圖9所示的預(yù)設(shè)模板。圖9中的is_success,passed這些都是erb模板變量。

在每次測(cè)試完成之后,利用匯總的測(cè)試數(shù)據(jù),填充到上述的預(yù)設(shè)模板中,例如is_success=”失敗”,passed=120填充到模板中,即可渲染成本申請(qǐng)實(shí)施例中的測(cè)試報(bào)告。通過(guò)上述操作,實(shí)現(xiàn)了整理自動(dòng)化測(cè)試的結(jié)果,包括執(zhí)行失敗和成功的統(tǒng)計(jì)條目,失敗用例對(duì)應(yīng)模塊或者接口的相關(guān)信息,用于后續(xù)問題的跟進(jìn)和調(diào)試。

在本申請(qǐng)實(shí)施例中利用beaker-rspec作為核心的測(cè)試技術(shù),在此基礎(chǔ)上以vagrant作為測(cè)試的載體來(lái)運(yùn)行測(cè)試,解決多個(gè)操作系統(tǒng)的測(cè)試問題。通過(guò)新增或者修改模塊,提交到git之后自動(dòng)觸發(fā)測(cè)試的運(yùn)行,在測(cè)試過(guò)程中根據(jù)不同的操作系統(tǒng)來(lái)對(duì)測(cè)試結(jié)果進(jìn)行歸類。最終進(jìn)行匯總和分析,渲染成一份可讀性強(qiáng)且包含調(diào)試信息的測(cè)試報(bào)告,進(jìn)而達(dá)到了生成的測(cè)試報(bào)告可以從整體上反映測(cè)試情況的效果。

綜上所述,本申請(qǐng)實(shí)施例提供的集中配置管理系統(tǒng)測(cè)試報(bào)告的生成方法,通過(guò)檢測(cè)集中配置管理系統(tǒng)的代碼是否已更新;若檢測(cè)到集中配置管理系統(tǒng)的代碼已更新,確定多個(gè)待測(cè)試操作系統(tǒng),其中,多個(gè)待測(cè)試操作系統(tǒng)由集中配置管理系統(tǒng)配置;獲取多個(gè)待測(cè)試系統(tǒng)中的每個(gè)待測(cè)試操作系統(tǒng)中每個(gè)模塊對(duì)應(yīng)的測(cè)試用例;逐次采用每個(gè)測(cè)試用例對(duì)對(duì)應(yīng)的模塊進(jìn)行測(cè)試,得到多個(gè)測(cè)試結(jié)果;基于多個(gè)測(cè)試結(jié)果生成測(cè)試報(bào)告,解決了相關(guān)技術(shù)中測(cè)試報(bào)告難以從整體上反映測(cè)試情況的問題。通過(guò)在檢測(cè)到集中配置管理系統(tǒng)的代碼已更新時(shí),觸發(fā)對(duì)待測(cè)試操作系統(tǒng)進(jìn)行測(cè)試,并基于測(cè)試得到的多個(gè)測(cè)試結(jié)果生成測(cè)試報(bào)告,進(jìn)而達(dá)到了生成的測(cè)試報(bào)告可以從整體上反映測(cè)試情況的效果。

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

實(shí)施例2

本申請(qǐng)實(shí)施例還提供了一種集中配置管理系統(tǒng)測(cè)試報(bào)告的生成裝置,需要說(shuō)明的是,本申請(qǐng)實(shí)施例的集中配置管理系統(tǒng)測(cè)試報(bào)告的生成裝置可以用于執(zhí)行本申請(qǐng)實(shí)施例所提供的用于集中配置管理系統(tǒng)測(cè)試報(bào)告的生成方法。以下對(duì)本申請(qǐng)實(shí)施例提供的集中配置管理系統(tǒng)測(cè)試報(bào)告的生成裝置進(jìn)行介紹。

圖10是根據(jù)本申請(qǐng)實(shí)施例的集中配置管理系統(tǒng)測(cè)試報(bào)告的生成裝置的示意圖。如圖10所示,該裝置包括:檢測(cè)單元10、確定單元20、第一獲取單元30、測(cè)試單元40和生成單元50。

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

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

第一獲取單元30,用于獲取多個(gè)待測(cè)試系統(tǒng)中的每個(gè)待測(cè)試操作系統(tǒng)中每個(gè)模塊對(duì)應(yīng)的測(cè)試用例。

測(cè)試單元40,用于逐次采用每個(gè)測(cè)試用例對(duì)對(duì)應(yīng)的模塊進(jìn)行測(cè)試,得到多個(gè)測(cè)試結(jié)果。

生成單元50,用于基于多個(gè)測(cè)試結(jié)果生成測(cè)試報(bào)告。

本申請(qǐng)實(shí)施例提供的集中配置管理系統(tǒng)測(cè)試報(bào)告的生成裝置,通過(guò)檢測(cè)單元10檢測(cè)集中配置管理系統(tǒng)的代碼是否已更新;確定單元20若檢測(cè)到集中配置管理系統(tǒng)的代碼已更新,確定多個(gè)待測(cè)試操作系統(tǒng),其中,多個(gè)待測(cè)試操作系統(tǒng)由集中配置管理系統(tǒng)配置;第一獲取單元30獲取多個(gè)待測(cè)試系統(tǒng)中的每個(gè)待測(cè)試操作系統(tǒng)中每個(gè)模塊對(duì)應(yīng)的測(cè)試用例;測(cè)試單元40逐次采用每個(gè)測(cè)試用例對(duì)對(duì)應(yīng)的模塊進(jìn)行測(cè)試,得到多個(gè)測(cè)試結(jié)果;生成單元50基于多個(gè)測(cè)試結(jié)果生成測(cè)試報(bào)告,解決了相關(guān)技術(shù)中測(cè)試報(bào)告難以從整體上反映測(cè)試情況的問題。通過(guò)在檢測(cè)到集中配置管理系統(tǒng)的代碼已更新時(shí),觸發(fā)對(duì)待測(cè)試操作系統(tǒng)進(jìn)行測(cè)試,并基于測(cè)試得到的多個(gè)測(cè)試結(jié)果生成測(cè)試報(bào)告,進(jìn)而達(dá)到了生成的測(cè)試報(bào)告可以從整體上反映測(cè)試情況的效果。

可選地,在本申請(qǐng)實(shí)施例提供的集中配置管理系統(tǒng)測(cè)試報(bào)告的生成裝置中,生成單元50包括:分析模塊,用于對(duì)多個(gè)測(cè)試結(jié)果進(jìn)行分析,得到第一目標(biāo)數(shù)據(jù)信息和第二目標(biāo)數(shù)據(jù)信息,其中,第一目標(biāo)數(shù)據(jù)信息中至少包括:測(cè)試用例的數(shù)量、測(cè)試失敗的數(shù)量和測(cè)試成功的數(shù)量,第二目標(biāo)數(shù)據(jù)信息中至少包括:每個(gè)待測(cè)試操作系統(tǒng)中每個(gè)模塊的測(cè)試信息和對(duì)待測(cè)試操作系統(tǒng)中模塊測(cè)試失敗的信息;填充模塊,用于將第一目標(biāo)數(shù)據(jù)信息和第二目標(biāo)數(shù)據(jù)信息填充至預(yù)設(shè)模板中,生成測(cè)試報(bào)告。

可選地,在本申請(qǐng)實(shí)施例提供的集中配置管理系統(tǒng)測(cè)試報(bào)告的生成裝置中,該裝置還包括:第二獲取單元,用于在獲取每個(gè)待測(cè)試操作系統(tǒng)中每個(gè)模塊對(duì)應(yīng)的測(cè)試用例之前,獲取更新后的集中配置管理系統(tǒng)的代碼;同步單元,用于將集中配置管理系統(tǒng)的代碼逐次同步至緩存區(qū)中;其中,該裝置還包括:移動(dòng)單元,用于在獲取每個(gè)待測(cè)試操作系統(tǒng)中每個(gè)模塊對(duì)應(yīng)的測(cè)試用例之后,將緩存區(qū)中更新后的代碼移動(dòng)至工作區(qū),根據(jù)測(cè)試用例和更新后的代碼對(duì)對(duì)應(yīng)的模塊進(jìn)行測(cè)試,其中,工作區(qū)是集中配置管理系統(tǒng)的代碼執(zhí)行時(shí)的目錄。

可選地,在本申請(qǐng)實(shí)施例提供的集中配置管理系統(tǒng)測(cè)試報(bào)告的生成裝置中,集中配置管理系統(tǒng)的代碼包括多個(gè)分支代碼,同步單元包括:確定模塊,用于確定待同步至緩存區(qū)中的當(dāng)前分支代碼;判斷模塊,用于判斷在緩存區(qū)中是否存在以當(dāng)前分支代碼命名的文件夾;同步模塊,用于在緩存區(qū)中不存在以當(dāng)前分支代碼命名的文件夾的情況下,在緩存區(qū)中創(chuàng)建以當(dāng)前分支代碼命名的文件夾,并將當(dāng)前分支代碼同步至緩存區(qū)中以當(dāng)前分支代碼命名的文件夾下。

所述集中配置管理系統(tǒng)測(cè)試報(bào)告的生成裝置包括處理器和存儲(chǔ)器,上述檢測(cè)單元10、確定單元20、第一獲取單元30、測(cè)試單元40和生成單元50等均作為程序單元存儲(chǔ)在存儲(chǔ)器中,由處理器執(zhí)行存儲(chǔ)在存儲(chǔ)器中的上述程序單元來(lái)實(shí)現(xiàn)相應(yīng)的功能。

處理器中包含內(nèi)核,由內(nèi)核去存儲(chǔ)器中調(diào)取相應(yīng)的程序單元。內(nèi)核可以設(shè)置一個(gè)或以上,通過(guò)調(diào)整內(nèi)核參數(shù)來(lái)生成集中配置管理系統(tǒng)測(cè)試報(bào)告。

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

本發(fā)明實(shí)施例提供了一種存儲(chǔ)介質(zhì),其上存儲(chǔ)有程序,該程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)所述集中配置管理系統(tǒng)測(cè)試報(bào)告的生成方法。

本發(fā)明實(shí)施例提供了一種處理器,所述處理器用于運(yùn)行程序,其中,所述程序運(yùn)行時(shí)執(zhí)行所述集中配置管理系統(tǒng)測(cè)試報(bào)告的生成方法。

本發(fā)明實(shí)施例提供了一種終端,包括:一個(gè)或多個(gè)處理器,存儲(chǔ)器,顯示裝置以及一個(gè)或多個(gè)程序,其中,所述一個(gè)或多個(gè)程序被存儲(chǔ)在所述存儲(chǔ)器中,并且被配置為由所述一個(gè)或多個(gè)處理器執(zhí)行,所述一個(gè)或多個(gè)程序包括用于執(zhí)行所述的集中配置管理系統(tǒng)測(cè)試報(bào)告的生成方法。

本申請(qǐng)還提供了一種計(jì)算機(jī)程序產(chǎn)品,當(dāng)在數(shù)據(jù)處理設(shè)備上執(zhí)行時(shí),適于執(zhí)行初始化有如下方法步驟的程序:檢測(cè)集中配置管理系統(tǒng)的代碼是否已更新;若檢測(cè)到所述集中配置管理系統(tǒng)的代碼已更新,確定多個(gè)待測(cè)試操作系統(tǒng),其中,所述多個(gè)待測(cè)試操作系統(tǒng)由所述集中配置管理系統(tǒng)配置;獲取所述多個(gè)待測(cè)試系統(tǒng)中的每個(gè)待測(cè)試操作系統(tǒng)中每個(gè)模塊對(duì)應(yīng)的測(cè)試用例;逐次采用每個(gè)測(cè)試用例對(duì)對(duì)應(yīng)的模塊進(jìn)行測(cè)試,得到多個(gè)測(cè)試結(jié)果;基于所述多個(gè)測(cè)試結(jié)果生成測(cè)試報(bào)告。

基于所述多個(gè)測(cè)試結(jié)果生成測(cè)試報(bào)告包括:對(duì)所述多個(gè)測(cè)試結(jié)果進(jìn)行分析,得到第一目標(biāo)數(shù)據(jù)信息和第二目標(biāo)數(shù)據(jù)信息,其中,所述第一目標(biāo)數(shù)據(jù)信息中至少包括:測(cè)試用例的數(shù)量、測(cè)試失敗的數(shù)量和測(cè)試成功的數(shù)量,所述第二目標(biāo)數(shù)據(jù)信息中至少包括:每個(gè)待測(cè)試操作系統(tǒng)中每個(gè)模塊的測(cè)試信息和對(duì)待測(cè)試操作系統(tǒng)中模塊測(cè)試失敗的信息;將所述第一目標(biāo)數(shù)據(jù)信息和所述第二目標(biāo)數(shù)據(jù)信息填充至預(yù)設(shè)模板中,生成所述測(cè)試報(bào)告。

逐次采用每個(gè)測(cè)試用例對(duì)對(duì)應(yīng)的模塊進(jìn)行測(cè)試,得到多個(gè)測(cè)試結(jié)果之前,所述方法還包括:生成與每個(gè)待測(cè)試操作系統(tǒng)中每個(gè)模塊對(duì)應(yīng)的目標(biāo)文件夾,其中,所述目標(biāo)文件夾用于存儲(chǔ)對(duì)應(yīng)的模塊的測(cè)試結(jié)果;確定每個(gè)目標(biāo)文件夾的存儲(chǔ)路徑。

逐次采用每個(gè)測(cè)試用例對(duì)對(duì)應(yīng)的模塊進(jìn)行測(cè)試,得到多個(gè)測(cè)試結(jié)果包括:確定當(dāng)前正在執(zhí)行測(cè)試用例的模塊;基于所述當(dāng)前正在執(zhí)行測(cè)試用例的模塊調(diào)整其測(cè)試結(jié)果指向的目標(biāo)文件夾;將對(duì)當(dāng)前正在執(zhí)行測(cè)試用例的模塊的測(cè)試結(jié)果逐條寫入指向的所述目標(biāo)文件夾下。

在獲取每個(gè)待測(cè)試操作系統(tǒng)中每個(gè)模塊對(duì)應(yīng)的測(cè)試用例之前,所述方法還包括:獲取更新后的所述集中配置管理系統(tǒng)的代碼;將所述集中配置管理系統(tǒng)的代碼逐次同步至緩存區(qū)中;在獲取每個(gè)待測(cè)試操作系統(tǒng)中每個(gè)模塊對(duì)應(yīng)的測(cè)試用例之后,所述方法還包括:將所述緩存區(qū)中更新后的代碼移動(dòng)至工作區(qū),根據(jù)所述測(cè)試用例和所述更新后的代碼對(duì)對(duì)應(yīng)的模塊進(jìn)行測(cè)試,其中,所述工作區(qū)是所述集中配置管理系統(tǒng)的代碼執(zhí)行時(shí)的目錄。

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

本申請(qǐng)是參照根據(jù)本申請(qǐng)實(shí)施例的方法、設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來(lái)描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合。可提供這些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個(gè)操作系統(tǒng),使得通過(guò)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的裝置。

這些計(jì)算機(jī)程序指令也可存儲(chǔ)在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計(jì)算機(jī)可讀存儲(chǔ)器中,使得存儲(chǔ)在該計(jì)算機(jī)可讀存儲(chǔ)器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能。

這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的步驟。

在一個(gè)典型的配置中,計(jì)算設(shè)備包括一個(gè)或多個(gè)處理器(cpu)、輸入/輸出接口、網(wǎng)絡(luò)接口和內(nèi)存。

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

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

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

本領(lǐng)域技術(shù)人員應(yīng)明白,本申請(qǐng)的實(shí)施例可提供為方法、系統(tǒng)或計(jì)算機(jī)程序產(chǎn)品。因此,本申請(qǐng)可采用完全硬件實(shí)施例、完全軟件實(shí)施例或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本申請(qǐng)可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包括但不限于磁盤存儲(chǔ)器、cd-rom、光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。

以上僅為本申請(qǐng)的實(shí)施例而已,并不用于限制本申請(qǐng)。對(duì)于本領(lǐng)域技術(shù)人員來(lái)說(shuō),本申請(qǐng)可以有各種更改和變化。凡在本申請(qǐng)的精神和原理之內(nèi)所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本申請(qǐng)的權(quán)利要求范圍之內(nèi)。

當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1