App常见问题
Android 调试桥 (adb) | Android 开发者 | Android Developers (google.cn)
1.请说明冷启动和热启动相关概念,并说明如何查看应用程序应用的启动时间(至少2种方法)
冷启动是指activity已经ondestroy(),进程不在内存中,重新进行oncreate()方法,热启动是指activity已经oncreate(),进程在内存中,此时处于onpause()状态,现在执行onrestart()重新渲染页面。
ddms中logcat输入display命令可以查看
aapt dump badging G:\tmp\Emmagee2.4.apk #查看启动activity
adb shell am start -W com.netease.qa.emmagee/.activity.MainPageActivity #-W等待启动完成
2.说明monkey参数--pct-touch、--pct-motion、--throttle的作用
--pct-touch 调整触摸事件的百分比
--pct-motion 调整motion事件百分比
--throttle 指定时间之间的间隔
3.说明monkey参数--ignore-crashs和--ignore-timeouts的作用
--ignore-crashes 忽略崩溃
--ignore-timeouts 忽略超时
4.按照要求写出下列命令,通过DDMS查看包名或类名
a)查看设备命令,停止/启动服务
adb devices
adb kill-server
adb start-server
b)使用截图命令截取一张图并下载到本地
adb shell screencap -p /data/local/screen.jpg
c)使用pm命令将考研app安装到手机设备
adb install G:\tmp\kaoyan3.1.0.apk
adb shell pm install kaoyan3.1.0.apk
d)找出考研帮包名的方法
adb shell pm list packages|findstr kaoyan #com.tal.kaoyan
e)启动安装好的考研帮app
aapt dump badging G:\tmp\kaoyan3.1.0.apk #com.tal.kaoyan.ui.activity.SplashActivity
adb shell am start -n com.tal.kaoyan/.ui.activity.SplashActivity
f)关闭考研app
adb shell am force-stop com.tal.kaoyan
5.使用monkey,对【Lemon】做10000次monkey操作,执行时忽略crash和超时,使用随机数,每次执行之间间隔3s,记录本次执行的随机流,便于bug的复现,并且显示最详细日志,并把日志文件输出到d盘下面的test文件夹。
adb install G:\tmp\lemonoa.apk #com.mossle.android
adb shell monkey -p com.mossle.android -s 1 --throttle 3000 --ignore-crashes --ignore-timeouts -v -v -v 10000>D:\test
6.简述Android日志的种类及怎么查看?
实时日志 查看方法 adb logcat或者DDMS
anr日志 在/data/anr/traces.txt
状态日志 adb shell dumpsys meminfo
Monkey日志 adb shell monkey
7.Monkey日志级别有哪几种,说明如何查看对应的日志。
-v level0
-v -v level1
-v -v -v level2
adb shell monkey -p packagename -v (显示基本的日志信息)
adb shell monkey -p packagename -v -v (显示较为详细的日志信息(被测试/活动的)activity展示)
adb shell monkey -p packagename -v -v -v(显示最详细的日志信息)
8.请说明如何做App兼容性测试。
- os的兼容性
- 品牌的兼容性
- 分辨率的兼容性
- 自身与其他软件的兼容性
9.中断测试考虑哪些因素?
app在前台和后台运行状态时与来电,文件下载,音乐等关键运行的交互情况测试,测试电话,短信,或其他通知进来时APP的反应
需要考虑手机硬件上,如:待机,插拔数据线、耳机等操作不会影响客户端
还有断电、断网、服务器异常等情况下,客户端能否正常处理
10.在app测试过程如何协助开发定位Bug?
提交日志问题、合理分析推测、一起看代码
11.adb查看应用启动时间命令。
adb shell am start -W packagename/activityname
12.简述DDMS工具的使用。
查看包名、id、类名、实时日志、过滤
heap操作、查看数据对象、内存的情况、查看内存是否泄露、查看系统信息(cpu、内存、帧率)
对设备操作(截屏、录屏、上传、下载、目录结构、位置、网络)
13.写出查看包名的方法及操作展示。
adb shell pm list packages|findstr packagename
ddms工具
adb shell->cd/data/data (文件夹名就是包名)
aapt dump badging
adb logcat ActivityManager:I *