移动化测试

本文详细介绍了移动端自动化测试工具,如Robotium、Macaca和Appium,并探讨了移动端测试的定义、分类,包括功能测试、自动化测试和安全测试的具体内容。此外,还提到了iOS与Android在测试上的差异及注意事项,如兼容性、安全性和弱网络测试等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

移动端自动化工具:
Robotium:支持语言:Java
仅支持Android
不支持跨应用
Macaca:支持语言:Java,Python,Node.Js
支持Android和IOS系统
支持跨应用
Appium:支持语言:Java ,Python,Node.Js,c#,php,per1,ruby
支持Android和IOS系统
支持跨应用
移动端测试的定义:
移动端测试是指移动应用进行的测试,即实体的特性满足需求的程度
移动端测试分类:
1、 功能测试
A、 业务逻辑正确性测试:依据产品文档设计测试用例,加上隐性需求用例
B、 兼容性测试
系统版本:Android:原生安卓系统(native)4.4;5.0;定制版本(webview):小米,魅族,华为
IOS;原生系统5.0
屏幕分辨率:720+1280;1920+1080
网络情况:2G、3G、4G、5G、wife;
C、 异常测试
① 热启动应用:应用由后台转为前台的过程(注意:仍然展示推到后台时的页面或是希望初 始化为首页)
② 网络切换和中断恢复:
玩游戏——通知栏一个消息-不影响游戏体验
D、 升级&安装卸载测试
升级:临近版本升级(1.0-1.1)跨版本升级(1.0-1.7)保证升级后的app可用
安装测试:再次安装、卸载后安装、覆盖安装,保证app安装后可用,安装文件齐全
卸载测试:正常卸载、卸载后安装在卸载,保证卸载后的,需要清理的文件全部清空,需要保留的 文件存在
E、 健壮性测试
收集资源消耗:CPU、内存
流量消耗:数据流量(可进行图片压缩和数据压缩)
崩溃恢复测试:APP闪退、提示终止运行等(需保证自启动可用或手动启动可用)
2、 自动化测试
优点:
1、高效,数据绝对正确
2、不需要人工干预
3、回归测试
3、 安全测试
通过一些安全测试工具步骤:
1、 敲完代码
2、 打开夜神模拟器
3、 打开qppium desktop软件
‘platformName’:‘Android’,
‘platformVersion’:‘5.1.1’,
‘deviceName’:‘127.0.0.1:62025’,
APP信息
‘app’:r’C:\Users\?\Desktop\e\QQ_818.apk’,
‘appPackage’:‘com.tencent.mobileqq’,
‘appActivity’:‘com.tencent.mobileqq.activity.SplashActivity’,
2、打开cmd获取参数
启动名:adb devices 查看是否有硬件设备
连接硬件设备 adb connect 127.0.0.1:62025
启动包名和服务名和apk地址:adb dump badging 安装软件包apk的路径
adb shell “dumpsys window windows|grep mFocusedApp”
4、 右键run启动pycharm
Driver.start_activity(包名,APP的启动名)
在Windows+r中的安装:adb install apk路径
指定手机安装加一个参数:adb -s 127.0.0.1:端口号 install apk路径
卸载:pm list uninstall 包名
卸载**+K**的参数:卸载软件但是保留配置和缓存文件;
查看软件包:adb shell pm list package;
截图:adb shell screencap /sdcard/图片名.png
(避免出现中文路径)将手机——》给电脑:adb pull 手机路径/XX.png 电脑文件夹路径
(避免出现中文路径)将电脑——》给手机:adb push 电脑文件夹路径 /sdcard
切换到手机用户名:
adb shell
cd sdcard
ls:查看文件
exit:退出用户,切换到root中
Monkey使用方法:

  1. adb shell monkey 随机数
  2. adb shell monkey -v 200(随机数):多了日志信息的百分比
  3. adb shell monkey -v -v 200(随机数):更多了日志信息的百分比
  4. adb shell monkey -v -s 8888 200(随机数):伪随机生成种子值,多了日志信息并且重现上一次 的触发执行
  5. adb shell monkey –throttle 3000 5:单位是ms,时间等待设置

修改monkey比例:

  1. adb shell monkey -v –pct-touch 30(触摸比例参数调整到30%) 200
  2. adb shell monkey -v –pct-motion 30(手势动作比例参数调整到30%) 200
  3. adb shell monkey -v –pct-appswitch 30(app启动比例参数调整到30%) 200
  4. adb shell monkey -v –pct-rotation 30(屏幕旋转比例参数调整到30%) 200
  5. adb shell monkey -v –pct-anyeven 30(其他比例参数调整到30%) 200

组合:adb shell monkey -v –pct-touch 30 –pct-appswitch 30 200
adb shell monkey –v-p com.tencent.com 200(指定一个APP进行访问包里的activity)
使用pychram工具编写py文件:
type = raw events
count = 1
speed = 1.0
start data >>

launchActivity( com.tal.kaoyan,/.ui.activity.ucenter.LoginActivity)
UserWait(3000):休眠3s时间

Tap(x,y,tapDuration):#模拟一次手指单击事件,取消升级
UserWait(3000)

Tap(x,y,tapDuration):#模拟一次手指单击事件,点击跳过升级
UserWait(3000)

Tap(x,y,tapDuration):#模拟一次手指单击事件,点击用户名输入框
DispatchString(wangqienow):#输入字符串
UserWait(3000)

Tap(x,y,tapDuration):#模拟一次手指单击事件,点击密码输入框
DispatchString(wang520520):#输入字符串
UserWait(3000)

Tap(x,y,tapDuration):#模拟一次手指单击事件,点击登录按钮
UserWait(3000)

运行模拟器文本:adb shell monkey -f /sdcard/wenben.txt -v -v 1(指运行的次数为1)
保存日志在PC端:
Adb shell monkey -v -v 100 > 电脑存储文本路径.log/.txt
保存日志在手机端
Adb shell 切换到sd里面
monkey -v -v 100 > 手机存储文本路径.log/.txt
1为标准流,2为错误流分开保存到文档:
adb shell monkey -v -v 100 1 > 路径.log 2 > 路径.log
monkeyrunner与monkey区别:
他们没什么直接的关系,monkey是在设备直接运行adb shell 命令生成随机事件来进行测试的。 相比较而言,monkeyrunnser则是通过API发送特定的命令和事件来控制设备。
Monkeyrunner 工具:分为三个类MonkeyRunner、MonkeyDevice、MonkeyImage
Monkey和monkeyrunner不足点
1、 元素定位依赖于坐标点,稳定性差
2、 不支持跨平台使用(IOS平台无法使用)
3、 没有成熟的系统管理框架
4、 只适用于冒烟测试,检测app稳定性
一、首先说一下 APP测试的关键点
( 1)功能测试
App测试中功能测试是一个重要方面。在进行App测试,测试人员应该进行手动测试。同时对照设计图检查功能是否正确并正常运行。在软件测试中,关注测试点:
1、软件是否可以正常运行、安装、卸载;
2、登录、注册、注销(在软件测试基础(一)有介绍,这里不详细介绍)
3、数据更新、App更新
( 2)客户端测试
现在很多软件不仅有手机版也有 PC版,客户端PC机上运行的软件要求兼容不同版本的浏览器,在中高低端的pc机上都可以运行。
( 3)App兼容性测试
1、在不同品牌的机型上的安装、点击和卸载是否正常;
2、在不同品牌的机型上的各个属性是否兼容;
我们在实际测试中,常常会遇到下列问题:
1、在某个品牌的机型上,App安装不上;
2、在某个品牌的机型上,App点击后无响应或拉起后黑屏、闪退;
3、在某个品牌的机型上,App无法顺利卸载;
( 4)安全测试(权限)
1、其中包括发送信息,拨打电话,链接网络,访问手机信息,联系人信息和设置权限等
2、执行某些操作时导致的输入有效性验证、授权、数据加密等方面
3、其中还有关于网络协议的测试,防止恶意的协议发送到服务器
( 5)弱网络测试(流量测试)
我们在使用 App过程中,有时会遇到弱网络环境,比如在公车上、在地铁里、郊区或一些学校。在这种情况下,常常会出现网络不稳定、运行超时,下载失败。作为一个测试人员,我们要对App在上线前做一定场景的弱网络环境模型,并查看App在弱网络环境下是否存在某些问题。现在都是通过第三方平台模拟弱网络环境进行测试。

二、 APP测试中 IOS和 Android 的区别?

1、 Android长按home键呼出应用列表和切换应用,然后右滑则终止应用;
2、多分辨率测试,Android端20多种,ios较少;
3、手机操作系统,Android较多,ios较少且不能降级,只能单向升级;新的ios系统中的资源库不能完全兼容低版本中的ios系统中的应用,低版本ios系统中的应用调用了新的资源库,会直接导致闪退(Crash);
4、操作习惯:Android,Back键是否被重写,测试点击Back键后的反馈是否正确;应用数据从内存移动到SD卡后能否正常运行等;
5、push测试:Android:点击home键,程序后台运行时,此时接收到push,点击后唤醒应用,此时是否可以正确跳转;ios,点击home键关闭程序和屏幕锁屏的情况(红点的显示);
6、安装卸载测试:Android的下载和安装的平台和工具和渠道比较多,ios主要有appstore,iTunes和testflight下载;
7、升级测试:可以被升级的必要条件:新旧版本具有相同的签名;新旧版本具有相同的包名;有一个标示符区分新旧版本(如版本号),对于Android若有内置的应用需检查升级之后内置文件是否匹配(如内置的输入法)
三、 另外:对于测试还需要注意一下几点:
1、并发(中断)测试:闹铃弹出框提示,另一个应用的启动、视频音频的播放,来电、用户正在输入等,语音、录音等的播放时强制其他正在播放的要暂停;
2、数据来源的测试:输入,选择、复制、语音输入,安装不同输入法输入等;
3、push(推送)测试:在开关机、待机状态下执行推送,消息先死及其推送跳转的正确性;应用在开发、未打开状态、应用启动且在后台运行的情况下是push显示和跳转否正确;推送消息阅读前后数字的变化是否正确;多条推送的合集的显示和跳转是否正确;
4、分享跳转:分享后的文案是否正确;分享后跳转是否正确,显示的消息来源是否正确;
5、触屏测试:同时触摸不同的位置或者同时进行不同操作,查看客户端的处理情况,是否会crash等 。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值