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