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级免费视频| 亚洲IV视频免费在线光看| 日韩免费视频播播| 国产地址二永久伊甸园| 日韩人妻少妇一区二区| 国产精品xxx| 精品国产Av电影无码久久久| 欧美在线导航| 98精品全国免费观看视频| 2024av在线无码中文最新| 久久成人免费| 999国产精品| 国产AV无码专区亚洲精品网站| 99久久精品免费观看国产| 免费女人18毛片a级毛片视频| 国产JIZzJIzz视频全部免费| 欧美成人二区| 欧美性猛交一区二区三区| 国产免费人成视频网| 手机永久AV在线播放| 精品综合久久久久久97超人| av在线无码浏览| 国产精品浪潮Av| 国产精品久久久久久久久| 国产精品成人免费视频99| 青青网在线国产| 尤物视频一区| 国产成人一二三| 国产精品一线天| 成人伊人色一区二区三区| jijzzizz老师出水喷水喷出| 亚洲无线一二三四区男男| 国产欧美成人不卡视频| 欧美成人午夜视频免看| 亚洲欧洲AV一区二区三区| 国产黄在线免费观看| 亚洲AV免费一区二区三区| 国产精品爽爽va在线无码观看| 欧美爱爱网| 亚洲高清在线天堂精品| 国产黄网站在线观看| 青草娱乐极品免费视频| 免费无码一区二区| 色吊丝av中文字幕| 91精品伊人久久大香线蕉| 伦精品一区二区三区视频| 久久成人免费| 99久久国产综合精品2023| 一级做a爰片久久毛片毛片| 青青草原国产av福利网站| www.99在线观看| 国产精品欧美激情| 婷婷六月综合网| 午夜日韩久久影院| 亚洲毛片一级带毛片基地| 国产一区二区丝袜高跟鞋| 无码在线激情片| 亚洲综合天堂网| 99久久精品国产精品亚洲| 欧美在线国产| 拍国产真实乱人偷精品| 伊在人亚洲香蕉精品播放| 欧美精品一区在线看| 欧美色视频在线| 2021天堂在线亚洲精品专区| аv天堂最新中文在线| 国产尤物在线播放| 亚洲色图在线观看| 人妻少妇乱子伦精品无码专区毛片| 91无码视频在线观看| 欧美午夜理伦三级在线观看| 97精品久久久大香线焦| 永久在线播放| 日韩无码视频专区| www.日韩三级| 中文字幕av一区二区三区欲色| 99久久免费精品特色大片|