什么是移动端测试?

移动平台的软件进行测试,分为Android和IOS两个端。

Android和IOS的区别?

1、操作系统的不同
android是Google公司开发的操作系统。是一种基于Linux的自由及开放源代码的操作系统。主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发;iOS是苹果公司的移动操作系统。iOS是由苹果公司开发的移动操作系统,苹果公司最早于2007年1月9日的Macworld大会上公布这个系统,最初是设计给iPhone使用的,后来陆续套用到iPod touch、iPad以及Apple TV等产品上。
2、两者的UI设计规范是不一样的,可以参照官方设计规范汇总。
3、导航方式也不一样,IOS的Tab放在页面底部,不能通过滑动来切换,只能点击。也有放在上面的,也不能滑动,但有些Tab本身可以滑动,比如天猫的,还有新闻类的应用。Android一般放在页面顶端,可以通过滑动页面来切换Tab,当然Tab可以点击切换,Tab多的话,Tab本身也可以滑动。比如豌豆荚,百度贴吧,QQ。
4、单条item的操作
iOS单条item的操作有两种,点击和滑动,点击一般进入一个新的页面,滑动会出现对这条item的一些常用操作,如微信里滑动一条对话,会出现标记未读和删除;Android中,单条item的操作也有两种,点击和长按,点击一般进入一个新的页面。长按进入一个编辑模式,可以在里面进行批量和其他一个操作,比如删除,顶置等等。比如小米的短信页面;长按也可以弹出情境操作栏dialog,进行操作,比如Android版的微信。
5、实体键的不同
iOS只有一个实体键(音量,电源不算哈),home键,这个键有这么几个功能:
1.按一次,回到桌面。
2 .双击,出现多任务界面
3.iOS8里面,轻触两下Home键,调出单手模式
4 .指纹解锁
Android有四个实体键(现在很多被屏幕上的虚拟键代替,但功效是一样的)4.4一下的分别是back键,home键,menu键,和搜索键。4.4及以上,是back键,home键,多任务键。安卓原生是这样,经过优化的Android就不一定了,比如魅族的smart bar,根据当前页面情景变化,不过蛮好用。Android的back键,在大部分情况下,和页面上的返回功效一样。不过,Android的back键可以在应用件切换,还可以返回主屏幕。这个iOS里面的键不能在应用间直接切换。
6、浮窗设计元素不一样,安卓里可以看到各种浮窗,流量,清理内存等等。iOS暂时还不支持这样的浮窗。越狱的貌似可以。
7、图标尺寸和命名规范不一样
1.iOS和安卓手机的APP图标尺寸规范和图标命名规范
2.对比PC、iOS、Android等终端APP的交互设计的差异化
8、开发语言的不同
Android开发主要是Java语言,IOS开发语言则是oc语言

App和Web端的区别?

相同点:
1.流程相同,制定测试方案,设计测试计划,执行用例,缺陷汇总,测试报告这一流程。
2.技术相同,功能测试,性能测试,安全性测试,UI界面测试都是我们需要进行的测试。
3.测试用例设计方法相同,包括等价类,边界值,判定表,正交试验等。
不同点:
1.性能测试的不同,App测试响应时间,流量测试和耗电量测试,考虑CPU和内存占用
2.升级测试,App端分为强更新和软更新两种,但在一定时间后会进行强制更新
3.系统架构的不同,App端是C/S架构,Web端是B/S架构
4.自动化测试工具的不同,App端是appium,web端是selenium
5.交叉时间的不同,App端考两次来电、信息、低电量提示等外部事件,后台切换;Web端没有这么多考虑,但会存在恢复页面
6.操作类型的不同,App端横竖屏的切换,根据重力感应自动转换,Web端则用鼠标键盘完成操作
7.兼容性测试的不同,App端考虑的是不同手机系统,版本,型号,厂商分辨率的不同,Web端考虑的是浏览器的兼容,常用的有谷歌,火狐,QQ,360等
8.网络测试的不同,App端考虑强网,弱网,无网的切换,Web端不考虑那么多
9.安装测试的不同,App端需要进行下载安装,测试完成后能进行卸载;Web打开浏览器接口可用即可

移动端的专项测试有哪些?

网络测试:无线网络、2G、3G、4G等,
断网、弱网及网络之间的切换时干扰测试
在非wifi下,还需要注意网络使用量问题

手势测试:单点,多点,长按,滑动,拖拽…

权限测试:短信,定位,相册,身体传感器…

性能测试:CPU、内存,流量,电量,弱电…

用户体验:屏幕限制,定位不准确等

安装/卸载/更新

稳定性测试:Monkey

移动端的测试流程和特性

测试流程:功能测试 UI测试 性能测试 稳定性测试 适应性、兼容测试 安全性测试 回归测试 上线测试
移动端特性: 网络种类多 间断问题 屏幕的限制 软件运行升级 手势
移动端测试分类功能性测试、兼容性适配性测试、性能测试 、网络测试、接口性测试、业务逻辑测试、异常测试、客户性能测试

移动端考虑安全性测试,常见的安全漏洞有哪些?产生的原因是什么?常用工具?

安全漏洞分为三个方向:
1.客户端: 反编译、防二次打包、组件导出、webview漏洞、键盘安全、屏幕截屏风险、数据安全、界面劫持、本地拒绝服务、数据备份安全、debug调试风险
2.数据传输:数据窃听,中间人攻击,信息泄露
3.服务端:业务逻辑漏洞、SQL注入、XSS、上传漏洞、暴力**、安全策略
产生原因有:
1.采用第三方代码
2.不清理缓存
3.不彻底执行安全测试
4.技术弱或不加密
5.服务器端缺乏安全性
6.慢升级和补丁修复
7.未使用企业级保护设备
8.没有物理防御措施
漏洞扫描工具:
1.360显微镜 免费 常用
2.360App漏洞扫描 免费
3.腾讯金刚审计系统 免费
4.百度MTC 收费

性能测试我们需要关注哪些东西?

1.关注资源消耗(CPU、内存、流量、功耗)
2.启动耗时(冷启、热启)
3.主要页面加载时间
4.内存泄漏、抖动、卡顿、页面渲染(FPS)

内存泄露和内存溢出的区别?
内存泄漏(memory leak ) 内存溢出 (out of memory)
内存泄露 :是指程序在申请内存后,无法释放已申请的内存空间就造成了内存泄漏,一次内存泄漏似乎不会有大的影响,但内存泄漏堆积后的后果就是内存溢出。我们知道了内存泄漏的原因而内存溢出则有可能是因为我们我们多次内存泄漏堆积后的后果则变成了内存溢出
内存溢出: 指程序申请内存时,没有足够的内存供申请者使用,或者说,给了你一块存储int类型数据的存储空间,但是你却存储long类型的数据,那么结果就是内存不够用,此时就会报错OOM,即所谓的内存溢出,简单来说就是自己所需要使用的空间比我们拥有的内存大内存不够使用所造成的内存溢出。
移动端测试

移动端需要进行压力稳定性测试,用到ADB命令,monkey命令

ADB基础命令:
1.adb devices 显示系统中全部设备
2.adb start-server 开启adb服务
3.adb kill-server 关闭adb服务
4.adb connect 连接设备
5.adb disconnect 断开设备
6.adb version 查询版本
7.adb install (apk路径或ipa路径) 安装一个软件
adb install -r 重新安装,apk路径可以直接拖进CMD窗口,加空
8.adb uninstall (apk包名)直接卸载软件
adb uninstall -k 卸载app但保留数据和缓存文件
9.adb shell pm list packages 列出手机装的所有app的包名
adb shell pm list packages -3 列出除了系统应用的第三方应用包名
adb shell pm list packages -s 列出系统应用的所有包名
10.adb shell pm clear (apk包名) 清除应用数据与缓存
11.adb shell
ps
kill pid 杀死某个进程,ps查看进程,找到pid号
12.adb push 文件路径 从pc向手机发送文件
adb pull 文件路径 从手机向pc端发送文件
13.adb shell ps | find xx
adb shell ps |findstr xx 查看文件
14.adb logcat 查看日志
15.adb shell wm size 查看屏幕分辨率
shell monkey命令
adb shell monkey -p com.android.camera -v-v-v 200 >d:monkey.txt
adb shell input keyevent 3 返回主页
adb shell am start -W 包名/activity名 热启动
adb shell am start -W -S com.zhihu.android/.app.ui.activity.LauncherActivity 冷启动
点击 adb shell input tap 423 339(坐标) 时间/ms
滑动 adb shell input swipe x1 y1 x2 y2 time/ms
输入 adb shell input text
adb shell input keyevent 3 首页键
adb shell input keyevent 4 返回键
adb shell dumpsys cpuinfo cpu占用率
adb shell dumpsys cpuinfo | find “关键字”
adb shell dumpsys meminfo 内存信息
adb shell dumpsys meminfo |find “com.zhihu.android”
adb shell dumpsys gfxinfo Gpu信息 grep linux/macos
Find ’包名‘ windows系统
adb shell
Cat /Proc/Pid /net/dev
Ps| find 包名 —》pid
查流量
adb shell ps 查进程 adb shell ps | find “com.zhihu.android”
adb shell cat /proc/pid/net/dev
移动端测试
adb shell dumpsys battery 查看电池信息
例如:adb shell dumpsys batterystats | find com.zhihu.android 知乎耗电

常见例题:
1、运行知乎200 次 打印2级日志 到D盘的 zhihu.txt中,触摸事件 50%

adb shell monkey -p com.zhihu.com --pct-touch 50 -v-v-v 200 >d:zhihu.txt

2.移动到 scard 改名

adb push d:zhihu.txt /sdcard/1701.txt
3.进入shell端 data/local/tmp 目录下 创建目录1 目录1里来个文件夹2 文件夹2里来个2.txt
移动端测试
echo 内容> 文本.txt
Cat.文本.txt 文本内容
[email protected]:/data/local/tmp/1 # dd if=1.txt of=2/1.txt
复制
If= 路径 of=路径
移动端测试

adb shell logcat | find “ActivityManager” /START 查activity 包名
移动端测试
结束monkey
先 adb shell ps | find ”monkey“
再 adb shell kill pid
移动端测试
Monkey发送的事件 11种 按顺序
–pct-motion 滑动事件、
–pct-touch 触摸事件、点击事件
–pct-trackball 轨迹球事件
–pct-nav 基本导航事件
–pct-pinchzoom 二指缩放
–pct-majornav 主要导航事件
–pct-rotation 翻转事
–pct-flip 键盘事件
–pct-anyevent 其他事件
–pct-appswitch 启动事件
–pct-syskeys 系统键盘事件

monkey 调试参数 5个
–ignore-crashes 点击崩溃
–ignore-native-crashes 忽略本地崩溃
–monitor-native-crashes 监视崩溃的本地代码
–kill-process-after-error 程序运行停止时并保留当前状态
—ignore-security-exceptions 忽略权限
–ignore-timeouts 超时
–throttle 事件间隔
-s 随机事件
-p 要测试的包

黑白名单
–pkg-blacklist-file 黑名单
–pkg-whitelist-file 白名单

相关文章:

  • 2021-11-14
  • 2021-11-17
  • 2021-11-30
  • 2021-11-27
  • 2021-10-30
  • 2022-12-23
  • 2021-09-17
猜你喜欢
  • 2021-12-05
  • 2021-12-05
相关资源
相似解决方案