云計算是目前比較熱門的技術,關于云計算的定義業界有各種各樣的定義標準,并且每個標準都有一定的意義。到目前為止關于云計算的定義就超過了100種。在這里,我們在這里給出CSA(Cloud Security Alliance)云計算安全聯盟在Security Guidance For Critical Area of Focus In Cloud Computing V3.0的定義:
"云計算的本質是一種服務提供模型,通過這種模型可以隨時,隨地,按需地通過網絡訪問共享資源池的資源,這個資源池的內容包括計算資源,網絡資源,存儲資源等,這些資源能夠被動態地分配和調整,在不同用戶之間靈活劃分。凡是符合這些特征的IT服務都可以被稱作云計算服務。"
對云計算進行測試需要注意哪些問題呢:
云計算中增加了供應商角色,這給計算測試帶來了復雜度
在傳統軟件項目中,只有軟件廠商和客戶這兩個角色,但是引入了云計算概念,增加了供應商這個角色,供應商主要提供云平臺環境。供應商在維護云平臺中軟硬件設備 可能不告知軟件廠商,這樣變更后的軟硬件設備可能引起運行在云中的服務在功能或者性能上受到影響。
為了解決這個問題,最好的辦法是運行自動化測試腳本,進行每日測試,事實監控軟件運行情況。
由于云中使用虛擬技術且不固定,這給性能測試帶來很大影響
云中的軟件產品都是運行在虛擬平臺上的,包括CPU,內存,硬盤。并且這些設備可能經常發生位置變化,比如今天運行在天津的某個實體設備上,明天被分配到甘肅的某個實體設備上。比如甘肅某個設備的性能遠遠低于天津的某個設備。這樣執行同一個性能測試用例今天和明天可能完全不同。
解決辦法是在性能測試的時候固定在某一個專門的虛擬設備上,整個測試完畢才可以進行資源分配。
增加了按照使用量收費的測試方法
云計算是通過使用互聯網流量以及存儲器使用空間進行收費的。典型的按量使用付費模型最常見的是我們日常生活中使用的水,電,氣。所以在測試云產品時候需要考慮這個因素。并且這種收費方式具有快速地可伸縮性,也就是說你需要2G,馬上給你2G的硬盤空間;2個小時后,業務量上去了,需要4G硬盤空間了,系統會自動給你4G硬盤空間;3個小時后業務量下去了,需要3G硬盤空間了,系統會自動給你3G硬盤空間,并且3G空間使用持續了4小時。如何收費呢?比如每小時使用1G為4美金,不滿一小時按一小時收費。我們拿剛才例子,在9個小時內我們需要支付(2G*2小時+4G*3小時+3G*4小時)*4美金/小時*G=92美金。在現實測試過程中往往會發現,使用量下去了金額不降或者使用量上去了金額不升。
安全性測試
安全性是云計算最關注的問題,我們不希望存在云中的數據丟失,或者在平臺遷移的時候發生丟失。以及我們存在云中的信息被非法調用查看,所以做好云安全測試是重中之重。
發現問題定位問題
由于云產品運行在何處對于用戶來說透明的,一旦我們發現一個問題或者用戶來電抱怨系統上去了。我們開發人員往往要登錄上去查看log文件,以確定問題,從而解決問題。運行位置不固定給我們帶來很大麻煩。但是幸運的是HP已經在開發一種產品 ,可以定位發生問題的具體機器上,從而幫助解決這個問題,而且這個產品的進展非常迅速了。
法律法規問題
測試的目的除了發現問題,還有一個關鍵問題是驗證法律法規,在云中主要體現在數據隱私性方面。這個方面比較麻煩的是各個國家各不相同,比如《荷蘭數據保護法》,《歐洲個人數據保護指令》,《美國-歐盟保護港》等等,而且這些條款中存在各種不一致性的地方,這樣給基于法律法規的測試帶來很大的麻煩。
遷移性測試
遷移性測試在云計算中普遍存在,比如要更換供應商,或者對云平臺進行大規模的升級,都需要進行遷移性工作。遷移性測試主要測試遷移后系統在新的環境中是否可以正常運行,是否會發生數據丟失等等。