我是靠谱客的博主 英俊眼神,这篇文章主要介绍APP测试笔记,现在分享给大家,希望可以做个参考。

1.Android与iOS的对比
Android开发语言:Java及C iOS开发语言:Objective-C
IOS的特性:流畅度、稳定性、安全性高,碎片化低、应用发布相对Android慢、功耗大
Android优势:开源、门槛低、市场大、扩展性高,可玩性高

2.Android架构
Linux系统及驱动-本地框架和Java运行环境-Java框架-Java应用程序
底层部分-核心部分-应用部分
硬件部分-数据库及框架-应用

3.App测试流程.
–测试资源确认及准备
–测试用例的设计与评审
–UI测试
(1) 确保原型图与效果图为最新版本,符合产品经理及用户要求;
(2) 测试过程中一切以效果图为准,若有用户体验方面的建议,与产品经理确认,确认通过后,可以正式向开发提出用户体验方面的需求
(3) 由于测试环境中的数据为模拟数据,测试时必须预先考虑到正式环境中可能出现的数据类型。
–易用性测试
(1)界面与交互性测试:符合Android交互规范,符合用户使用习惯,操作方便简单,具有一致性。
(2)可用性测试:用户体验好,用户操作方便,用户使用错误率低。
–功能测试
(1) 功能测试时主要依据编写的功能测试用例进行软件功能的遍历;
(2) 涉及的测试主要包括基本功能测试,安装、卸载、运行测试,异常处理(包括网络突然断开或者网速过慢、机器内存不足等异常情况的处理)测试。
–中断测试
(1)交互性测试:客户端作为手机特性测试,包含被打扰的情况13种,来电,来短信,低电量测试等,由前台切换到后台,再切回前台后,还要注意手机端硬件上
(2)异常性测试:主要包含了断网、断电、服务器异常等情况下,客户端能否正常处理,保证数据正确性。
–兼容性及适配测试
(1) 硬件的适配
(2) OS版本的兼容
(3) 不同分辨率屏幕的适配
(4) 兼容性测试必须在一定数量的真机上进行,选取典型的几种运用较多的真机
(5) 另外可以借助开源测试testin云测
–性能测试
(1) 客户端性能测试重点关注:安装卸载时间、启动时间、页面加载时间、主要功能占用的CPU、内存、流量、耗电量等,以及与同类产品相比较是否有优势;
(2) 至于服务器端的性能,主要利用接口对服务器施加压力,重点关注响应时间、吞吐量、并发数、事物通过率等,可以视同工具loadrunner、jmeter进行测试。
–稳定性测试
(1) 通过随机事件流模拟人的操作
(2) Monkey主要用来检测系统ANR及Crash等问题
–测试分析及测试报告输出

  1. ADB的主要功能有
    ADB是一个客户端-服务器端程序,其中客户端是你用来操作的电脑,服务器端是android设备。
    (1)运行设备的shell(命令行)
    (2)管理模拟器或设备的端口映射
    (3)计算机和设备之间的上传/下载文件
    (4)将本地apk软件安装至模拟器或android设备

5.adb 命令
1.adb devices:获取当前连接的Android设备列表及设备状态(模拟器、真机)
2.adb get-state : 获取设备的状态
3.adb install xxx.apk:安装app命令(覆盖安装是使用 -r 选项)
4.adb uninstall apk包名:卸载App命令
5.adb push <本地文件> <远程路径>:上传文件,把本地文件放到远程
6.adb pull <远程文件> <本地路径>:下载文件,从模拟器拉文件到本地
7.adb shell :可以使用命令进入并控制Android手机
8.adb kill-server :结束服务
9.adb start-server :启动服务
10.adb remount :获取 root 权限,并挂载系统文件系统为可读写状态
11.adb shell mount -o remount rw / , 修改系统读写权
12.adb –s logcat 日志
13.adb get-serialno 获得序列号(emulator-5554)

6.adb shell pm 命令
–adb shell pm list packages:列出安装在设备上的应用,查看所有包,没有类名
–pm install xxx.apk:将设备上的安装文件进行安装(先进adb shell 再输入命令)
–pm uninstall 包名:删除应用程序 同adb uninstall (先进adb shell 再输入命令)

7.pm install 与adb install的区别
目标apk存放于PC端,请用adb install安装
目标apk存放于Android设备上,请用 pm intall安装

8.adb shell am 命令
adb shell am start –n 包名/ 类名:启动activity
adb shell am force-stop 包名:关闭activity(强制关闭)
adb shell input keyevent X:发送按键事件
adb shell input text 内容:发送文本内容,不能发送中文
adb shell screencap -p 路径 :截图命令

9.adb shell monkey随机运行程序
—运行monkey,对此包进行300次无规律点击:
adb shell monkey -p com.android.camera -v 300
–将日志导出到电脑的某一位置
adb shell -p 包名 -v 点击数 >电脑某一位置

10.adb shell monkey 参数
常规类参数
-v作用:命令行上的每一个-v都将增加反馈信息的详细级别。
事件类参数
-s(随机数种子)作用:用于指定伪随机数生成器的seed值;
–throttle <毫秒> 作用:用于指定用户操作(即事件)间的延时,单位是毫秒;
–pct-{+事件类别}{+事件类别百分比};
–pct-touch 作用:调整触摸事件的百分比;
–pct-motion 作用:调整motion事件百分比;
–pct-trackball 作用:调整滚动球事件百分比;
–pct-nav 作用:调整基本的导航事件百分比;
–pct-majornav 作用:调整主要导航事件的百分比;
–pct-syskeys 作用:调整系统事件百分比;
–pct-appswitch 作用:调整Activity启动的百分比;
–pct-anyevent作用:调整其他事件的百分比;
–pct -anyevent 100 1000* 指定多个类型事件的百分比;
约束类参数
-p 作用:指定一个或多个包,Monkey将只允许访问这些包中的Activity。
–ignore-crashes 作用: 用于指定当应用程序崩溃时(Force& Close错误),Monkey依然会发送事件,直到事件计数完成。
–ignore-timeouts 作用:应用程序发生任何超时错误,Monkey将继续发送事件给系统,直到事件计数完成。
–ignore-security-exception作用:当程序发生许可错误,Monkey将继续发送事件给系统,直到事件计数完成。
–kill-process-after-error 当Monkey由于一个错误而停止时,出错的应用程序将继续处于运行状态,将会通知系统停止发生错误的进程。
–monitor-native-crashes 作用:监视并报告Andorid系统中本地代码的崩溃事件。
–kill-process-after-error,系统将停止运行。
–wait-dbg 作用:停止执行中的Monkey,直到有调试器和它相连接。

11.日志查看
日志:
实时日志 adb logcat
ddms
状态信息日志 adb bugreport
ANR日志(ANR日志路径:/data/anr/traces.txt)
Monkey日志 adb shell monkey -p 包名 -v >导到哪里

  1. 查看包名的方法有哪些
    –/data/data (通过adb shell 命令进入手机查看 )
    –DDMS工具
    –ActivityManager:I *???? ( adb logcat ActivityManager:I *???? )
    –adb shell pm list packages |findstr emm
    –aapt dump badging <file_path.apk> :如没有加环境变量,需cd到工具目录下(sdk/build-tools)

13.为什么要进行App专项测试
– Crash问题(死机)
–设备兼容性问题
–流量占用率的问题
–App在整个电量的占用比问题
–App在不同的网络环境下,出现的白屏问题

14.App专项测试有哪些方面
稳定性测试、兼容性测试(CTS)、流量测试、电量测试、弱网测试、性能测试

15.流量测试应该注意的测试项:
–应用首次启动的流量提示
–应用后台连续运行2小时的平均流量值
–应用在运行极限的平均流量值(大数据传输)
–针对场景法涉及的应用主流程方面的测试
–在首次登陆时的平均值(多台设备测试)

  1. 使用tcpdump抓取流量数据包,抓取步骤
    –将tcpdump文件拷贝到 /data/local/目录: adb push tcpdump /data/local
    –修改文件权限: adb shell chmod 777 /data/local/tcpdump
    –判断是否有root权限:adb shell 在# 后输入:/data/local/tcpdump -s 0 -w /data/capture.pcap -v
    –将抓到的数据包capture.pcap拖到本地(指定到d:):adb pull /data/capture.pcap D:
    –使用Wireshark网络协议分析器,分析抓到的流量包
    –在wireshark工具中,使用filter做过滤,根据wireshark显示过滤器的语法

17.如何模拟弱网测试
使用代理方式,主要思路就是手机和PC/Mac电脑都连接同一个WiFi,使用电脑上的WiFi的限速功能来实现模拟弱网络的情况
–模拟2g网络时,下载速度限制在2kb/s-7kb/s之间
–模拟edge网络时、 网速限制在5kb/s-20kb/s之间
–模拟3g网络时、网速限制在20kb/s-200kb/s之间
–模拟4g网络时、网速限制在150kb/s-2M之间

18.安全测试
–安装包是否支持反编译代码
–安装包是否签名
–权限设置的检查
–敏感信息测试
–账户安全性测试

19.性能测试
启动时间、 内存是否泄露、用户响应、图形动画、文件和网络I/O等

20.monkeyrunner如何连接手机
monkeyrunner工具提供了一个API,使用此API写出的程序可以在Android代码之外控制Android设备和模拟器。

*21. Monkey与MonkeyRunner区别:
Monkey:伪随机事件流
MonkeyRunner:是在工作站上通过API定义的特定命令和事件控制设备或模拟器。 MonkeyRunner主要应用于功能测试和回归测试

22.monkeyrunner
–导入模块:
from com.android.monkeyrunner import MonkeyRunner
from com.android.monkeyrunner import MonkeyDevice
from com.android.monkeyrunner import MonkeyImage
–连接当前设备,并返回一个MonkeyDevice对象
device = MonkeyRunner.waitForConnection()
–安装、卸载
device.installPackage(‘D:/003-APP/Emmagee2.4.apk’)
device.removePackage (‘com.netease.qa.emmagee’)
–启动一个Activity
device.startActivity(component=‘com.netease.qa.emmagee/.activity.MainPageActivity’)
–截图
result = device.takeSnapshot()
result.writeToFile(‘D:test.png’,‘png’)
–时延(秒)
MonkeyRunner.sleep(3)
–滑动屏幕
device.drag((250,850),(250,110),3) [x,y,时间-在几秒内拖动]
–触击屏幕
device.touch(507,72,“DOW_AND_UP”)
–执行adb shell命令
device.shell(“input text group01”)
–系统按键
device.press(‘KEYCODE_HOME’,‘DOWN_AND_UP’)
device.press(‘KEYCODE_BACK’,‘DOWN_AND_UP’)
–输入
device.type(‘helloworld’)

最后

以上就是英俊眼神最近收集整理的关于APP测试笔记的全部内容,更多相关APP测试笔记内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(74)

评论列表共有 0 条评论

立即
投稿
返回
顶部