国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于云計算的軟件測試技術(shù)研究

2015-12-21 06:43陳平周坤董長青程旭
電腦知識與技術(shù) 2015年27期
關(guān)鍵詞:測試工具軟件測試計算技術(shù)

陳平 周坤 董長青 程旭

摘要:云計算技術(shù)的出現(xiàn)給軟件測試技術(shù)的發(fā)展帶來了深刻影響,催生了測試即服務(wù)(TaaS, Test as a Service)的理念,基于云計算的測試技術(shù)也是軟件測試領(lǐng)域發(fā)展的趨勢之一,該文對云計算技術(shù)的定義及提供的服務(wù)做了介紹,對云測試的概念及云測試提供的服務(wù)進行了分析,最后給出了一個搭建云測試平臺的方案。

關(guān)鍵詞:云計算;軟件測試技術(shù)

中圖分類號:TP393 文獻標識碼:A 文章編號:1009-3044(2015)28-0065-03

1.云計算

1.1 云計算定義

目前關(guān)于云計算還沒有確切的定義,但是美國國家標準與技術(shù)研究院(National Institute of Standards and Technology,NIST)的定義[1]是業(yè)內(nèi)認可度較高的:即云計算是一個模型,通過這個模型用戶可以方便地運用網(wǎng)絡(luò)按需訪問公共的可配置的計算資源池(網(wǎng)絡(luò)、服務(wù)器、存儲設(shè)備、應(yīng)用程序及服務(wù)等),這些資源可以被快速地提供并發(fā)布,同時可以最小化管理成本、減少用戶與服務(wù)提供商之間的交互過程。通過云計算,可將所有的軟件和硬件化為公共資源池,存儲在云服務(wù)器上,用戶只需在本地客戶端通過互聯(lián)網(wǎng)發(fā)送請求信息,遠程云服務(wù)器就會按需提供資源和服務(wù),并將結(jié)果返回到本地。

1.2云計算提供的服務(wù)

云計算提供三種服務(wù)[2]:基礎(chǔ)設(shè)施即服務(wù)(IaaS)、云平臺即服務(wù)(PaaS)、軟件即服務(wù)(SaaS),其服務(wù)模型如圖1所示。

1) IaaS(Infrastructure as a Service,基礎(chǔ)設(shè)施即服務(wù)),服務(wù)類型主要為大量服務(wù)器組成的云端基礎(chǔ)設(shè)施資源形成的各類虛擬資源池,并提供標準統(tǒng)一的資源服務(wù)接口,通過調(diào)用這些接口為用戶提供云計算特有的強大存儲和計算能力等服務(wù)。

2)PaaS(Platform as a Service,平臺即服務(wù)),將開發(fā)和運行環(huán)境作為一種服務(wù)來提供給用戶,用戶在云計算平臺基礎(chǔ)上,按照平臺規(guī)定和要求開發(fā)自己的應(yīng)用程序,也可以托管自己開發(fā)和運營的應(yīng)用到云平臺中,為用戶提供研發(fā)平臺。

3)SaaS(Software as a Service,軟件即服務(wù)),將所有的應(yīng)用軟件都部署在云計算環(huán)境中,用戶可以按需租用或者訂購相應(yīng)的軟件資源,并按照計費標準通過使用數(shù)量、次數(shù)、時間等方式收取費用,客戶只需按需使用。

2 云測試

2.1云測試概念

在本文中我們把在云計算環(huán)境上進行的測試稱為“云測試”,顧名思義,云測試由測試和云計算兩者組成,測試主要是指軟件測試。通過將與測試相關(guān)的測試工具及測試環(huán)境部署在云端,用戶在本地便可以進行測試工作。云測試按需服務(wù),并針對使用收費,可以提供比如性能測試、負載測試和Web應(yīng)用測試,以及在云中托管的測試環(huán)境[3]。

2.1測試即服務(wù)(TaaS)

由于云計算技術(shù)的推動,軟件測試技術(shù)獲得了巨大的發(fā)展,受到云測試提供的三種服務(wù)模式的影響,云計算在測試領(lǐng)域的應(yīng)用催生了測試即服務(wù)的模式(Test as a Service, TaaS)[4]。測試服務(wù)提供商通過云測試平臺向用戶提供多種測試服務(wù),用戶通過制定測試方案,云測試平臺按需分配測試資源,為用戶返回測試結(jié)果。

3 云測試平臺原型設(shè)計

云測試平臺是云計算技術(shù)提供測試服務(wù)提供的載體,測試提供者將可調(diào)用的測試資源部署在服務(wù)器上,并向用戶提供調(diào)用接口,用戶通過云測試平臺的前端創(chuàng)建測試項目,制訂測試計劃,上傳測試腳本,執(zhí)行測試過程,查看測試結(jié)果等[5]。為了更加深入地研究云測試的理論,我們進行了云測試平臺的原型設(shè)計。

3.1云測試平臺整體架構(gòu)

在我們的方案中,云測試平臺包含三層架構(gòu),最底層為IaaS層,該層中實現(xiàn)了物理資源的虛擬化、云平臺的管理和測試框架的管理;中間為TaaS層,該層實現(xiàn)了測試項目管理及測試代碼的分析與預(yù)處理,并與數(shù)據(jù)庫進行交互,保存上傳的測試腳本及測試項目;最上層為用戶層,該層面向用戶使用,用戶通過網(wǎng)絡(luò)調(diào)用云測試平臺的服務(wù)。整體架構(gòu)如圖2所示。

3.2云測試平臺的硬件環(huán)境

在搭建云測試平臺時為了節(jié)省研究成本,保證平臺的經(jīng)濟性,我們采用了三臺x86 架構(gòu)的單個服務(wù)器作為搭建云測試平臺的硬件設(shè)備,它們可以滿足當前的需要,有必要時可以對硬盤和內(nèi)存等資源進行動態(tài)擴展。其具體配置如表1所示:

在云測試平臺中,我們使用三臺計算機作為服務(wù)器,其中一臺作為云測試平臺的控制和存儲節(jié)點,另外兩臺作為計算節(jié)點,在兩臺計算節(jié)點中,一臺作為測試過程的控制節(jié)點,另一臺作為測試過程的執(zhí)行節(jié)點。

3.2云測試平臺的軟件環(huán)境

搭建云測試平臺時,首先應(yīng)當是云環(huán)境的選擇。由于本文中的云測試平臺僅供研究使用,因此我們并沒有采用商業(yè)云方案,其中一個原因是商業(yè)化的云平臺和服務(wù)的使用需按需支付費用,增加了不必要的成本,另一個重要的原因是,這些云測試平臺解決方案的底層設(shè)計牢牢把控在提供商手里,并不對外開放,因此對于研究人員來說開源軟件顯然是更好的選擇。一方面,開源軟件在使用時無需商業(yè)授權(quán),因此可將云計算軟件測試的研究和應(yīng)用實踐控制在較低的成本下;另一方面,開源的項目可提供源代碼的下載,使研究人員能夠深入地進行底層設(shè)計架構(gòu)的研究。

目前使用最多的開源云有CloudStack和OpenStack。CloudStack 前身為商業(yè)化產(chǎn)品,并于2011年以超過兩億美金的價格被 Ctrix公司收購,隨后被捐獻給了Apache 基金會,變?yōu)榱碎_源軟件。OpenStack 是由 Rackspace 和 NASA 主導開發(fā)的一個基礎(chǔ)云[6],擁有包括 HP,IBM,Dell 和 Redhat 等大公司在內(nèi)的龐大用戶群。兩者各有優(yōu)勢,它們的比較如表2所示。

由于CloudStack曾經(jīng)為商業(yè)軟件,已經(jīng)被證明為可以可靠的用于生產(chǎn)系統(tǒng),因此我們最終選擇了CloudStack作為云平臺,并采用了KVM作為虛擬化軟件。

CentOS操作系統(tǒng)是RedHat的非商業(yè)化版本,對CloudStack的支持度非常好,也是官方推薦的操作系統(tǒng),因此我們選擇CentOS作為服務(wù)器的操作系統(tǒng),關(guān)系數(shù)據(jù)庫我們選擇了MySQL。構(gòu)造云測試平臺使用的軟件配置如表3所示。

3.3測試工具的選擇

首先,在云測試平臺上實現(xiàn)的測試應(yīng)是自動化測試,因此我們選擇了自動化測試工具作為云測試平臺的測試環(huán)境。在開源的測試工具中Junit和TestNG均可作為自動化測試框架[7],相對于Junit只適用于單元測試的劣勢,TestNG則可做單元測試到集成測試的所有工作,因此我們選擇TestNG作為單元測試到集成測試的自動化測試框架。

其次,測試的過程的并行執(zhí)行由Selenium框架控制[8]。Selenium是一系列基于Web的自動化測試工具。Selenium體系主要由三個工具構(gòu)成:Selenium IDE,Selenium RC和Selenium Grid,其中Selenium Grid允許Selenium RC針對大規(guī)模的測試用例集或者需要在不同環(huán)境中進行測試。通過Selenium Grid,多個Selenium RC實例可以在不同操作系統(tǒng)和瀏覽器環(huán)境中運行。啟動時,每一個Selenium RC向Hub注冊。當測試用例被分發(fā)到Hub時,測試用例將重新被指定到一個可用的Selenium RC上,由RC啟動瀏覽器來執(zhí)行測試用例。如此,測試用例就可以并行地運行。

3.4云測試平臺的搭建

云測試平臺整體上包括前臺和后臺兩部分的搭建。前臺的主要功能是與用戶進行交互,包括用戶的注冊與登錄、項目的增刪改查、腳本的增刪改查、測試結(jié)果的查詢與下載,如圖2所示。前臺環(huán)境搭建包括網(wǎng)站設(shè)計、數(shù)據(jù)庫設(shè)計、項目開發(fā)等過程。

后臺的主要功能為測試腳本的下載、分發(fā)和執(zhí)行以及測試結(jié)果的返回。后臺環(huán)境搭建主要包括CloudStack環(huán)境的安裝與配置、Selenium框架的集成和調(diào)用等過程,云平臺搭建完成后可用CloudStack自帶的管理界面進行虛擬機的添加和刪除。前臺和后臺的交互如圖3所示。

4 結(jié)束語

隨著云計算技術(shù)的日益成熟,將會極大地改變?nèi)藗儜?yīng)用信息的方式,使得軟件服務(wù)企業(yè)的交付模式、研發(fā)模式和軟件測試方式發(fā)生根本性的改變。在全球經(jīng)濟危機的影響下迫于成本壓力,市場中有越來越多的企業(yè)開始考慮云模式所能帶來的價值。目前市場上已經(jīng)有部分云測試企業(yè)以及應(yīng)用,但是云測試的標準和定義還沒有一個統(tǒng)一的規(guī)定,云測試還處于穩(wěn)步發(fā)展之中,伴隨著云計算的快速發(fā)展,必將得到進一步的快速發(fā)展期[8]。

參考文獻:

[1] Peter Mell, Timothy Grance. The NIST Definition of Cloud Computing[R]. USA:NIST Special Publication 800-145, 2011:1-3.

[2] 王佳雋, 呂智慧, 吳杰,等. 云計算技術(shù)發(fā)展分析及其應(yīng)用探討[J]. 計算機工程與設(shè)計, 2010(3).

[3] Yu L, Tsai W T, Chen X, et al. Testing as a service over cloud[C]//Service Oriented System Engineering (SOSE), 2010 Fifth IEEE International Symposium. Nanjing: IEEEPress, 2010: 181-188.

[4] 鐘華. 基于云計算的軟件測試服務(wù)研究[J]. 東華大學, 2011.

[5] 生桂勇. 基于云計算的軟件測試系統(tǒng)設(shè)計[J]. 福建電腦,2012(9):95-97.

[6] 彭紅. 基于CloudStack云管理平臺的關(guān)鍵技術(shù)研究與應(yīng)用[D]. 上海:華東理工大學, 2013.

[7] 費丹青, 李思易. 單元測試工具TestNG和JUnit參數(shù)化研究[J]. 福建電腦, 2012,27(11):44-45.

[8] 吳寒冰. Selenium自動化測試系統(tǒng)的設(shè)計與實現(xiàn)[D].北京:北京郵電大學,2012.

猜你喜歡
測試工具軟件測試計算技術(shù)
邊緣智力兒童及其智力測試工具的研究進展
《計算技術(shù)與自動化》2022年總目次索引
基于OBE的軟件測試課程教學改革探索
基于云計算技術(shù)的FLAC3D軟件計算平臺的研發(fā)
Http并發(fā)連接測試工具
EXCEL和VBA實現(xiàn)軟件測試記錄管理
關(guān)于軟件測試技術(shù)應(yīng)用與發(fā)展趨勢研究
《物探化探計算技術(shù)》2016年1~6期總要目
軟件測試工程化模型及應(yīng)用研究
基于云計算技術(shù)的虛擬實訓室設(shè)計與實現(xiàn)