Android 应用性能测试方案一之 log 分析
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Log.e("AppStartTime","AppOnCreate");
...
}
@Override
protected void onResume() {
super.onResume();
Log.e("AppStartTime","AppOnResume");
...
}
|
publicvoidgetAppTrafficList(){
PackageManagerpm=getPackageManager();
List<PackageInfo>pinfos=pm
.getInstalledPackages(PackageManager.GET_UNINSTALLED_PACKAGES
|PackageManager.GET_PERMISSIONS);
for(PackageInfoinfo:pinfos){
String[]premissions=info.requestedPermissions;
if(premissions!=null&&premissions.length>0){
for(Stringpremission:premissions){
if("android.permission.INTERNET".equals(premission)){
intuId=info.applicationInfo.uid;
longrx=TrafficStats.getUidRxBytes(uId);
longtx=TrafficStats.getUidTxBytes(uId);
if(rx<0||tx<0){
continue;
}else{
Log.e("网络流量",info.applicationInfo.loadLabel(pm)+Formatter.formatFileSize(this,rx+tx)
}
}
}
}
}
}
|
drawing = Drawing(500,300)
lp = LinePlot()
lp.x = 50
lp.y = 50
lp.height = 125
lp.width = 300
lp.data = [zip(times, list)]
lp.lines[0].strokeColor = colors.blue
lp.lines[1].strokeColor = colors.red
lp.lines[2].strokeColor = colors.green
drawing.add(lp)
drawing.add(String(350,150, reportname,fontSize=14,fillColor=colors.red))
renderPDF.drawToFile(drawing,pdfname,reportname)
#这里的times和list两个参数都是list,是时间和监控获取的数据一一对应的关系
这些我们都有了之后,我们来看下分析AppStartTime的方法:
def analysisStartFile(list):
totalcount =0
totaltime =0
time_list =[]
totalcount_list = []
for i in range(len(list)):
if 'AppStartTime' in list[i]:
totalcount =totalcount+1
totalcount_list.append(totalcount)
if float(list[i+4].split(' ')[1][-6:])-float(list[i].split(' ')[1][-6:])>0:
totaltime=totaltime+float(list[i+4].split(' ')[1][-6:])-float(list[i].split(' ')[1][-6:])
time_list.append(float(list[i+4].split(' ')[1][-6:])-float(list[i].split(' ')[1][-6:]))
return totalcount_list,'%.2f'%float(totaltime/totalcount),time_list
|

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
-
上一篇
Ruff:物联网时代的Android触发产业革命
物联网(IoT,Internet of Things)的全新时代就要来临。 过去几年内,智能硬件热潮席卷全球。然而和手机时代与PC时代相似,硬件的热潮无法带来行业的爆发性发展。在行业集体的尝试与失败之后,物联网的发展又指向了同样的关键点——应用。 据国际知名研究及顾问机构Gartner预测,在2017年,物联网行业里的公司半数以上都会是崭新面孔。而这些新公司的特点,都是偏重于软件、应用、互联网。 然而物联网时代发展至今,常见的发展困境在于数量繁多的硬件厂商之间互不兼容,以及开发者基本无法兼具软硬件能力——硬件工程师们难以开发出杀手级硬件产品,软件工程师们则由于缺乏硬件能力,在物联网上开发应用极其困难。 近日,记者发现了一家物联网操作系统公司Ruff,他们专注的领域,很可能帮助物联网产业走出这些困境。 Ruff提供了一个开放、高效、敏捷的物联网应用开发平台。它的出现,让软件开发者在开发物联网应用时,无需关注底层硬件,只需专注应用逻辑。而测试也只需要在PC上完成。如此,Ruff很可能将无数软件开发者吸引进物联网生态中,带来百花齐放的物联网应用市场。这样的一种操作系统,很可能是物联网步入全新...
-
下一篇
《腾讯iOS测试实践》一一1.4 测试分析
本节书摘来自华章计算机《腾讯iOS测试实践》一书中的第1章,第1.4节,作者:丁如敏 王琳 等著 更多章节内容可以访问云栖社区“华章计算机”公众号查看。 1.4 测试分析 1.4.1 黑盒测试分析“黑盒测试是软件测试的主要方法之一,也可以称为功能测试、数据驱动测试或基于规格说明的测试。测试者无须了解程序的内部情况,无须掌握应用程序的代码、内部结构和编程语言的知识,只要知道程序的输入、输出和系统的功能即可。这是从用户的角度针对软件界面、功能及外部结构进行测试,而不考虑程序内部逻辑结构。”这段关于黑盒测试的定义参考自维基百科。 黑盒测试也是应用最广的方法之一,不少公司都是以黑盒测试为主。那么黑盒测试有什么不足呢?我们先看看《微软的软件测试之道》对黑盒测试的分析,如图1-9所示。图1-9中的A代表黑盒测试的没覆盖部分,B代表黑盒测试的冗余
相关文章
文章评论
共有0条评论来说两句吧...