
案例2
日本第三大手機運營商——軟銀移動2006年10月遇到了麻煩,本指望通過降低手機資費來吸引用戶,誰想大量用戶蜂擁而至卻導致自己的電腦系統陷入癱瘓,軟銀移動在10月29日不得不宣布暫停接納新的用戶,直接損失逾億日元。
用戶當然不想看到以上的場景發生在自己的軟件系統上,“癱瘓”意味著響應時間過長,不能為客戶正常提供服務;數據丟失則是一個不可接受的嚴重問題,損失幾乎不可彌補。因此用戶對軟件性能的要求日益細化嚴格,可以說是“與時俱進”。
簡單地說,在軟件發展的初級階段,“又要馬兒跑,又要馬兒少吃草”,這是當時很多用戶對軟件系統提出的性能要求,“跑”有關時間,“草”有關空間。馬兒跑,就是軟件系統給用戶的響應要快,處理時間要短;馬兒少吃草就是軟件系統能夠盡可能地少占用和消耗資源,諸如內存、CPU等。因此,測試人員在做性能測試時,往往要把響應時間、內存利用率、I/O占用率等寫在最后測試報告里,因為這是用戶最關心的東西。
隨著用戶的軟件質量意識的增強,用戶對軟件的性能需求也越來越多,越來越細致。這時不僅要讓馬兒跑,還要馬兒能快能慢(軟件系統的伸縮性),“路遙知馬力”(軟件系統在長時間運行下的穩定性)等。細數起來,如下:
Ÿ 計算性能;
Ÿ 資源的利用和回收;
Ÿ 啟動時間;
Ÿ 伸縮性;
Ÿ 穩定性。
計算性能——就是馬兒要能跑,要有很快的速度,最好是“日行千里,夜行八百”。對軟件系統來講,計算性能是用戶最關心的一個指標,即軟件系統有多快。比如,用戶會關注軟件系統執行一個典型的業務需要花多少時間。我們要給出用戶答案,我們的系統完成用戶典型操作,比如業務的交易計算,數據的增、刪、改、查時間是不是在用戶可以接受的范圍內。
資源的利用和回收——就是馬兒少吃草。軟件系統的“草料”就是其依存的硬件和軟件資源,硬件資源包括客戶端硬件、服務器硬件和網絡硬件;軟件資源包括操作系統、中間件和數據庫等。其中要特別說的是,運行軟件系統需要使用到的服務器內存數量,對于整個系統的性能表現是至關重要的。因此,軟件系統能否在運行時有效地使用和釋放內存是我們考察軟件性能的一個重要因素。
對計算機來講,計算機內存為程序提供運行空間(有代碼區和數據區),如果內存不夠大,CPU就不能把全部的數據和程序放到內存里,只好放一部分在內存,一部分放在硬盤中,現用現取,而讀取內存和讀取硬盤數據的速度要差好幾個數量級,這就大大影響了計算機的工作效率。如果還不能理解內存的重要性的話,可以用個形象的例子來說明:
如果CPU是個畫家,那么內存就是他的工作臺。工作臺上放著畫布(被操作的數據),還有各種畫筆、刷子等各種工具(運行的程序)。如果工作臺(內存)不能足夠大,容納不下繪畫所使用的所有工具,那么畫家就需要不時地去儲藏室(硬盤等存儲設備)里取所需的工具,這就會大大影響繪畫的速度。
所以在評價一個系統性能的時候,要特別關注這個系統對內存的使用。
文章來源于領測軟件測試網 http://www.kjueaiud.com/