孫銳
當今世界,軟件行業的發展速度已經超乎我們的預想,怎樣才能高質高效的進行軟件的開發和測試,怎樣才能最大限度地縮減人力成本、減短測試的周期,怎樣才能投入最少的成本而獲得最好的軟件產品,這些問題值得每一個軟件開發公司認真思考。人工測試效率低,自動化測試不僅資金投入大而且效率同樣不高,這些方式已經無法適應時代的發展。以云計算服務為基礎的軟件測試既方便快捷,又可以獲得最準確的測試結果。企業不需要考慮測試過程中可能出現的一切疑難問題,只需支付相應的服務費給云計算服務商,便可坐等結果。所以,毫無疑問,基于云計算軟件測試技術的開發和研究將會越來越深入。
(一)何為云計算
云計算的概念并不復雜,主要分為狹義和廣義兩種。前者表示的是通過互聯網的形式以按需、易擴展等方法獲取一切需要的信息技術基礎設施的交付以及使用模式等。后者涵蓋的范圍相對較廣,具體指的是服務的交付以及使用模式,通過互聯網的形式以按需、易擴展等方法獲取各類人們需要的服務。這種服務涉及的范圍很廣,既包括與網絡應用有關的服務,也可以是其他服務。
(二)云計算測試什么
它表示的是以云計算技術為基礎而形成的一種全新的軟件測試方式。通常情況下服務商會為客戶提供多樣化的平臺,普通的客戶只需將自動化測試腳本按一定的程序和標準編寫好,并發送給服務商的相關工作人員進行審查,之后便可以在服務商提供的網絡平臺上運行自己已經編寫好的腳本。
(三)云計算為云測試提供多種技術支持
云計算一般來說會為云測試提供多種技術支持,常用的主要有以下幾種:
1、虛擬化技術:這種技術的種類很多,使用頻率較高的主要有KLVM、Xen、VMware Sphere等3種類型。它能夠實現各種資源的邏輯抽象以及統一表示,除此之外,它還能通過內部轉化把電腦資源分成多種操作環境,亦或是將各種環境整合為一個擁有強大功能的操作環境,并且為上層系統提供一個十分完整的基礎架構。
2、分布式存儲:這種系統使用的結構實際上是能夠擴展的,它主要是通過多個服務器來分別承擔存儲的負荷。分布式存儲的優點很多,既具有安全可靠、效率高的特性,同時還更有利于系統的快速擴展。
3、海量數據管理:當前,很多企業的規模不斷增大,隨著規模的擴大,數據處理的難度也逐漸增加,因此,效率較高的海量數據管理技術對于企業來說是必不可少的。現階段,云計算系統中相對來說比較成熟的數據管理技術有兩種,一是谷歌公司開發的BigTable分布式數據庫,二是HBase開源數據管理。
4、云平臺管理:云計算的功能十分強大,它的內部存儲著大規模的數據庫,因此,需要大量的服務器對這些數據進行管理,可是復雜的是這些服務器并不是集中在一個地方,而是分散于多地,并且這些服務器上時時刻刻都有上百種不同類型的程序在運行。怎樣才能確保整個系統不中斷且管理好系統是一個非常大的挑戰。只有落實和解決好云平臺可能出現的一切管理問題,才能真正從根本上確保云測試的正常運行。
其一,云測試服務流程。一般來說,云測試服務的具體流程如下:平臺會統一提供一個頁面用于接收客戶的測試請求,接到請求信息后對這些信息進行處理,并且為其提供虛擬機進行測試調用,之后便能夠順利的在云端開展測試活動,完成測試后系統會自動生成報表并將其返還給客戶。
第二,云測試的具體特征。和傳統的測試相比,云測試具有很多鮮明的特征。通常情況下,云測試包含案例的設計、問題的上傳、具體計劃的操作、報告結果的生成和后續的維護管理工作等幾個環節。
(一)云測試的發展現狀
根據深入的調研得知,當前云測試運用的范圍主要是涉及以下幾個:
1、云測試平臺:主要是根據用戶的具體需求提供令用戶滿意的測試環境,由服務商安排測試工作人員為客戶具體執行測試內容,該過程實際上是節省了用戶的開支,用戶不用再自行設計測試環境,只需要按使用程度向服務商付費即可。
2、測試工具:專業的云測試平臺往往具備各種各樣測試所需的工具,用戶只需將設計好的測試項目提供給服務商,服務商會根據項目為其分配合適的測試工具,并且在完成測試后快速的反饋結果,這樣一來,用戶就不需要在工具方面進行不必要的投資,只需要向服務商支付工具使用費即可。
3、測試軟件:云測試的功能是十分強大的,支持絕大多數軟件的測試,即使是自動化的功能和性能測試也能夠完成。
(二)云測試存在的問題
1、沒有具體統一的標準和規范。由于缺乏規范的管理,當前市場上各個云測試服務商都根據本公司平臺的實際情況制定了一套適合本公司的標準和規范,這就使得云測試的標準比較混亂,無法得到統一,從而導致各個服務商提供的測試結果可能會有所不同。除此之外,因為各個公司間缺乏交流和溝通,因此很多測試方式和手段無法通用,很大一部分測試方法實際上無法應用于所有的軟件測試。
2、安全性有待進一步增強。對于云測試而言,安全性是絕對不能忽視的問題,服務商必須確保各類測試數據的存儲是百分之百安全的。除此之外,服務商還應當考慮到各類突發問題,并提前制定好應對策略。例如:當云系統出現故障時,服務商怎樣對測試數據進行保存、備份和修復,以確保客戶的利益不受損害。
云計算實際上是屬于一種比較強大的計算方式,在操作過程中不能一味參照以往傳統的測試方法,要根據云平臺的實際情況,有針對性地制定出可行的測試方式。
(一)制定統一的云測試標準
當前,隨著云測試的快速發展,制定一套統一的行業標準是十分有必要的,政府必須從監管的層面出發,建立一個統一的行業監控機制,通過強制手段,促進云測試行業的規范發展。標準中可以包含以下幾個方面的內容:安全檢測評估標準、測試可信性的具體評估模型、測試是否體現了公平公正的原則。
(二)進一步提升測試工作者的綜合素質
云平臺的操作實際上并不簡單,它是一個龐大而復雜的系統,因此,這需要測試工作者既要精通云計算的相關知識,同時也要能夠熟練的開展測試工作。所以,服務商應當不定期的為測試工作人員提供相關的培訓,保證測試工作能夠更好地進行。
(三)云計算的性能
對于云計算而言,性能測試是必不可少的一個重要環節,只有進行了科學嚴謹的性能測試,才可以確保云測試工作能夠正常開展。通常情況下,我們可以提前設定一些場景和案例進行測試。測試方法之一就是可以刻意地將一些數據暴露到公共平臺上,通過這樣的方式查出可能會出現的各種問題。
(四)要堅持測評結合的原則
在開展安全測試時,要始終堅持評估和測試相結合的原則。首先可以通過云計算獲得一個切實可行的安全模型,并在此基礎上對整個系統的安全性進行細致的評估,同時參考其他有價值的測試結果,最終獲得一個科學合理的安全性評價結果。
目前,云計算的發展速度是十分驚人的,云測試極有可能在不久的將來就得到大規模的普及。但需要注意的是,云計算出現的時間相對來說還比較短,至今還有很多業內人士對其提出種種質疑。所以,在今后的研究過程中,我們還需要對其進行更深入的開發,并且根據實際情況制定一系列切實可行的技術和服務標準,確保云計算能夠最大限度地發揮其效用,讓越來越多的企業受益,從而進一步推動云計算的快速發展。
作者單位:南京萊斯信息技術股份有限公司