?
性能測試在軟件的質量保證中起著重要的作用,它包括的測試內容豐富多樣。中國軟件評測中心將性能測試概括為三個方面:應用在客戶端性能的測試、應用在網絡上性能的測試和應用在服務器端性能的測試。通常情況下,三方面有效、合理的結合,可以達到對系統性能全面的分析和瓶頸的預測。通過性能測試工具得到測試對象的各項性能指標,將各項性能指標與行業中的標準值或者競品值去做對比,以得到一個綜合的結論與優化改進的方案。下面將以手游這樣的典型APP為例對客戶端性能指標進行詳細說明。
包體大小
包體大小能被列為性能指標,是從APP性能指標及游戲運營兩個維度考慮的,玩家是更希望包體小的同時性能要好,有時它們會是一個互相取舍的關系。
CPU占用率
一般情況下,用主流手機玩游戲20%-40%的CPU占用率算是合理的,當然這個數值隨著近年來手機硬件配置的提高,會略微下降,如果CPU占用率超過80%就非常值得我們去關注了。
圖片處理器每秒刷新的幀數(FPS)
可用來指示頁面是否平滑的渲染。手機游戲幀率FPS,30-60都可接受,上了60對于人眼主觀感受差別就不大了。對于游戲開發而言,并不是FPS越高就一定越好,FPS取決于顯卡,其次是內存、CPU,然后是網絡。故綜合游戲其他性能指標,選擇一個適合的FPS即可。
內存使用
在Android系統中,每個APP進程除了同其他進程共享(shared dirty)外,還獨用私有內存(private dirty),通常我們使用PSS(=私有內存+比例分配共享內存)來衡量一個APP的內存開銷。移動設備的內存資源是非常有限,為每個APP進程分配的私有內存也是有限制。一方面我們要合理的申請內存使用,以免導致頻繁的GC(垃圾回收機制)影響性能和大對象申請發生內存溢出;另一方面,我們要及時釋放內存,以免發生內存泄漏。
電量
相對于PC來說,移動設備的電池電量是非常有限的,保持持久的續航能力尤為重要。另外,android的很多特性都比較耗電(如屏幕,GPS,sensor傳感器,喚醒機制,CPU,連網等的使用),我們必須要慎重檢查APP的電量使用,以免導致用戶手機耗電發熱,帶來不良體驗。
流量
目前的網絡類型包含2G\3G\4G\wifi,其中還有不同運營商的區分,我們在APP的使用中經常遇到大資源,重復請求,調用響應慢,調用失敗等各種情況。在不同的網絡類型之下,我們不僅要控制流量使用,還需要加快請求的響應。另外,對于需要聯網的手游來說,部分游戲對不同聯網方式的網絡類型采用了不同的流量消耗策略,主要分為wifi環境和蜂窩網絡環境。所以針對不同的游戲,我們統計流量消耗時,可能要連接不同的網絡進行測試。