999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于多平臺的自動化部署方案的研究與實現(xiàn)

2011-03-16 06:17:20
電子測試 2011年5期

陳 思

(南京郵電大學(xué) 自動化學(xué)院,南京 210003)

0 引言

自動化部署,是指在測試前自動的進行虛擬機創(chuàng)建,還原快照,系統(tǒng)配置等一系列的操作。在軟件的自動化測試過程中,首先遇到的問題是要對測試環(huán)境進行部署,需要同時創(chuàng)建和配置大量虛擬機,但是手動復(fù)制和配置大量虛擬機是一件繁瑣重復(fù)的任務(wù)。與此同時還需要完成網(wǎng)絡(luò)設(shè)置、主機名和域的配置——這些工作很快就變成了體力活。正如可以通過自動化構(gòu)建來減少錯誤并加快軟件開發(fā)一樣,也可以通過自動化部署流程來減少錯誤和加快軟件交付。

本文采用VMware SDK (API操作)+Ant(項目管理)的模式實現(xiàn)了一個可重復(fù)創(chuàng)建、測試和配置的自動化部署方案。可實現(xiàn)分布式的多平臺部署,僅需要對配置文件進行修改,就可以同時部署多臺虛擬機,其目的在于把測試者從這種繁瑣的勞動中解脫出來,從而更有效的減輕軟件測試中的負擔(dān)。

1 方案的工作原理

所謂自動化部署流程,它包括編譯、數(shù)據(jù)修改集成(例如數(shù)據(jù)庫表)、向其他計算機遠程部署發(fā)行包(如 JAR 和WAR)以及管理遠程計算機中的資源。盡管如此,仍然

有很多工作可以通過自動化完成,比如創(chuàng)建虛擬機、測試、程序的靜態(tài)安裝等等。

目前,基于VMware Tools API的關(guān)鍵開源客戶端程序庫和工具可以為測試者提供大部分的功能。其他開源工具通過插件也能對VMWare的虛擬機進行控制。實現(xiàn)自動化部署的核心工具是一個構(gòu)建腳本,在本文中,我使用的是 Ant 。

Ant是一款開源Java構(gòu)建工具,它利用VMWare相關(guān)插件使開源工具和開發(fā)者生態(tài)系統(tǒng)能夠獲取VMware vCloud API。Ant 腳本將使用屬性文件(特定于目標(biāo)環(huán)境,如演示和生產(chǎn)環(huán)境),通過 Ant 的 sql 任務(wù)與 MySQL 數(shù)據(jù)庫交互,使用 Java Secure Channel (JSch) 將文件復(fù)制到遠程機器上(通過 Secure-Copy 協(xié)議(SCP))并進行環(huán)境設(shè)置和安裝程序(通過 SSH)。

因此,通過自動化實現(xiàn)這些流程,可以使測試者更迅速更順利地向用戶交付軟件。

針對現(xiàn)有的自動化測試工具,我們可以通過兩種方式來控制部署模式。如圖1所示,第一,創(chuàng)建虛擬機,進行開關(guān)機以及快照管理,可調(diào)用VMWare上的一些API來進行實現(xiàn),VMware vCenter Server 可以集中管理數(shù)百臺 VMware ESX 主機以及數(shù)千個虛擬機,可為 IT 環(huán)境提供操作自動化、資源優(yōu)化和高可用性。通過使用單一 Windows 管理客戶端來管理所有任務(wù),管理員可以把鍵盤和鼠標(biāo)控制寫入腳本來自動部署、配置、啟動、停止、刪除、重新定位和遠程訪問虛擬機。第二,實現(xiàn)在虛擬機上的系統(tǒng)配置,網(wǎng)絡(luò)部署,程序的靜態(tài)安裝則需要在控制端安裝Ant,借用Ant的封裝接口遠程調(diào)用測試機上的bat腳本來實現(xiàn)。

圖1 自動部署方案工作原理

2 方案的實現(xiàn)

2.1 利用 Vmware API實現(xiàn)自動化部署

利用VMWare提供的SDK,可對Vmware的exsi中的虛擬機進行如下操作,具體來說需要的操作有以下幾個:

1) 連接exsi server; 2) 啟動虛擬機 ;3) 執(zhí)行快照; 4)還原快照;5) 獲取快照 ;6) 刪除快照 。

其中vSphere提供了兩套對VMWare的ESXi Server進行操作的SDK,一套是針對power shell腳本的,一套是針對.NET的。

2.1.1 針對powershell的腳本

以下是PowerCLI Cmdlets的一段power shell腳本:

這段腳本執(zhí)行的功能是將vmlist中的機器還原到”Clean”的snapshot,并重啟機器。在power shell腳本會用到的操作exsi的命令有以下5個:

2.1.2 針對.net的腳本

對于針對.NET的SDK,我們把需要的操作封裝到snapshotmgr.exe文件中,使用時只要提供不同的運行參數(shù)即可。 以下是一段.net的腳本:

2.2 利用 Ant實現(xiàn)自動化部署

Ant是一個Apache基金會下的跨平臺的構(gòu)件工具,它可以實現(xiàn)項目的自動構(gòu)建和部署等功能。如圖2所示,每一項部署的實現(xiàn)都寫在bat腳本中,在自動部署終端安裝Ant,通過XML文件來控制流程,從而實現(xiàn)了從自動部署終端到客戶端的VM的遠程控制以及對網(wǎng)絡(luò)文件服務(wù)器的映射。

2.2.1 Ant的安裝與配置

首先要在控制端安裝Ant,下載地址:http://ant. apache.org/,在本文中下載的是1.7.0版本。解壓到某個目錄(例如E:"apache-ant-1.7.0),即可使用。

圖2 Ant自動部署框架

安裝與配置完畢后,可以測試一下Ant是否可用,首先進入Ant的bin目錄,運行命令ant –version,若安裝和配置成功,則會顯示Ant版本信息,如圖3所示。

圖3 Ant安裝與配置

由圖3可以看出,當(dāng)運行Ant的命令時,需要進入到Ant的bin目錄,如何才能讓系統(tǒng)自動找到Ant呢?這時需要在系統(tǒng)環(huán)境變量path中添加Ant的bin目錄。設(shè)置完成后,就可以在任何目錄(例如C:"Documents and Settings"AmigoXie目錄)輸入Ant的命令,來獲得命令的運行結(jié)果。

2.2.2 部署流程分析

安裝好了Ant,就要開始編寫構(gòu)件文件。

Ant的構(gòu)件文件是基于XML編寫的,可按照以下步驟:

(1)定制部署的需求

把所有的需求放狀態(tài)集S中,

S=(A,B,C1,C2,C3,D1,D2,E1,E2,E3,E4,F,G)

(2)部署流程分析

●部署流程

●依賴關(guān)系

通常情況下,可以通過繪制流程圖進行分析。

如圖4所示,B的運行依賴于A,D1的運行依賴于B等等。

圖4 流程圖

(3)編寫流程文件 Ant腳本

基于流程圖,就可以開始編寫Ant構(gòu)件文件,

如下就是一個簡單的xml文件:

這段程序的依賴關(guān)系如圖5所示。

圖5 調(diào)用關(guān)系

Deploy的運行取決于DeployHub,DeployHub的運行取決于DeployAD,DeployAD的運行取決于logFile。

2.2.3 部署實例分析

這是自動化部署的一個實例,目的是進行Exchange環(huán)境自動部署,要分別在3臺Server:AD Server,Edge Server和Mailbox Server調(diào)用相應(yīng)的腳本,來完成自動化安裝。

這是各個事件的狀態(tài)以及它們之間的依賴關(guān)系如,圖6是定義的Deploy Exchange Workflow,各個腳本的調(diào)用關(guān)系如圖7所示,首先在AD Server上面調(diào)用ImportLocalOvfApp,把虛擬機導(dǎo)入VMWare,然后調(diào)用PowerOnVM_VIX開機和CopyFileToGuest_VIX把文件拷貝到相應(yīng)的虛擬機上面,AD Server將調(diào)用adinstall.bat完成AD Server的安裝,調(diào)用netdom.bat加入域和調(diào)用feature-install-xml.bat完成相應(yīng)的exchange software的安裝。

圖6 部署實例分析

圖7 腳本的調(diào)用關(guān)系

3 結(jié)束語

通過本文所述的自動化虛擬機部署解決方案可以看到,虛擬機的部署和初始配置已變得非常自動化。只需在 VM 部署任務(wù)文件中寫下配置,然后 VM 部署控制端將自動部署和配置所有虛擬機。此解決方案也是非常靈活的 —— 可以在已部署的 VM 啟動后運行自己的應(yīng)用程序。例如,可以通過在 VM 部署任務(wù)中搭建AD Server,要求 VM 在系統(tǒng)啟動后運行一個應(yīng)用程序以自動完成所有的配置。

總而言之,部署是軟件開發(fā)中另一個適合自動化的方面。自動化部署可以受益于可靠且可重復(fù)的流程:提高準(zhǔn)確性、速度和控制能力,也節(jié)省大量時間,從而對于提高軟件測試的效率和實現(xiàn)自動化測試的穩(wěn)定性具有很好的意義。

[1] 李夏安,陳志泊. 基于STAF的軟件自動化測試系統(tǒng)的研究和實現(xiàn)[J].計算機應(yīng)用,1993,29(3):699.

[2] 朱芳,李曦,趙振西.一種多平臺自動化測試工具的設(shè)計和實現(xiàn)[J].計算機工程,2004,30(24):186.

[3] 嚴少清,陳革,萬年紅.軟件測試自動化管理系統(tǒng)的設(shè)計與實現(xiàn)[J].計算機工程,2002, 28(9): 152.

[4] 商宇,基于STAF的自動化測試工具的研究與設(shè)計[J].云南民族大學(xué)學(xué)報,2009,18(3):279.

[5] Mosley,D.軟件測試自動化[M].北京:機械工業(yè)出版社,2002:10.

[6] Glenford J.Myers.軟件測試的藝術(shù)[M].2版. 王峰,陳杰 譯.北京:機械工業(yè)出版社,2006:5.

[7] 于海龍.軟件自動化測試輔助系統(tǒng)的分析與設(shè)計[D].濟南:山東大學(xué),2008.

[8] 劉曉明.軟件測試及其自動化模型的研究[D].無錫:江南大學(xué),2009.

主站蜘蛛池模板: 欧美在线天堂| 欧洲极品无码一区二区三区| a免费毛片在线播放| 毛片网站免费在线观看| 久久美女精品| 国产在线97| 欧美在线视频不卡| 日韩A∨精品日韩精品无码| 五月婷婷激情四射| 国产一区免费在线观看| 一本大道视频精品人妻| 亚洲精品成人片在线播放| 国产福利不卡视频| 精品在线免费播放| 片在线无码观看| 国产黄色爱视频| 国产又爽又黄无遮挡免费观看| 野花国产精品入口| 国产主播喷水| 日本五区在线不卡精品| 国产女人在线| 久久永久精品免费视频| 日韩精品成人在线| 91精品视频网站| 亚洲最猛黑人xxxx黑人猛交| yjizz国产在线视频网| AⅤ色综合久久天堂AV色综合| 欧美狠狠干| 国产乱子伦手机在线| 中文成人无码国产亚洲| 中文字幕精品一区二区三区视频| 婷婷99视频精品全部在线观看| 极品国产在线| 国产精品偷伦在线观看| 免费 国产 无码久久久| 国产91色在线| 韩国福利一区| 欧美午夜在线观看| 少妇被粗大的猛烈进出免费视频| 亚洲AV一二三区无码AV蜜桃| 日本草草视频在线观看| 996免费视频国产在线播放| 天堂av综合网| 日韩av无码DVD| 亚洲欧洲天堂色AV| 福利在线不卡| 国产精品主播| 福利在线不卡| 制服无码网站| 成年午夜精品久久精品| 国产福利拍拍拍| 午夜色综合| 国产JIZzJIzz视频全部免费| 天堂av高清一区二区三区| 日韩精品亚洲一区中文字幕| 久一在线视频| 欧美日韩一区二区三区四区在线观看| 亚洲欧洲日韩久久狠狠爱| 成人看片欧美一区二区| 欧美激情第一区| 欧美在线网| 欧美色图第一页| 五月婷婷中文字幕| 无遮挡一级毛片呦女视频| 欧美亚洲激情| 在线观看无码av五月花| 中文字幕乱妇无码AV在线| 中文字幕永久在线观看| 996免费视频国产在线播放| 四虎精品免费久久| 天天摸夜夜操| 欧美福利在线| 免费高清毛片| 国产成人一区免费观看| 日本精品αv中文字幕| 91亚洲精品国产自在现线| 无码AV日韩一二三区| 四虎综合网| a级毛片网| 97久久免费视频| 亚洲无码在线午夜电影| 国产成人精品一区二区三在线观看|