🔥 交流讨论:欢迎加入我们一起学习!
🔥 资源分享:耗时200+小时精选的「软件测试」资料包
🔥 教程推荐:火遍全网的《软件测试》教程
📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!
前言
APP要做哪些测试?
APP测试要注意哪些问题?
对于移动测试,测试员不得不基于用户移动使用模式考虑移动相关的功能。而针对手机应用软件APP的系统测试。
我们通常从如下几个角度开展:功能测试(流程测试、功能点测试)、兼容性测试、交叉测试、安装卸载测试(包括应用的升级)、压力测试(接口压力测试)、安全测试等等。
一、APP测试
1、系统自带的功能测试(生产商完成测试)
2、手机APP业务功能测试
二、操作系统
1、安卓
谷歌公司基于Linux平台推出的开源操作系统,应用开发语言是java
主流版本:13、12、11、10
真后台,内存消耗大
2、ios
苹果公司推出的闭源操作系统,应用开发语言是Swift(属于类Unix的商业操作系统)
主流版本:16、15、14
伪后台
三、模拟器
安装安卓模拟器:逍遥、夜神、天天靠谱…
天天模拟器使用:adb connect 127.0.0.1:6555 命令连接
逍遥模拟器使用:adb connect 127.0.0.1:21503
夜神模拟器使用:adb connect 127.0.0.1:62001
四、APP测试实战
1、adb devices –查看当前连接设备
问题:无法启动此程序,因为计算机中丢失AdbWinApi.dll
解决方案:将adb.zip里面所有文件复制到C:Windows\SysWOW64目录下
2、adb install 路径\apk包路径 –安装应用程序
3、查看当前打开运行的APP包信息
adb shell dumpsys window w |findstr / |findstr name=
mSurface=Surface(name=com.netease.newsreader.activity/com.netease.nr.phone.main.MainActivity)
com.netease.newsreader.activity这一段
4、adb uninstall 主包名 –缷载apk包
5、adb -s 设备号 命令 –指定某台设备执行命令(电脑连接多台设备)
6、adb shell –进入超级终端
7、adb push PC端文件路径 手机端文件路径 –上传文件到手机
8、adb pull 手机端文件路径 PC端文件夹路劲 –复制手机文件到电脑
9、adb root 以root权限重启adb
10、adb logcat –查看当前系统全部日志
adb logcat -s 标签 –查看指定标签日志
adb logcat -f 手机端日志文件路径 –将日志写入到文件
adb logcat -c –清空日志缓存
adb logcat -v 参数 —
adb logcat -v time:可以啥看日志的输出时间;
adb logcat -v threadtime:可以啥看日志的输出时间和线程信息;
adb logcat -v process:格式为“优先级(进程ID):日志信息”的日志;
adb logcat -v tag:格式为”优先级/标签:日志信息”的日志;
adb logcat -v thread:格式为”优先级(进程ID:线程ID)标签:日志内容”的日志;
adb logcat -v raw:只输出日志信息,不附加任何其他信息;
adb logcat -v long:格式为“[日期时间进程ID:线程ID优先级/标签]日志信息”的日志。
11、adb logcat 标签:日志等级 –只显示某个等级以上的日志
V:Verbose(明细);
D:Debug(调试);
I:Info(信息);
W:Warn(警告);
E:Error(错误);
F:Fatal(严重错误);
S:Silent(Superalloutput)(最高的优先级,可能不会记载东西
12、logcat|grep ‘搜索内容’ –过滤–先执行adb shell
13、复杂的adb命令
adb shell dumpsys window | findstr mCurrentFocus
–查看当前打开运行的APP包信息
adb shell dumpsys package <package_name>
<package_name>包名
–查看APP相关所有信息
adb shel l pmpath <package_name>
–查看app的路径
adb shell amstart -n <package_name>/<activity_class_name>
–启动activity
adb shell pm clear <package_name>
–清楚APP的相关所有数据
【先进入到adb shell】
ps|grep <package_name>
–查看某个APP的进程相关信息
kill pidNumber
–杀掉进程
dumpsys meminfo <package_name或者PID>
–查看某一个app的内存占用
input keyevent KEYCODE_POWER
KEYCODE_POWER为键值
–利用adb命令按住按键(模拟按键)
adb命令模拟按键事件 KeyCode:
五、MonKey测试
1、Monkey测试是一种为了测试软件的稳定性、健壮性的快速有效的方法
monkey的作用是测试APP的稳定性
2、monkey的特点
①只能测试APP
②操作事件都是随机的
③事件的数量,类型,频率是可以设置的
3、命令
① –对指定的APP进行测试
adb shell monkey -p 包名 操作次数
② –设置日志级别
adb shell monkey -p 包名 -v 操作次数
最多可以接三个-v,级别最高,内容最详细
④ –设置延迟 –throttle
adb shell monkey -p 包名 –throttle 延迟时间(1000)操作次数
adb shell monkey -p com.netease.newsreader.activity -v -v -v –throttle 1000 100
⑤***-s
adb shell -c
–让后续的测试和前面的测试保持一致 -s
adb shell monkey -p com.netease.newsreader.activity -s 5 -v -v -v –throttle 1000 100
⑥–ignore-crashes APP崩溃时继续发送事件
–ignore-timeouts APP无响应时(ANR)继续发送事件
–ignore-security-exceptions 发生许可错误时继续发送事件
⑦设置事件类别比例
限制条件:所有事件的百分比总和不能超过100%
–pct-事件
adb shell monkey -p com.netease.newsreader.activity –pct-syskeys 100 1000
–pct-touch {+百分比}0:触摸,触摸事件泛指发生在某一位置的一个down-up事件,点击
–pct-motion {+百分比}1:动作,动作事件泛指从某一位置接下(即down事件)后经过一系列伪随机事件后弹出(即up事件)
–pct-pinchzoom{+百分比}2:二指缩放,智能机上的放大缩小手势操作事件
–pct-trackball {+百分比}3:轨迹,轨迹事件包括一系列的随机移动,以及偶尔跟随在移动后面的点击事件
–pct-rotation {+百分比}4:屏幕旋转,横屏竖屏事件
–pct-nav{+百分比}5:基本导航,基本导航事件主要来自方向输入设备的上、下、左、右事件
–pct-majornav{+百分比}6:主要导航,主要导航事件通常指引发图形界面的一些动作,如键盘中间按键、返回按键、菜单按键等
–pct-syskeys{+百分比}7:系统按键,系统按键事件通常指仅供系统使用的保留按键,如HOME键、BACK键、拨号键、挂断键、音量键等
–pct-appswitch{+百分比}8:应用启动,应用启动事件(activity launches)即打开应用,通过调用startActivity()方法最大限度地开启该package下的所有应用
–pct-flip {+百分比}9:翻转,键盘轻弹百分比,如点击输入框,键盘弹起,点击输入框以外区域,键盘收回
–pct-anyevent{+百分比}10:其他类型,其他类型事件指上文中未涉及的所有其他事件,如keypress、不常用的button等
⑧Monkey测试中,终止运行的方式:
1.新打开一个dos命令窗口
2.执行:adbshell
3.执行ps|grepmonkey
4.返回来的第一个数字,即是monkey的进程号然后killpid进程号
⑨Monkey测试日志分析用Monkey做测试,
为了方便分析问题,需要把monkey运行过程中产生的日志结果进行分析,查找bug。
——-结果保存在电脑上:
adbshellmonkey-p包名-v1000>路径/monkey.txt
——-结果保存在手机上:
前提条件:手机要root或把结果文件放在有权限存取的路径
1、运行adb shell
2、monkey-p包名-v10001>手机路径/info.txt2>手机路径/error.txt
备注:1、结果中可以通过|logcat-vtime添加时间。
如下:monkey-p包名-v1000|logcat-vtime1>手机路径/info.txt2>手机路径/error.txt
2、如手机提示read-only file systemmount当前挂载情况mount -o remount -o rw/system
重新挂载需要修改权限的目录
<1>先执行adb shell
<2>再执行monkey -p com.netease.newsreader.activity -v -v 1000|logcat time >/sdcard/test.log
<3>将手机上的日志文件复制到电脑端进行查看adb pull /sdcard/test.log D:\APP\log\test.log
六、APP的性能
CPU、内存、网络、耗电量、发热、卡顿、帧率、启动时间
测启动时间
1、冷启动
2、热启动
adb shell am start -W -n 包名/activity名称
adb shell am start -W -n com.netease.newsreader.activity/com.netease.nr.phone.main.MainActivity
七、兼容性
①手机APP兼容性测试
系统版本、屏幕尺寸和分辨率
②兼容性测试机器的选择?
1、通过公司运营后台数据统计得出占比比较高的机型
2、产品指定机型
③兼容性测试的关注点是哪里?
1、页面的整体布局
2、文字(大小、颜色、位置)
3、动态效果的地方
4、js特效的地方
5、控件的功能和外观
④UI测试–界面测试
1、和需求文档上设计的界面一致
2、符合大众用户的审美观和使用习惯
⑤APP登录
1、是否支持多终端登录
2、保持登录的有效期
3、在其他平台修改密码之后
⑥APP数据更新
1、自动更新
2、手动更新
⑦手机基本的功能(相机、定位、麦克风…)
—APP能够正常调用这些功能
⑧APP更新
1、强制更新
<1>不提示,直接自动更新,不更新不能使用
<2>有提示,不自动更新,不更新不能使用
2、手动更新
特点:只能由低版本–>高版本去更新
一般来说不更新也可以使用(不是绝对)
八、消息推送测试
1、ios的推送必须经过苹果的消息服务器,意味着iOS的消息推送只能在生产环境测试
2、安卓的随时都可以推送
<1>正常推送
<2>不同用户等级推送[准备多台手机,不同等级用户测]
<3>设置了可接受消息的时间段
<4>点击消息
①在APP内–跳转到界面
②在APP外–进去到app内,跳转到界面
<5>锁屏、熄屏能否正常接收
<6>是否按照推送的业务规则
九、渠道包测试
1、应用宝、豌豆荚、360市场、小米应用商城…
channel–1
2、打包
<1>测试人员自己通过adb命令打包
<2>开发人员打包
<3>通过Jenkins构建或者托管平台一键扫码
3、这么看渠道是否正确?
<1>查看包信息
<2>安装好后进去看界面内容
最后我邀请你进入我们的【软件测试学习交流群:785128166】, 大家可以一起探讨交流软件测试,共同学习软件测试技术、面试等软件测试方方面面,还会有免费直播课,收获更多测试技巧,我们一起进阶Python自动化测试/测试开发,走向高薪之路
作为一个软件测试的过来人,我想尽自己最大的努力,帮助每一个伙伴都能顺利找到工作。所以我整理了下面这份资源,现在免费分享给大家,有需要的小伙伴可以关注【公众号:程序员二黑】自提!