app性能測試指標

?

性能測試在軟件的質量保證中起著重要的作用,它包括的測試內容豐富多樣。中國軟件評測中心將性能測試概括為三個方面:應用在客戶端性能的測試、應用在網絡上性能的測試和應用在服務器端性能的測試。通常情況下,三方面有效、合理的結合,可以達到對系統性能全面的分析和瓶頸的預測。通過性能測試工具得到測試對象的各項性能指標,將各項性能指標與行業中的標準值或者競品值去做對比,以得到一個綜合的結論與優化改進的方案。下面將以手游這樣的典型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環境和蜂窩網絡環境。所以針對不同的游戲,我們統計流量消耗時,可能要連接不同的網絡進行測試。

轉載于:https://www.cnblogs.com/see-young/p/7990930.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/453510.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/453510.shtml
英文地址,請注明出處:http://en.pswp.cn/news/453510.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

《學做程序經理》完整版

文/Joel Spolsky 譯/羅小平 指派一名優秀的程序經理,是團隊產出優秀軟件的重要前提之一。你的團隊里可能沒有這樣的人,其實絕大多數團隊都沒有。 Charles Simonyi,這位曾與MarthaStewart(譯者注:美國女富豪&#…

java工程mvn引用jar_maven 項目加載本地JAR

將jar安裝到本地的maven倉庫1.首先確定本地有maven環境。2.安裝本地jar模板:mvn install:install-file -Dfile -DgroupId -DartifactId -Dversion -Dpackaging示例:mvn install:install-file -DfileF:\jave-ffmpegjave-1.0.2.jar -DgroupIdffmpegjave -D…

compress()方法

boolean compress(Bitmap.CompressFormat format, int quality, OutputStream stream) 把位圖的壓縮信息寫入到一個指定的輸出流中。如果返回true,可以通過傳遞一個相應的輸出流到BitmapFactory.decodeStream()來重構該位圖。注意:并非所有的格式都直接支…

token的三點注意項

token的安全是極度重要的 1:token的唯一性, 它代表著來自某應用系統用戶的一次成功登錄。我們可以利用java util包工具直接生成一個32位唯一字符串來實現。 String token UUID.randomUUID().toString(); 同時,我們定義一個javabean&#xff…

0.1 js復習

1.1 JavaScript的用途 JavaScript用來制作web頁面交互效果,提升用戶體驗。 能夠制作的頁面效果:輪播圖,無限瀑布流,tab切換,定位地圖,表單驗證等。 web前端三層來說: 結構層 HTML 從語義的角度&…

優秀的軟件企業為何倒下?

最近不到一個月,就看到兩家著名公司——SUN公司和Borland公司相繼被收購,引起IT界不小的震動,讓人感慨萬分。在此之前有北電(Nortel)、摩托羅拉的衰退,再往前有 美國數字設備公司Digital(Digita…

python 列表的推導器和內置函數

# 列表的推導式# li []# for i in range(1,11):# li.append(i)# print(li)## lis [i for i in range(1,11)] #列表的推導式# print(lis)#[變量(加工后的變量) for 變量 i in 可迭代的數據類型】 列表的推導式# li2 []# for i in ran…

Android service 中的stub類

stub是為了方便client,service交互而生成出來的代碼。 AIDL(android 接口描述語言)是一個IDL語言,它可以生成一段代碼,可以使在一個android設備上運行的兩個進程使用內部通信進程進行交互。如果你需要在一個進程中(例如:在一個Activity中)訪…

kafka exporter v0.3.0 發布: Prometheus官方推薦,歡迎試用

2019獨角獸企業重金招聘Python工程師標準>>> 時隔1個半月,kakfa exporter v0.3.0于今日正式發布,歡迎大家試用。 項目地址 Github: https://github.com/danielqsj/kafka_exporter Docker Hub: https://hub.docker.com/r/danielqsj/kafka-expo…

java手動切換成獨立顯卡_JAVA設計模式之調停者模式

在閻宏博士的《JAVA與模式》一書中開頭是這樣描述調停者(Mediator)模式的:調停者模式是對象的行為模式。調停者模式包裝了一系列對象相互作用的方式,使得這些對象不必相互明顯引用。從而使它們可以較松散地耦合。當這些對象中的某些對象之間的相互作用發…

2018.2.8 php實現qq登陸接口

PHP實現QQ登錄的原理和實現過程 2018-02-08 學習與分享 PHP自學中心 第三方登錄,就是使用大家比較熟悉的比如QQ、微信、微博等第三方軟件登錄自己的網站,這可以免去注冊賬號、快速留住用戶的目的,免去了相對復雜的注冊流程。下邊就給大家講一…

關于積累的一點看法

這是vip那邊發表的一篇帖子,今天整理,發現可能有一點代表性,就再發在這里,供各位同學參考。 壇子里有人討論小公司要不要積累框架的問題,有感而發,寫了點自己的看法,一家之言,歡迎拍…

去除vue項目中的#及其ie9兼容性

一、如何去除vue項目中訪問地址的# vue2中在路由配置中添加mode(vue-cli創建的項目在src/router/index.js) 1 export default new Router({2 mode: history,3 routes: [4 {5 path: /,6 name: menu,7 component: menu,8 …

sendBroadcast與sendStickyBroadcast的區別

前提條件:此處我主要討論兩種廣播在代碼中動態注冊時的一些細節問題。 正常情況下,廣播通常都是執行一次注冊代碼,就會觸發各接收器接收一次,無論是在onCreate里注冊還是onResume里注冊:若在onCreate里注冊&#xff0…

java 線程池 初始大小_為什么tomcat的默認線程池大小如此之大? - java

我注意到默認的tomcat 7線程池大小似乎是200。但是普通的CPU似乎有16個內核。因此只能并行執行16個線程為什么tomcat使用那么多線程。參考方案多年以來,許多單核計算機問世,并且能夠以“偽并行”模式運行功能,也就是說,您可能有16…

Hadoop2.6.0完全分布式安裝

1、修改主機名稱 對master/slave1/slave2同時配置為Master/Slave1/Slave2 masterMaster:~$ sudo gedit /etc/hostname 上述3個虛機結點均需要進行以上步驟 2、填寫主機IP 對master/slave1/slave2同時配置 masterMaster:~$ sudo gedit /etc/hosts 192.168.48.128 master192.168.…

DEX加密效果分析

dex加密目的:保護安卓應用的Java源代碼,避免被惡意分析,技術被竊取準備工具:1、apktool :反編譯apk,提取smali代碼2、dex2jar :將dex轉化為jar文件3、jd-gui :查看jar文件&#xff0…

一些比特率值

比特率 比特率是指將數字聲音由模擬格式轉化成數字格式的采樣率,采樣率越高,還原后的音質就越好。 比特率值與現實音頻對照: 16KBPS電話音質 24KBPS增加電話音質、短波廣播、長波廣播、歐洲制式中波廣播40KBPS美國制式中波廣播56KBPS話…

java asynccontext,超時后的JavaEE 6 AsyncContext行為

What is the exact behavior of AsyncContext after it times out? Does it still run and does it return response using getResponse()?解決方案Java Servlet 3.0 Maintenance Release on page 34 reads:A call to this method - ServletRequest.startAsync(ServletReques…

BZOJ1857:[SCOI2010]傳送帶——題解

http://www.lydsy.com/JudgeOnline/problem.php?id1857 Description 在一個2維平面上有兩條傳送帶,每一條傳送帶可以看成是一條線段。兩條傳送帶分別為線段AB和線段CD。lxhgww在AB上的移動速度為P,在CD上的移動速度為Q,在平面上的移動速度R。…