性能測試從零開始——LoadRunner入門(三)[1] 性能測試工具
1.1.4 用戶眼里的軟件性能
軟件系統在滿足用戶強大的功能需求同時,架構和實現上也變得復雜,軟件系統經過單機系統時代、客戶機服務器系統時代,到現在跨廣域網的龐大分布式系統時代,這樣的例子在金融、電信系統中隨處可見。
系統的業務量大了,就要使用更多的時間和空間資源,在一般情況下不能出現的軟件性能問題就暴露出來了,這些問題“不鳴則已,一鳴驚人”,輕則讓軟件對外不能正常提供服務,重則可能會導致系統的崩潰甚至數據的丟失,這都會給用戶帶來無法估量的損失。
案例1
某西部大型油田使用鉆井平臺數據采集系統,在上線之前已經通過功能測試,但軟件系統上線之后,在使用采集的電子數據勘探油層時,總是不能準確地找到油口,導致數百萬元的損失。經過研究試驗,發現軟件從平臺采集的數據和手工采集的數據有很大出入,性能測試后,找到根本原因:由于采集過程中產生的數據量非常大,導致軟件系統在采集過程中線程死掉,丟失部分數據,最終產生的是一個錯誤的采集結果,為工程人員提供了錯誤的判斷依據。
案例2
日本第三大手機運營商——軟銀移動2006年10月遇到了麻煩,本指望通過降低手機資費來吸引用戶,誰想大量用戶蜂擁而至卻導致自己的電腦系統陷入癱瘓,軟銀移動在10月29日不得不宣布暫停接納新的用戶,直接損失逾億日元。
用戶當然不想看到以上的場景發生在自己的軟件系統上,“癱瘓”意味著響應時間過長,不能為客戶正常提供服務;數據丟失則是一個不可接受的嚴重問題,損失幾乎不可彌補。因此用戶對軟件性能的要求日益細化嚴格,可以說是“與時俱進”。
簡單地說,在軟件發展的初級階段,“又要馬兒跑,又要馬兒少吃草”,這是當時很多用戶對軟件系統提出的性能要求,“跑”有關時間,“草”有關空間。馬兒跑,就是軟件系統給用戶的響應要快,處理時間要短;馬兒少吃草就是軟件系統能夠盡可能地少占用和消耗資源,諸如內存、CPU等。因此,測試人員在做性能測試時,往往要把響應時間、內存利用率、I/O占用率等寫在最后測試報告里,因為這是用戶最關心的東西。
隨著用戶的軟件質量意識的增強,用戶對軟件的性能需求也越來越多,越來越細致。這時不僅要讓馬兒跑,還要馬兒能快能慢(軟件系統的伸縮性),“路遙知馬力”(軟件系統在長時間運行下的穩定性)等。細數起來,如下: 軟件測試
計算性能;
資源的利用和回收;
啟動時間;
伸縮性;
穩定性。
計算性能——就是馬兒要能跑,要有很快的速度,最好是“日行千里,夜行八百”。對軟件系統來講,計算性能是用戶最關心的一個指標,即軟件系統有多快。比如,用戶會關注軟件系統執行一個典型的業務需要花多少時間。我們要給出用戶答案,我們的系統完成用戶典型操作,比如業務的交易計算,數據的增、刪、改、查時間是不是在用戶可以接受的范圍內。
原文轉自:http://www.anti-gravitydesign.com