移动APP测试大全
-
..
移动
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
:
p>
5555
install
D
:
3
、
卸载
adb
uninstall
+
包名
卸载如果有多个设备用
–
s
IP
地址:端口号
adb
-s
IP
地址:端口号
uninstall
包名
4
、查看包名
aapt
d
badging
apk
所在路径
| find
“
package
p>
”
用
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
、商店下载安装,
2
、上传
apk
文件到
sd
卡安装
3
、
adb
安装
4
、
浏览器下载安装。
安装后:启动检查,权限检查,欢迎界面检查
升级:
1
、
通过
adb
升级,
2
< br>、应用商店升级,
3
、网页升级,
4
、高版本低版本同版本覆盖安装,
5
、
考虑有无存储数据或者缓存。
2
、卸载测试
1
p>
、
adb
卸载
2
、第三方应用卸载
3
、系统进行卸载
3
、功能测试
PC
端:
1
、单功能测试:单个功能,重点在各种异常情况
2
、功能交互:功能之间相互影响
3
、业务流程:特殊流
1
、
APP
分类
1
、原生
APP
:不需要安装,不需要网络,直接安装在设备里面,可以直接调用手机终
端的硬件设备
;..
..
2
、
web app
:需要网络,不需要下载
3
、混合
APP
:需要下载安装
< br>
2
、业务测试
Fiddler
使用
只能抓
http
协议包,不能抓原生的
APP
的包
在
tools
下
options,decode,
p>
设置虚拟的手机网络
模块:
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
键,
p>
back
键(系统会给
APP
一个广播,
APP
中有接收的话就会产生一个
功能)
3
、滑屏,长按,双击,多点触控
5
、通知栏测试
系统会给
APP
一个广播,
APP
中有接收的话就会产生一个功能
6
、双卡双待测试
< br>7
、
android
四大组件<
/p>
1
、
acti
vity
界面
1
、查看日志
Catlog
工具查看日志,更多注重红色的错误信息,拖拽进
SD
卡安装,授权
;..
..
1
、
通过包名查看
2
、
通过<
/p>
displayed
查看:通常是查看进入一个页面的时间
性能测试的时候可以查看进入首次进入软件所使用的时间
p>
欢迎页面
+
首页时间
一个
activity
只对应一个
界面,但是一个界面对应多个
activity
2
、查看进程
Ps | grep ecmobile
3
、用户
ID
用户
ID
可以很好的隔离不同
APP
的数据,方便保护
APP
数据
/data/system/
/data/
system/:
记录系统中安装
apk
的所有属性
2
、
< br>service
后台服务
在移
动端有些应用已经关掉但还是可以不断地收到信息。因为
service
3
、
broadcast
receiver
广播
锁屏键,
p>
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
里面挂载
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
占用空间
/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
级别
;..