Gavlin Pather在俄羅斯的KZN長大,在那里他學習信息技術并開始了作為一名開發(fā)者的職業(yè)生涯,后來他又成了測試領域的一名黑盒測試員,接著又轉向白盒測試,終是自動化測試。在測試專業(yè)領域近6年并在測試實驗室中進行測試,自然而然地,他逐漸開始對云產生興趣。 |
計算機和軟件在我們的日常生活中越來越常見,F(xiàn)代社會中隨著我們對技術越來越依賴,不可避免地需求它們變得更快,更好。更快,更好的需求提高了,需要更高質量的軟件。要做到這一點,不能只依靠手工測試,我們需要進入一個自動化的測試時代。
通過結合自動測試和手動測試,我們能夠在較短時間內達成一套質量標準。然而,隨著我們邁向一個更加技術化的(要求我們開發(fā)的軟件不僅在我們的個人電腦上,且在移動設備上也能運作的)現(xiàn)代社會,需要更多的云計算。擁有了更先進的軟件,硬件和托管平臺人們需要有更加復雜和精密的測試方法以保持傳統(tǒng)軟件測試中達到的質量標準。
云計算改變了我們提供及管理計算資源(如CPUs ,數(shù)據(jù)庫和客戶存儲系統(tǒng))的方式。
我們測試在云上運行的軟件的方式可以更好地表現(xiàn)出該軟件將如何在現(xiàn)實世界中運作。正如Jerry Gao等人所說,“云計算是互聯(lián)網(wǎng)發(fā)展的下一階段。一個典型的云必須有幾個不同的屬性:彈性和可擴展性,多租戶,自我管理功能,服務收費和計量功能以及連接接口和技術”。此外,云支持大規(guī)模用戶在各地從互聯(lián)網(wǎng)進入。它為客戶隨時提供按需應用服務,并提供虛擬和/或物理設備。因此,云中的軟件測試可能會更復雜,花費比預期更長的時間,這造成手動測試一支獨大。
在云計算中加入自動化測試讓你能夠在多個平臺上運行回歸測試腳本,這擴大了正在進行的測試的范圍并消除了可能造成誤差的人為因素,同時也減少了完成回歸測試所需要的時間。由于各種軟件復雜性、云的浩瀚廣闊及(可能在測試過程中被發(fā)現(xiàn)并導致兩種測試方法結合的)缺陷,手工測試不能完全消失。此外,開發(fā)人員使用單元測試可以確保一個軟件上的改變對系統(tǒng)的影響小,還能在部署之前檢測出缺陷。
通過結合這些方法并把它們應用到云計算中(同時也要考慮云的復雜性,自動化測試的靈活性,及解決手工測試問題的能力),我們要在較短時間內在不斷變化、適應和發(fā)展的軟件工程和開發(fā)業(yè)完成更高質量的軟件。
云計算
云計算是一個為可配置計算共享池(共享池可以被快速配置且其發(fā)布只需極少的管理或服務提供商交互)提供普遍,便捷及按需網(wǎng)絡訪問的模型。用戶可在任何地方按需獲取,并不是只能從本地電腦獲取。運行他們自己的基礎設施的公司(如亞馬遜,谷歌和Facebook )使用該模型能時刻應對正在運行的系統(tǒng)及按需縮放的系統(tǒng)上的變化及升級了。用戶或客戶可用瀏覽器內的基于云的計算機資源提供的一項服務及執(zhí)行所要求的功能和/或輸出的一項服務去執(zhí)行一個任務,如準備一份庫存報告或執(zhí)行文字處理。Jerry等人2011觀察到的傳統(tǒng)軟件測試與云測試之間要注意的些微區(qū)別見表1。注意這些差異非常重要,因為這能幫助更好地理解這兩個測試平臺之間的差異,以及這些差異會怎樣影響測試軟件可能采取的方法。任何功能的云測試,如集成測試,都包含了確定一組預定義策略來設計測試用例以覆蓋大范圍的用戶期待需求。
云測試
因為云測試相對而言還比較新,我們無法明確應在云系統(tǒng)測試實踐中應用什么軟件測試技術,建議,方法和工具。因此,我們對云測試還沒有一個明確且被普遍接受的理解。傳統(tǒng)的軟件測試方法主要是根據(jù)測試者和標準的佳實踐而不是理論。它是由Kitchenham等人在他們的(其中既沒有關于軟件工程師如何找到缺陷和/或將之引入軟件系統(tǒng)的已知理論,也沒有任何提供關于測試人員如何識別這些缺陷或bugs的理論的)研究工作中提出的。在任一現(xiàn)存云服務測試中,終用戶的參與都更積極,更直接。這些終用戶可以是個人或企業(yè)用戶,他們已成為云應用和云服務提供商的云測試團隊的強大和不可缺少的一部分。由于非基于云的應用程序的硬件和軟件的限制,大多數(shù)軟件應用程序需要存在于主機或小型機上。評估被測軟件時主要考慮三個方面,即:單元測試,自動化測試和手工測試。
表1.傳統(tǒng)軟件測試與云測試間的差異