![]() |
Muhammad Dhiauddin Mohamed Suffian正在馬來西亞科技大學攻讀(計算機科學的)軟件測試博士,并在馬來西亞的開放大學擔任講師。他是馬來西亞一家上市IT公司的解決方案測試經理,且在此之前,他還曾是馬來西亞一家研發機構測試部的高級工程師和測試團隊隊長。他在軟件/系統開發和軟件測試/質量保證領域有近7年的經驗。有著在IT、汽車、銀行和研發公司的工作經驗,他從各種項目中獲得了技術和管理技能。作為一名馬來西亞科技大學高級軟件工程中心(CASE )的實時軟件工程理學碩士研究生,他擁有各種專業證書,分別有六西格瑪綠帶認證(Certified Six Sigma Green Belt),初級測試員( CTFL )認證和高級測試員認證–測試經理( CTAL -TM )。他還很了解CMMI,測試過程和方法及軟件開發壽命周期( SDLC )。 他曾參與管理不同項目的不同測試策略、包括功能、性能、安全性、可用性和兼容性測試,系統測試和系統集成測試水平都有。他對軟件工程和軟件測試領域感興趣,特別是性能測試和測試管理。 |
![]() |
Fairul Rizal Fahrurazi是MIMOS Berhad公司一名產品質量與可靠性工程的測試工程經理,馬來西亞的合作伙伴通過經濟增長的專利技術在開拓新ICT市場創造上的一位。 Fairul持有紅帽認證系統管理員(RHCSA)證書,六西格瑪綠帶認證(Certified Six Sigma Green Belt)和流程經理資格認證。 Fairul監督MIMOS中所有項目的性能和測試自動化,還努力通過管理應用程序生命周期管理(ALM)工具來減少周期時間。Fairul熱衷于通過設計和構建一個智能的軟件工程系統以便能更好,更快地交付高質量產品。 |
介紹
任何特定軟件即將發布并投入生產期間,其性能一直備受關注。盡管一軟件已被用戶證明如預期的正常運作(通過功能測試后),故障仍可能會發生,尤其當它無法承擔用戶生成的大量loads, volumes, transactions等時。評估軟件的質量和適用性時,很少認真考慮這種非功能需求。因此,謹慎和周密的策劃分析和性能測試用例設計是防止軟件性能故障的關鍵。有了正確的性能場景,可以系統地進行測試執行和軟件性能評估,從而可以對性能改進做出詳細的分析和建議。
本文通過展示一個實際的案例研究(關于如何為一個基于云的系統規劃和設計性能測試用例)解決了這個問題。性能測試結果對性能測試執行的分析,被證為測試用例設計的有效性的證據。
關于被測的基于云的系統的概述
開發被測系統的目的是:通過(初是上網本上的)移動設備上的統一智能平臺為大眾提供各種在線服務。
該系統主要包括幾個子系統:安裝在上網本上的客戶端系統,智能服務門戶,位置感知服務,內容整合服務,以及承載所有在線服務系統的云或虛擬平臺。
圖1.被測系統的邏輯結構
客戶端系統是使用Java語言開發,Java網絡啟動協議( JNLP )執行的。為了獲取所需在線服務,客戶端系統到智能服務門戶網提出服務請求。存儲所有服務的門戶網還結合了內容整合服務和位置感知服務。所有這些使得合適的內容根據所請求的服務被推送到客戶端系統的終用戶那兒。除此之外,門戶網站還能夠簡介并結合適合服務的相關內容。另一方面,多個虛擬機上的云平臺承載了所有子系統(智能服務門戶網站,內容整合,以及位置感知),可以運行虛擬機實例并提供虛擬機負載的可擴展性。
該系統的邏輯結構如圖1所示。從部署的角度去看,圖2展示了整個系統的操作環境。
根據這兩個圖,很明顯本系統的性能測試需要覆蓋終端用戶場景及服務器場景。
這是因為一個成功的服務器性能測試并不能保證在客戶端運用該系統時,終用戶也會同樣成功。
性能測試
這只是常用來衡量任何被測系統性能的一個概括。通常,我們設計并執行一次性能測試以弄清系統是如何響應特定load的,無論load有沒有被定義為許多并發用戶,volumes或 transactions。
如下表1描述了性能測試各個領域的重點。
表1.性能測試重點
上述重點保證了被測系統應對用戶不斷增長的loads時是可延展的,且一旦它被發布并投入生產沒有任何意想不到的問題,長遠來看還有助于提高終用戶的滿意度。這也將會使該系統比市場上的其它相似系統更具競爭優勢。