当前位置:文档之家› 移动APP测试大全精编资料

移动APP测试大全精编资料

移动A P P测试大全移动APP笔记Genymotion:安卓的虚拟环境1、adb命令1、安卓调试桥(android debug bridge)adb 命令设置一下环境变量C:\Program Files\Genymobile\Genymotion\tools1、查看链接设备adb devices 查看链接设备:会显示IP地址和端口号2、安装:adb install 安装apk文件adb install +包所在的路径多台设备:adb -s IP地址:端口号 install 所在路径adb -s 172.31.129.22:5555 install D:\ecmobile3.2.apk3、卸载adb uninstall + 包名卸载如果有多个设备用–s IP地址:端口号adb -s IP地址:端口号 uninstall 包名4、查看包名aapt d badging apk所在路径 | find “package”用find 过滤一下在windows中过滤使用find 并且后面名字加双引号5、进入安卓系统adb shell进入之后类似于linux 系统,命令是通用的。

进入系统常见的目录1、/data/app:里面都是上传的apk文件,其实都是压缩包2、/data/dalvik-cache:里面是app中可执行文件.dex3、/data/data/包名:、1、databases:前端用户数据里面有两个文件:ecmobile.db:数据库文件ecmobile.db-journal:日志文件,回滚用2、shared_prefs:用户设置,只有进入系统之后才有生产这个文件不进入没有这个文件里面都是一些用户信息.xml文件6、从安卓系统中拉取文件adb pull 安卓系统中所载位置导出到的位置7、将文件从外界环境导入安卓系统中adb push 外界路径安卓系统的位置注意:linux系统中斜杠/ windows 系统中反斜杠\8、模拟真机1、进到/etc/hosts 修改IP和域名2、挂载-》修改文件的权限 chmod 777 /system3、APP常见的测试类型1、安装测试1、在PC端安装前:检查文件齐全安装中:安装步骤安装后:安装后的文件目录是否正确2、APP测试:安装前:apk文件病毒检查安装中的安装途径多样:1、商店下载安装,2、上传apk文件到sd卡安装3、adb安装4、浏览器下载安装。

安装后:启动检查,权限检查,欢迎界面检查升级:1、通过adb升级,2、应用商店升级,3、网页升级,4、高版本低版本同版本覆盖安装,5、考虑有无存储数据或者缓存。

2、卸载测试1、adb卸载2、第三方应用卸载3、系统进行卸载3、功能测试PC端:1、单功能测试:单个功能,重点在各种异常情况2、功能交互:功能之间相互影响3、业务流程:特殊流1、APP分类1、原生APP:不需要安装,不需要网络,直接安装在设备里面,可以直接调用手机终端的硬件设备2、web app :需要网络,不需要下载3、混合APP:需要下载安装2、业务测试Fiddler使用只能抓http协议包,不能抓原生的APP的包在tools下options,decode,设置虚拟的手机网络模块:1、inspector:包含子请求,查询数据json数据2、autoresponder自动响应,编写想要的响应的信息3、filters过滤器输入hostJSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。

JSON采用完全独立于语言的文本格式,这些特性使JSON成为理想的数据交换语言。

字符串的形式来传输信息3、功能交互1、与手机系统功能的交互:混合APP和原生APP之间的交互,电话闹钟,短信2、与手机管理软件或安全软件交互:权限,休眠:软件长时间不用能否正常休眠,关闭网络4、操作方式1、屏幕旋转方式2、锁屏键,HOME键,back键(系统会给APP一个广播,APP中有接收的话就会产生一个功能)3、滑屏,长按,双击,多点触控5、通知栏测试系统会给APP一个广播,APP中有接收的话就会产生一个功能6、双卡双待测试7、android四大组件1、activity界面1、查看日志Catlog工具查看日志,更多注重红色的错误信息,拖拽进SD卡安装,授权1、通过包名查看2、通过displayed查看:通常是查看进入一个页面的时间性能测试的时候可以查看进入首次进入软件所使用的时间欢迎页面+首页时间一个activity只对应一个界面,但是一个界面对应多个activity2、查看进程Ps | grep ecmobile3、用户ID用户ID可以很好的隔离不同APP的数据,方便保护APP数据/data/system/packages.list/data/system/packages.xml:记录系统中安装apk的所有属性2、service后台服务在移动端有些应用已经关掉但还是可以不断地收到信息。

因为service3、broadcast receiver广播锁屏键,home键,back键,会想所有的APP发送广播,如果APP有处理会产生一个功能4、content provider内容APP之间的数据共享4、性能测试在pc端的性能测试1、负载测试:1、不同负载下系统的各项性能指标和需求说明书是不是相符合2、测出最大负载和最佳负载主要是针对系统的的能力2、压力测试:在极限负载的情况下系统是否可以长时间稳定的运行,主要是测试系统的耐力3、容量测试:主要是针对数据库容量、带宽、等的测试APP性能测试1、时间1、启动时间1、首次启动时间安装好app第一次运行的启动时间2、非首次启动时间热启动时间:app对应的进程处于运行的状态冷启动时间:APP对应的进程没有运行:很多APP不支持冷启动,是关闭后台进程之后在ps可以查看到进程,要在安卓系统中杀掉进程。

2、切换时间不同界面之间的切换2、存储空间1、安卓内存native堆内存:是镜像文件所产生的/data/data/包名/lib中的.so文件所产生的1、dalvik堆内存:是java程序产生的dalvik内存可以通过/system/build.prop|grep heap(内存)查看dalvik.vm.heapsize=256m 最大是256dalvik.vm.heapstartsize=8m 最小8dalvik.vm.heapgrowthlimit=96m 限制的内存是多少dalvik.vm.heapsize=256mdalvik.vm.heaptargetutilization=0.75dalvik.vm.heapminfree=512kdalvik.vm.heapmaxfree=8m如果超出内存会产生溢出 OOM 超出heapgrowthlimit2、内存占用查看每一个应用的内存(pss)Adb shell top –n 400 | grep 包名动态的显示查看进程占用内存的情况:procrank当APP打开某一个超大图片的时候可能产生内存溢出3、GC(垃圾回收,获取垃圾信息)1、先挂载,改权限,导出文件。

注意要进入到system里面挂载Mount -o rw,remount –t yaffs2 /dev/block/mtdblock3 /system Chmod 777 /system导出垃圾文件logcat是android中的一个命令行工具,可以用于得到程序的log信息Logcat -v time -v threadtime |grep GC > gcfeil.txtCtrl+C结束一下然后在外部用adb pull 拉出来,注意拉出来好看一些就用csv表格格式查看的分别是百分比, free ,占用值/总空间4、APP占用空间/data/data/包名下输入 du –sH 查看目录的空间大小其实这个值是不断变化的,要多次查看主要看APP占用的空间3、CPU中央处理器通过emmagee 机关枪的工具进行测试,是一款APP性能测试工具停止测试之后会将文件导出在sd的文件里面 /sdcard导出到windows系统中注意退出安卓系统在进行导出文件里面都是应用占用内存,内存使用率4、GPU(图形处理器)关注点:GPU过度绘制造成CPU资源浪费,设置-》开发者选项-》GPU勾选杀掉进程,重新打开软件。

1、浪费GPU资源2、很耗电如果GPU过度绘制会导致电量消耗很快一般这个bug级别比较低 p3 p4级别5、流量使用中流量待机流量6、功耗(电量)1、安装功耗 1、安装前测试电量2、安装完成测试电量3、相减2、待机功耗3、使用功耗7、性能测试需要进行横向和纵向对比横向:竞争对手纵向:以前的版本形成基线:有一个基准,来对比是调优还是调差了5、兼容性测试 mqc工具在web测试中主要测试1、兼容性测试2、浏览器测试3、屏幕尺寸4、温度、压力1、安卓系统的碎片化:各个厂家的的软硬件不同比如小米,魅族,华为等等2、屏幕尺寸: 4寸 5寸3、屏幕像素:像素越大,越清晰4、屏幕分辨率:长和宽上的像素5、权限设置:不同用户对于设备权限的控制的不同,比如混合APP使用系统软件要确认6、借助测试平台进行兼容性测试:阿里云mqc,百度云测,testin,腾讯优测6、易用性操作是否便捷,是否美观易懂APP易用性测试:1、操作按钮点击范围是否合理在开发者选项中打开显示布局边界2、界面:图标识别度7、可靠性测试稳定性:成熟性,容错性,易恢复性,依从性质量模型的6个特性27个子特性1、稳定性测试Monkey测试,随机测试1、是安卓中一个命令行工具是安卓自动化测试的一种手段2、Monkey测试是通过向系统发送一个伪随机的用户事件流,比如多点触控,手势输入3、Adb shell monkey -p 包名--throttle 500-s 9 -v -v -v 1000 > D:\monkey_log.txt时间间隔什么事件流日志级别4、使用simiasque 工具(是一个apk的包)屏蔽通知栏,防止monkey测试通知栏5、如果文件中最后一行是monkey finished 证明正常的在日志中查询ANR(应用没有响应) Exception Crash 如果有直接截图报bug 一般情况:3万以内出现Crash。

认为系统可靠性比较糟糕2、异常测试1、断电重启2、网络中断:将网络关闭,然后卸载应用,在安装应用,进入软件首页空白,打开网络之后首页还是一片空白。

Bug3、程序异常退出4、APK文件名包含中文:其实是不可以的5、清除缓存 /data/data/包名下面都是缓存卸载应用之后查看里面有几个缓存文件,然后安装之后在有几个缓存文件8、网络测试1、网络分类2G,3G,4G,wifi,使用状态迁移法进行设计2、不同网络之间的切换3、关注点:上行速率:服务端向客户端发送数据下行速率:客户端向服务端发送数据延时:latency丢包率4、网络切换下APP的使用5、弱网、无网测试6、工具的使用:Network for windows toolkit1、安装2、New link 添加上行速率 loss :丢包 error:错误 latency:延时3、Filter 添加网卡 add cards4、Dialup56k5、Start9、工具1、业务测试:fiddler2、界面测试:catlog3、测试CPU中央处理器:emmagee 机关枪网易的工具4、稳定性测试:屏蔽通知栏 simiasque apk包5、网络测试:network工具弱网工具10、利用系统的设置1、GPU测试:开发者选项,显示GPU过度绘制2、易用性:开发者选项,显示布局边界11、文件所在的位置1、native 内存:/data/data/包名/lib 里面的.so文件产生的2、delvik内存:java程序产生的/system/build.prop | grep heap 来查看对内存的限制信息3、GC垃圾收回在system下进行挂载 mount -o rw,remount -t yaffs2 /dev/block/mtdblock3/systemChmod 777 /systemLogcat -v time -v threadtime | grep GC >GClog.txtGCklog.txt文件所在的位置在/system下面退出安卓系统exit adb pull /system/GClog.txt D:\GClog.txt4、APP占用的空间/data/data/包名我们只查看APP占用内存的空间所以在前面的路径下面输 du -sH5、monkey测试注意和查看垃圾信息不同的地方在于,monkey测试直接把垃圾信息拉倒windows系统Monkey -p 包名 --throttle 300 -s 9 -v -v -v 1000 > D:\-v -v -v 这种日志的级别是最高的6、清除缓存/data/data/包名/ 里面都是缓存文件7、emmgagee机关枪会自动把文件保存到 /system/sdcard 下面退出安卓系统将文件导出就可以了1、请以您以往的实际工作为例,详细的描述一次完整的过程(假设系统经过1、2次的迭代)1、首先搭建测试环境,在项目管理软件上下载部署文档以及项目包。

相关主题