移动APP测试大全

绝世美人儿
757次浏览
2021年02月21日 09:23
最佳经验
本文由作者推荐

-

2021年2月21日发(作者:晨昏)


..


移动


APP


笔记



Genymotion:


安卓的虚拟 环境



1



a db


命令



1




安卓调试桥(


android debug bridge




adb



命令设置一下环境变量


C:Program FilesGenymobileGenymotiontools


1


、查看链接设备



adb devices


查看链接设备:会显示


IP


地址和端口号



2




安装:



adb



install


安装


apk


文件



adb



install +


包所在的路径



多台设备:


adb



-s





IP


地址:端口号







install



所在路径



adb



-s





172.31.129.22



5555






install



D




3




卸载



adb



uninstall



+


包名





卸载如果有多个设备用




s



IP


地址:端口号



adb



-s





IP


地址:端口号







uninstall



包名



4


、查看包名




aapt



d



badging



apk


所在路径



| find



package






find


过滤一下在


windows


中过滤使用


find


并且后面名字加双引号



5


、进入安卓系统



adb



shell


进入之后类似于


linux


系统,命令是通用的。进入系统常见的目录


< br>1



/data/app:


里面 都是上传的


apk


文件


,


其实都是压缩包



2



/data/dalvik-ca che


:里面是


app


中可执行文件< /p>


.dex


3



/data/data/


包名:



< /p>


1



databases:


前端用户数据



里面有两个文件:

< br>


:数据库文件



-journal:


日志文件,回滚用



2



shared_prefs


:用户设置,只有进入系统之后才有生产这个文件不进入没有这个


文件 里面都是一些用户信息


.xml


文件



6


、从安卓系统中拉取文件



adb



pull



安卓系统中所载位置








导出到的位置



7


、将文件从外界环境导入安卓系统中



adb



push



外界路径






安卓系统的位置



注意:


linux


系统中斜杠


/





windows


系统中反斜杠



8


、模拟真机




1


、进到


/etc/hosts



修改


IP


和 域名




2


、 挂载


-


》修改文件的权限



chmod



777



/system


;..


..




3




APP


常见的测试类型



1


、安装测试



1


、在


PC




安装前:检查文件齐全



安装中:安装步骤



安装后:安装后的文件目录是否正确



2



APP


测试:


安装前:


apk


文件病毒检查< /p>



安装中的安装途径多样:


1

< p>
、商店下载安装,


2


、上传


apk


文件到


sd


卡安装

< p>
3



adb


安装


4



浏览器下载安装。



安装后:启动检查,权限检查,欢迎界面检查



升级:



1


、 通过


adb


升级,


2

< br>、应用商店升级,


3


、网页升级,


4


、高版本低版本同版本覆盖安装,


5



考虑有无存储数据或者缓存。



2


、卸载测试






1



adb


卸载



2


、第三方应用卸载



3


、系统进行卸载



3


、功能测试



PC


端:



1


、单功能测试:单个功能,重点在各种异常情况



2


、功能交互:功能之间相互影响



3


、业务流程:特殊流



1



APP


分类

< p>


1


、原生


APP


:不需要安装,不需要网络,直接安装在设备里面,可以直接调用手机终


端的硬件设备



;..


..


2



web app


:需要网络,不需要下载



3


、混合


APP


:需要下载安装

< br>


2


、业务测试



Fiddler


使用



只能抓


http


协议包,不能抓原生的


APP


的包




tools



options,decode,


设置虚拟的手机网络



模块:



1



inspector:


包含子请求,查询数据

< br>json


数据



2



autoresponder


自动响应,编写想要 的响应的信息



3


< br>filters


过滤器




输入


host


JSON(JavaScript Object Notation)


是一种轻量级的数据交换格式。


JSON


采用完全独 立于语言的文本


格式,这些特性使


JSON

成为理想的数据交换语言。字符串的形式来传输信息



3


、功能交互



1


、与手机



系统功能



的交互:混合


APP


和原生


APP


之间的 交互,电话闹钟,短信



2


、与手机管 理软件或安全软件交互:权限,休眠:软件长时间不用能否正常休眠,关闭网




4


、操作方式



1


、屏幕旋转方式


< br>2


、锁屏键,


HOME


键,


back


键(系统会给


APP


一个广播,


APP


中有接收的话就会产生一个


功能)



3


、滑屏,长按,双击,多点触控



5


、通知栏测试


系统会给


APP


一个广播,


APP


中有接收的话就会产生一个功能



6


、双卡双待测试


< br>7



android


四大组件< /p>



1



acti vity


界面



1


、查看日志



Catlog


工具查看日志,更多注重红色的错误信息,拖拽进


SD


卡安装,授权



;..


..


1




通过包名查看



2




通过< /p>


displayed


查看:通常是查看进入一个页面的时间



性能测试的时候可以查看进入首次进入软件所使用的时间



欢迎页面


+


首页时间



一个


activity


只对应一个 界面,但是一个界面对应多个


activity


2


、查看进程



Ps | grep ecmobile


3


、用户


ID


用户


ID


可以很好的隔离不同


APP


的数据,方便保护


APP


数据



/data/system/


/data/ system/:


记录系统中安装


apk


的所有属性



2


< br>service


后台服务



在移 动端有些应用已经关掉但还是可以不断地收到信息。因为


service


3



broadcast receiver


广播



锁屏键,


home


键,


back

键,会想所有的


APP


发送广播,如果

APP


有处理会产生一个功能



4



content provider


内容



APP


之间的数据共享



4


、性能测试




pc


端的性能测试



1




负载测试




1


、不同负载下系统的各项性能指标和需求说明书是不是相符合



2


、测出最大负载和最佳负载





主要是针对系统的的能力



2


、压力测试:在极限负载的情况下系统是否可以长时间稳定的运行,主要是测试系统的耐




3


、容量测试:主 要是针对数据库容量、带宽、等的测试



APP


性能测试



1


、时间



1


、启动时间





1


、首次启动时间




安装好


app

第一次运行的启动时间




2


、非首次启动时间




热启动时间:


app


对应的进程处于运行的状态



< br>冷启动时间:


APP


对应的进程没有运行:


很多


APP


不支持冷启动,


是关闭后台进程


;..


..


之后在


ps


可以查看到进程,要在安卓系统中杀掉进程。



2


、切换时间



不同界面之间的切换



2


、存储空间



1


、安卓内存



native


堆内存:是镜像文件所产生的


/data/da ta/


包名


/lib


中的


.so


文件所产生的



1




dal vik


堆内存:是


java


程序产生的



dalvik


内存可以通过


/system/|grep heap


(内存)查看



ze=256m





最大是


256


artsize=8m




最小


8


owthlimit=96m




限制的内存是多少



ze=256m


rgetutilization=0.75


nfree=512k


xfree=8m


如果超出内存会产生溢出



OOM



超出


heapgrowthlimit



2


、内存占用



查看每一个应用的内存(


pss





Adb shell top



n 400 | grep


包名




动态的显示



查看进程占用内存的情况:


procrank




APP


打 开某一个超大图片的时候可能产生内存溢出





3



GC< /p>


(垃圾回收,获取垃圾信息)



1


、先挂载,改权限,导出文件。注意要进入到


system

< p>
里面挂载



Mount



-o



rw,remount



t




yaffs2



/dev/block/mtdblock3



/system


Chmod



777




/system


导出垃圾文件



;..


..


logcat



android


中的一个命令行工具,可以用 于得到程序的


log


信息



-v



设置输出格式的日志消息。默认是短暂的格式。支持的格式列表




Logcat




-v time



-v



threadtime |grep GC



>


Ctrl+C


结束一下



然后在外部用


adb pull


< /p>


拉出来,注意拉出来好看一些就用


csv


表格格式





查看



的分别是百分比,




free



,


占用值


/


总空间


< br>4



APP


占用空间

< p>


/data/data/


包名




下输入



du



sH




查看目录的空间大小



其实这个值是不断变化的,要多次查看



主要看


APP


占用的空间



3



CPU


中央处理器



通过


emmagee



机关枪的工具进行测试,是一款


AP P


性能测试工具



停止测试之后会将文 件导出在


sd


的文件里面



/sdcard


导出到


window s


系统中




注意退出安卓系统在进行导出



文件里面都是应用占用内存,内存使用率


4



GPU


(图形处理器)



关注点:


GPU


过 度绘制



造成


CPU

< br>资源浪费,设置


-


》开发者选项


-



GPU


勾选



杀掉进程,重新打开软件。



1< /p>


、浪费


GPU


资源



2


、很耗电


如果


GPU


过度绘制会导致电量消耗很快一般这个


bug


级别比较低



p3 p4


级别



;..

-


-


-


-


-


-


-


-