关于测试大纲总结 - zjllay/work-notes GitHub Wiki

* 了解四种网络协议:

  1. TCP
  2. UDP
  3. SSL
  4. HTTP(HTTPS)

* 功能测试

monkey命令:【连接http://www.51testing.com/html/93/136593-3714533.html


  1. 获取手机app的包名: 方法一: adb shell pm list package -f 将获取手机内所有apk对应的包名和路径 方法二: adb shell dumpsys window w | findstr / | findstr name= 先打开需要查找的apk后,再敲入以上命令 方法三: C:\Users\Administrator>adb shell root@msm8916_32_512:/ # logcat | grep Android.intent.category.LAUNCHER 方法四: adb shell dumpsys activity > d:\log.txt 先启动需要的查找的apk,再敲入以上命令,在stack #1下查找cmp= 方法五: C:\Users\Administrator>adb shell root@msm8916_32_512:/ # logcat | grep START 先启动需要查找的apk,再敲入以上命令,找到最后一个ActivityManager 方法六: 查看AndroidManifest.xml 1.使用apktool反编译app:apktool d QQyinle_155.apk E:\apk\QQYinyue 2.打开AndroidManifest.xml manifest节点的package属性值是应用的包名: 查找android.intent.action.MAIN和android.intent.category.LAUNCHER对应的activity,该activity对应的android:name属性既是入口activity名称, android.intent.action.MAIN决定应用程序最先启动的Activity android.intent.category.LAUNCHER决定应用程序是否显示在程序列表里 2、对指定app跑monkey:adb shell monkey -p com.android.thememanager(主题包名) --throttle 200 -v 30000

* 性能测试

  1. 响应时间测试 响应时间+白屏 测试- Timeline方法 获取应用启动时间数据:adb logcat -s Timeline,目前支持的只有X3/X4/X5/H3Y(其它机型后续把log加进去就可以了) 遗憾的是,这个测量方法虽然最接近用户的实际感受,但不支持am命令来启动应用,只能手动点击或者用UIAutomator来点击。

点击一个应用,如Settings,出现这么一段log。最后的数字的单位是ms,相减就是时间 I/Timeline( 1473): Timeline: Activity_launch_request time:51307 I/Timeline( 1134): Timeline: App_transition_ready time:51366 I/Timeline( 1134): Timeline: App_transition_ready time:51392 I/Timeline( 1134): Timeline: App_transition_ready time:51394 I/Timeline( 1134): Timeline: App_transition_ready time:51419 I/Timeline( 1271): Timeline: Activity_idle id: android.os.BinderProxy@42bc7438 time:52139 I/Timeline( 1134): Timeline: Activity_windows_visible id: ActivityRecord{42fdab88 u0 com.android.settings/.MiuiSettings t2} time:52173 I/Timeline( 1134): Timeline: App_transition_stopped time:52257

Log的含义:

Activity_launch_request:这一行代表intent开始执行,我们认为是应用启动的起点 App_transition_ready:过渡动画的开始,如果出现如上的一连串的App_transition_ready,取App_transition_stopped之前最近的一个 App_transition_stopped:过渡动画结束 Activity_windows_visible:被启动的Activity内容真正显示出来

我们关注的几个数据如何量化:

1.应用启动时间

Max('Activity_windows_visible',’App_transition_stopped') - 'Activity_launch_request'

取'Activity_windows_visible',’App_transition_stopped'两者的最大值作为应用启动完成的timestamp。

2.'白屏时间'

’Activity_windows_visible‘ - ‘App_transition_stopped’

这个值如果大于0,说明过渡动画完成的时候内容还没有显示出来,就会出现白屏 如果小于0,说明过渡动画结束的时候内容已经准备好了,立马能显示出来,白屏时间为0 2. 响应时间测试-ActivityManager 自动化 3. 录制视频查看相应时间测试方法(下载QuickTimePlayer工具)

  • 设计好测试的起点和终点:比如,helloword 起点时间,起点:点击到helloword app的那一帧开始。终点:helloword展示完毕的那一帧结束
  • 使用iphone 慢动作录制视频(查看设置,确保慢动作 录制帧率为240 fps,即 240帧/1000ms,用于后期计算)
  • 录制完成后,在电脑上使用 视频播放软件打开。推荐使用 QuickTime Player 。
  • 打开后视频后,选择 使用帧编号 播放 计算,整个过程的帧数 X= 终点-起点的 差值 启动时间 Y= X/240 *1000 (ms)

功耗

内存

隐私

流量

* 自动化测试

app静置

疑问(解耦定义)