李建軍1,2
?。?. 中國電子科技集團公司第三十二研究所,上海 200233;2. 廣西大學(xué) 計算機與電子信息學(xué)院,廣西 南寧 530004)
摘要:在分析云計算技術(shù)特點基礎(chǔ)上,基于云計算組件模型研究了云計算產(chǎn)品的測試方法和技術(shù),并在聯(lián)通云計算綜合管理云平臺的測試中進行應(yīng)用,取得了較好的效果。
關(guān)鍵詞:云計算組件模型測試;云計算;云平臺測試
中圖分類號:TP311.5文獻標(biāo)識碼:ADOI:10.19358/j.issn.1674 7720.2016.22.004
引用格式:李建軍. 基于云計算組件模型的測試方法和技術(shù)研究[J].微型機與應(yīng)用,2016,35(22):15-17,21.
0引言
隨著云計算技術(shù)的不斷完善,云計算已成為IT行業(yè)最新的發(fā)展趨勢。借助云計算架構(gòu)下虛擬化、自動化的優(yōu)勢,無論最終用戶、SaaS 提供商還是PaaS提供商都能以按需付費的形式從基礎(chǔ)設(shè)施服務(wù)中獲得應(yīng)用所需的計算能力。
云計算的出現(xiàn)給軟件開發(fā)和軟件測試帶來巨大影響,這種新的環(huán)境要求軟件測試的方法和技術(shù)也隨之變化。當(dāng)前,市場上涌現(xiàn)了大量的云計算產(chǎn)品,但作為一個新興的技術(shù)和領(lǐng)域,還缺乏完整的測試和評價方法,文獻[1-3]主要研究了如何基于云計算環(huán)境開展軟件測試,本文主要基于云計算組件模型探討云計算產(chǎn)品的測試策略和測試內(nèi)容。
1云計算產(chǎn)品組件模型
從功能實現(xiàn)上進行分析,一個典型的云計算產(chǎn)品的結(jié)構(gòu)可以分為多個組件,如圖1所示[4]。
平臺:面向應(yīng)用開發(fā)人員進行應(yīng)用開發(fā)、集成和交付的環(huán)境和工具集。
展示:用戶與云計算產(chǎn)品之間的人機交互接口。
集成:與外部子系統(tǒng)的交互接口。
彈性:應(yīng)用和基礎(chǔ)設(shè)施的計算能力及容量規(guī)劃,強調(diào)可伸縮性。
存儲:提供高可伸縮存儲能力的外部存儲庫,可存儲結(jié)構(gòu)化的和非結(jié)構(gòu)化的、靜態(tài)的和易失性數(shù)據(jù)。
部署:應(yīng)用的發(fā)布過程,包括開發(fā)、測試和最終部署到生產(chǎn)環(huán)境。
運行維護:對已投入生產(chǎn)環(huán)境的應(yīng)用進行監(jiān)控和提供支持。
計費:對占用資源的測量、計費和支付結(jié)算。
身份認證:應(yīng)用的直接使用者的信息,可以使用該信息來優(yōu)化和定制用戶體驗。
2測試方法
云計算產(chǎn)品的測試方法與傳統(tǒng)系統(tǒng)的測試方法和策略有很大的不同,針對云計算產(chǎn)品進行軟件測試時應(yīng)特別關(guān)注平臺能力、展示能力、集成能力、存儲能力、彈性能力、計費能力、部署和運行維護能力、身份認證等,云組件測試模型如圖1所示。
2.1平臺組件測試
測試云計算平臺組件時重點關(guān)注物理資源虛擬化能力、物理設(shè)備管理能力、平臺安全管理能力及容錯性等方面。
?。?)驗證虛擬化能力首先要關(guān)注云計算平臺對計算資源(計算資源、存儲資源、網(wǎng)絡(luò)設(shè)備等)進行虛擬化再進行分配的能力, 包括設(shè)備添加、部署、配置和拆除等功能。
(2)驗證平臺是否具備物理設(shè)備控制功能,具體包括:①管理人員可以根據(jù)需要關(guān)閉、打開設(shè)備的服務(wù)。②在指定服務(wù)器上創(chuàng)建虛擬機,創(chuàng)建指定服務(wù)器上的虛擬機快照,卸載指定服務(wù)器上的虛擬機等。③提供遠程控制。
?。?)驗證平臺是否具備物理設(shè)備監(jiān)控功能,包括:①支持主機自動發(fā)現(xiàn)功能。②在基礎(chǔ)設(shè)施管理層面,系統(tǒng)能夠?qū)λ惺芸卦O(shè)備的運行狀態(tài)實施動態(tài)、實時的監(jiān)控。③支持故障節(jié)點。對異常設(shè)備實施控制,并能人為或自動地隔離故障設(shè)備,將設(shè)備上的運行信息遷移到其他設(shè)備上,能夠正常運行。④支持告警功能。對物理服務(wù)器的性能指標(biāo)設(shè)定閾值,當(dāng)接近或超過閾值時,可以對管理人員進行報警,支持短信、郵件發(fā)送等方式的報警信息,保證管理人員第一時間收到報警信息,對設(shè)備進行維護。
?。?)測試平臺是否具備物理網(wǎng)絡(luò)管理能力,包括對物理網(wǎng)絡(luò)設(shè)備如網(wǎng)卡、交換機、路由器等的管理、控制和維護,并為用戶提供物理網(wǎng)絡(luò)拓撲圖,實時查看物理網(wǎng)絡(luò)狀態(tài),支持對故障設(shè)備的隔離和恢復(fù)。驗證系統(tǒng)是否提供基于物理網(wǎng)絡(luò)的網(wǎng)絡(luò)隔離和寬帶控制功能,實現(xiàn)多租戶環(huán)境下的物理隔離,更好地保護租戶的應(yīng)用和數(shù)據(jù)[5]。
?。?)測試平臺的虛擬存儲管理能力,包括:①可以為存儲卷創(chuàng)建快照,用于快速恢復(fù)存儲卷和虛擬機。出于安全考慮,每個存儲卷都有配額設(shè)置和訪問控制,只允許有權(quán)限的用戶和虛擬機讀寫卷中的數(shù)據(jù),默認情況下存儲卷可以被所有用戶訪問。查看是否能創(chuàng)建快照,在存儲發(fā)生故障時能快速恢復(fù);查看是否為每個存儲分配不同的權(quán)限,非授權(quán)用戶訪問時被禁止[6]。②支持對關(guān)鍵數(shù)據(jù)進行加密存儲,防范非法用戶對數(shù)據(jù)的濫用;查看是否為關(guān)鍵數(shù)據(jù)加密。③測試是否支持多存儲方案,包括傳統(tǒng)的NAS和SAN、分布式存儲以及本地存儲[7]。用戶可根據(jù)實際需求選取其中一種存儲方案或?qū)追N方案混用。④測試是否支持跨物理和虛擬機訪問共享虛擬磁盤和應(yīng)用數(shù)據(jù)程序數(shù)據(jù),以擴展云平臺的應(yīng)用范圍。
?。?)驗證虛擬網(wǎng)絡(luò)管理能力,具體包括:①虛擬網(wǎng)絡(luò)管理主要是針對虛擬機網(wǎng)絡(luò),如對虛擬機網(wǎng)卡、網(wǎng)關(guān)、虛擬交換機等的管理和維護,在虛擬網(wǎng)絡(luò)拓撲視圖上查看網(wǎng)絡(luò)劃分情況、IP使用情況及各種虛擬設(shè)備的在線狀態(tài),查看各業(yè)務(wù)的運行狀態(tài)。②物理、虛擬的主機能夠同時對外提供服務(wù),必須能夠提供完整、有效、可控的網(wǎng)絡(luò)組網(wǎng)的管理、控制能力,能靈活、可靠地實現(xiàn)內(nèi)部網(wǎng)絡(luò)與外網(wǎng)(含企業(yè)網(wǎng)、互聯(lián)網(wǎng))間的映射和必要的安全保障。③根據(jù)用戶訪問和資源控制需要,提供比較全面的網(wǎng)絡(luò)管理機制,包括訪問網(wǎng)關(guān)、網(wǎng)絡(luò)隔離和帶寬控制等,從而保證安全和提高網(wǎng)絡(luò)資源使用均衡。④實現(xiàn)物理網(wǎng)絡(luò)和虛擬網(wǎng)絡(luò)之間的互通,即虛擬機可以和物理服務(wù)器進行通信,支持在用戶在服務(wù)器上部署關(guān)鍵應(yīng)用,同時又能保證整個云平臺業(yè)務(wù)的互通性和一致性。
云計算的安全是指確保數(shù)據(jù)只能被授權(quán)的實體訪問,而且數(shù)據(jù)是機密的、真實的、最新的、存在的。安全性方面一般都提供授權(quán)和基于角色的訪問控制功能,其正確驗證主要通過分析云計算產(chǎn)品的訪問管理架構(gòu)和評估云基礎(chǔ)設(shè)施中基于安全證書的RBAC實現(xiàn)。云企業(yè)用戶需要綜合權(quán)衡安全性與速度、效率,而無須考慮云計算基礎(chǔ)設(shè)施的基礎(chǔ)安全,因此云產(chǎn)品應(yīng)該提供一組安全服務(wù)和工具,使企業(yè)能滿足個性化需求的安全服務(wù),測試時重點驗證以下控制點:
?。?)網(wǎng)絡(luò)接入控制功能:對于非法占用IP資源、內(nèi)部設(shè)備非法跨網(wǎng)段接入等可以及時發(fā)現(xiàn),保障全網(wǎng)的IP管理秩序和網(wǎng)絡(luò)接入安全;可對虛擬機MAC地址與IP地址進行強綁定,一旦其中任意一項被非法修改,則虛擬機與外界連接的網(wǎng)絡(luò)立刻被斷開(管理員可以通過特別工具恢復(fù)),從而保護用戶的權(quán)益不受到損害。
(2)實時監(jiān)控整個網(wǎng)絡(luò)應(yīng)用:不斷獲取設(shè)備各類指標(biāo)參數(shù),在問題發(fā)生前及時了解非正常情況,分析非法入侵、病毒、物理故障等現(xiàn)象。
?。?)測試是否能通過設(shè)置閾值實現(xiàn)對網(wǎng)絡(luò)流量的預(yù)警,是否支持全自動防DDoS攻擊。
?。?)測試審計功能是否完整有效等。
?。?)平臺的容錯性方面,當(dāng)大量服務(wù)器進行同一個計算時,測試單節(jié)點故障是否影響應(yīng)用的正常運行。
2.2集成組件測試
測試是否支持Xen、KVM、VMware等異構(gòu)虛擬化平臺統(tǒng)一管理,并支持對物理機統(tǒng)一管理。
測試其接口管理能力,是否對外提供標(biāo)準IaaS訪問接口,包括圖形化界面、命令行界面和可編程開放接口。另外,其提供的接口要求與標(biāo)準開放的云計算接口與技術(shù)相兼容。云平臺的API支持兼容AmazonEC2、EBS、S3、LoadBalancing、CloudWatch、Elastic MapReduce等公有云標(biāo)準。
2.3部署和運行維護組件測試
部署和運行維護能力是衡量云計算平臺可用性的一個重要方面,測試時重點考慮以下內(nèi)容:
(1)是否提供虛擬機全生命周期創(chuàng)建、運行和刪除中各個階段的相應(yīng)管理功能。主要包括虛擬機的啟動、停止、重啟、掛起、恢復(fù)、克隆、刪除、增量備份、在線熱遷移,提供基于VNC的虛機連接機制。
(2)是否支持主機選擇,對資源能夠?qū)崿F(xiàn)動態(tài)調(diào)配。
?。?)是否支持虛擬機的恢復(fù)。
(4)是否支持P2V(Physical to Virtual)能力,可以將用戶已有的應(yīng)用環(huán)境整體遷移至云平臺,保護用戶投資。
?。?)支持V2V(Virtual to Virtual)能力,簡化虛擬機復(fù)制,在此基礎(chǔ)上可以提供虛擬機在線熱遷移能力,保證在發(fā)生故障時,用戶業(yè)務(wù)不中斷。支持熱備份、冷備份、增量備份、全備份等。遷移包括在線熱遷移和冷遷移方式。
運行維護組件,另外需要驗證其日志管理和審計功能,測試其是否支持全面管理用戶系統(tǒng)訪問操作日志,方便查詢和回溯用戶行為。審計日志包含系統(tǒng)錯誤/告警事件記錄。提供INFO、Debug兩種基本運行日志,方便管理員監(jiān)控系統(tǒng)運行狀態(tài)、查找詳細錯誤信息和排除故障。
2.4云計算彈性測試
云計算彈性最直接的就是云計算服務(wù)的可靠性,其具體體現(xiàn)在服務(wù)的可靠性、可使用性、可恢復(fù)性、連續(xù)性等方面。可用性通常使用正常運行時間所占的百分比來衡量,一般通過提高單個組件的可靠性來獲得可用性,同時采用冗余和故障遷移技術(shù)來實現(xiàn)容錯的目的。
彈性測試需要集合彈性評測模型來進行。服務(wù)等級協(xié)議SLA定義了云服務(wù)類型、服務(wù)質(zhì)量和服務(wù)費用,確定了消費者或企業(yè)與云服務(wù)提供商之間所希望的基本服務(wù)水平[8]。
云計算中比較核心的功能是資源的彈性伸縮、動態(tài)調(diào)度、租戶隔離等,所以測試時重點驗證以下方面:
?。?)彈性伸縮管理。集群的伸縮類型目前定義了三種模式:橫向模式(通過增減實例數(shù)量滿足需求)、縱向模式(通過增減性能滿足需求)、動態(tài)遷移(故障情況或反應(yīng)不及時的情況下通過將實例遷移到性能更好的物理機上)。各種模式下,管理員可以自由組合,形成不同的策略類別,以滿足用戶不同的應(yīng)用需求。
?。?)負載均衡策略。提供多種負載均衡策略,如CPU占用最少策略、內(nèi)存使用最少策略、訪問量最少策略等,用戶可以根據(jù)應(yīng)用選擇不同的策略實施負載均衡,也可以多種策略混用。
?。?)基于工作流的服務(wù)流程定義能力?;诠ぷ髁饕?,提供內(nèi)置的資源申請流程、事件管理流程、問題管理流程和變更管理流程的運維流程支持。
2.5身份認證
測試平臺是否提供多種用戶接入控制,如用戶/密碼、Ukey認證、手機驗證等多種方式,防止非法用戶對云平臺資源濫用。
驗證是否提供用戶管理能力,包括提供基于角色的平臺用戶管理功能。包括用戶登錄、用戶查詢、新建用戶、修改用戶、刪除用戶及角色管理。
系統(tǒng)是否能夠提供軟件資源模板、硬件資源模板、網(wǎng)絡(luò)、存儲空間等對象權(quán)限分配機制,控制用戶可創(chuàng)建虛擬機的類型和配置。授權(quán)的操作包括隱藏、創(chuàng)建、更新和刪除。用戶的功能界面顯示根據(jù)其角色所決定,不同的用戶在前端顯示的操作菜單與其具備的權(quán)限一樣。頁面中的功能按鈕根據(jù)模塊中所包含的功能來定義,通過模板及角色所擁有的權(quán)限進行控制。
2.6云計算展示測試
云計算所交付的功能需要提供一個人機交互界面(用于接收用戶輸入和顯示系統(tǒng)輸出內(nèi)容),基于瀏覽器界面的部署和系統(tǒng)升級的便捷性,當(dāng)前主流云計算應(yīng)用的展示層一般都提供了瀏覽器界面,測試時重點驗證是否提供統(tǒng)一的門戶功能,集成IaaS平臺和PaaS平臺的監(jiān)控和管理系統(tǒng)。提供集成式的Dashboard功能,對IaaS和PaaS平臺重要的KPI指標(biāo)進行實時的監(jiān)控和展示,包括:提供部署服務(wù)相關(guān)的報表,用于統(tǒng)計和報告物理機、虛擬機數(shù)目和部署實施情況;提供監(jiān)控和管理服務(wù)報表,統(tǒng)計和報告服務(wù)器和虛擬機的資源利用率情況;提供流程服務(wù)報表,統(tǒng)計和報告服務(wù)流程執(zhí)行的相關(guān)情況。
2.7計費組件測試
為了合理地對云計算服務(wù)使用方收取費用,需要對用戶使用情況進行度量,比如以單位度量、應(yīng)用程序事件、用戶登錄、應(yīng)用的正常運行時間、帶寬利用率、應(yīng)用響應(yīng)時間、監(jiān)視警報和計費統(tǒng)計等數(shù)據(jù)為基礎(chǔ)。
管理員可定制虛擬機實例、網(wǎng)絡(luò)、存儲等資源服務(wù)的使用費用規(guī)則,包括計費方式、費率等,并可按照用戶所選擇的服務(wù)等級協(xié)議給予相應(yīng)折扣。對于用戶的繳費狀態(tài)進行全局監(jiān)控,可根據(jù)費用設(shè)定相應(yīng)的啟停規(guī)則對用戶進行管理。如果在設(shè)定的規(guī)則內(nèi),用戶欠費狀態(tài)一直未得到更新,則可自動停止用戶對資源的使用權(quán)限,必要時可注銷賬戶等。
驗證計費組件記錄用戶虛擬機使用情況,包括使用時間、使用流量和操作序列等,支持最終用戶實時查詢自己資源使用情況,防止需求超過配額,影響對業(yè)務(wù)的有效支撐;查看能否進行資源統(tǒng)計分析,以圖表的方式展示給用戶,并且支持報表生成。
3結(jié)束語
本文從典型的云計算產(chǎn)品組件模型入手,分析并提出了云計算產(chǎn)品各功能組件的測試方法和要點,對于云計算平臺相關(guān)產(chǎn)品的測試和評估具有一定的參考價值。本研究成果已被用于中國聯(lián)通的的綜合管理云平臺測試工作中,取得了較好的效果。下一階段的研究方向為如何基于云計算組件模型的測試結(jié)果數(shù)據(jù)對云平臺進行評估。
參考文獻
?。?] 殷琦,杜明,劉曉強,等.基于云環(huán)境的分布式軟件接口自動化測試[J]. 計算機測量與控制,2015,23(7):2247-2249.
?。?] 肖明清,楊召,薛輝輝,等.云計算及其在測試領(lǐng)域的應(yīng)用探索[J]. 空軍工程大學(xué)學(xué)報(自然科學(xué)版),2015,16(1):50-54.
?。?] 周顯明,李建軍,王莉華,等.基于云計算的測試公共服務(wù)平臺設(shè)計技術(shù)[J]. 微型機及應(yīng)用, 2015,34(4):14-16.
?。?] RHOTON J,HAUKIOJA R.云計算架構(gòu)解決方案設(shè)計手冊[M]. 趙龍剛,金振林,譯.北京:機械工業(yè)出版社,2012.
[5] 林闖,蘇文博,孟坤,等.云計算安全:架構(gòu)、機制與模型評價[J]. 計算機學(xué)報, 2013,36(9):1765-1781.
?。?] 馮朝勝,秦志光,袁丁,等.云數(shù)據(jù)安全存儲技術(shù)[J]. 計算機學(xué)報, 2015,38(1):150-157.
[7] 袁玉宇,劉川意,郭松柳.云計算時代的數(shù)據(jù)中心[M].北京:電子工業(yè)出版社, 2012.
?。?] CHANG W Y, HOSAME A A,SANFORD J.轉(zhuǎn)型中的企業(yè)云服務(wù)[M].朱愛紅,李連,李瑛,等,譯.北京:國防工業(yè)出版社,2012.