‘壹’ 手机软件的测试主要有哪些方面的测试,性能
1.安全测试
权限测试:隐私、恶意扣费、连网、授权
2.安装卸载测试
3.版本升级测试
4.UI测试
5.离线测试
6.功能测试(测试方法与Web相同)
7.时间测试
8.性能测试(对耗电量测试、极限存储测试、网速、断网、压力、安装时间)
9.并发测试(多用户同时登录、单用户同时登录多台手机)
10.兼容测试(考虑不同机型、不同分辨率)
‘贰’ 移动端手机调试的几种方法
很多时候,我们在进行移动端开发时,都是先在PC端使用手机模拟器进行调试,虚悉宏没有问题后,我们才会在手机端的浏览器进行测试,这个时候,如果没有出现问题,皆大欢喜。但是一旦出现问题,我们就很难解决,因为缺乏可视化的界面。不似在PC端,我们能直观的去改变样式,或者是进行断点调试。
这里主要介绍三种方法:
1、Chrome DevTools(谷歌浏览器)的模拟手机调试
2、IOS Safari真机调试
3、Chrome DevTools远程调试Android
这种调试方式不仅能用于模拟手机调试还是主要的PC端页面调试的方式,这里主要说用于手机调试。
a.谷歌浏览器的开发者工具,可以参照下图右键选择”检查“或者使用快捷键F12,打开开发者工具。
b.打开后看到类似如下界面的开发者调试界面,Elements可以查看文档元素,Console可以在线调试js和查看输出结果,Sources可以调试JS和查看依赖资源,Network查看所有的网络请求等等。
c.如果没有需要模拟的机型怎么办?可以增加,点开机型设置面板,选择edit,然后可以在右方修改展示机型,如下:
d.还可以模拟不同网络情况。
a.使用数据线将 iPhone 与 Mac 相连
b.iPhone 开启 Web 检查器(设置 -> Safari -> 高级 -> 开启 Web 检查器)
c.iPhone 使用 Safari 浏览器打开要调试的页面(以兰亭单品页为例)
d.Mac 打开 Safari 浏览器调试(菜单栏 —> 开发 -> iPhone 设备名 -> 选择调试页面)
如果你的菜单栏没有“开发”选项,可以到左上角 Safari -> 偏好设置 -> 高级 -> 在菜单栏中显示“陆升开发”菜单。
e.在弹出的 Safari Developer Tools 中调试。
经过如上步骤就可在 Mac 端调试 iPhone 上 Safari 运行的页面了。
a.在 Chrome 浏览器地址栏中输入 chrome://inspect/#devices 并回车,就可以打开 Inspect 调试界面,此时我们勾选Discover USB devices 选项便可以看到设备列表。
b.然后打开手机中开发者选项并打开 USB 调试开关(具体方法自行网络,不同手机有一定区别),使用数据线将手机连接到电脑上,我们就可以在设备列表中看到自己的设备。
c.这时,打开手机上的Chrome 浏览器,随便打开一个网址(以兰亭单品页为例),设备列表中你的设备下便会出现你打开的页面。
d.此时我们点击 inspect 选项。
e.接下来你便可以和调试 PC 界面一样通过 Chrome 进行你所需要的调试,你在左侧屏幕上做的一切操作和你的手机上的操作会始终保持同步,如果你嫌左边这块多余,也可以关闭 Toggle Screencast 只保差册留控制台本身。
‘叁’ 前端做出来的移动端页面用什么测试
移动端的web页面调试一般可以采取以下三种调试方法:第一,在PC端的浏览器里直接f12调试,一般现在的浏览器都有device mode,调用这个模式浏览器就可以模拟移动端的设备进行调试,码仿目前chrome支持的设备包括苹果、三星、nexus等;
第二,在PC端创建安卓和ios的虚拟机调试,感觉有点复杂,一般web开发很少用这种模式,原生app开发用得比较多;
第三,直接用移动设备测试,将你开发所用的PC和要测试的移动设备连接在同一个局域网下,通过PC搭建一个服务器,这样移动设备就可或漏以通过局域网ip访问你开发的网页看效果了。
通常衫模烂来说,第一种调试方式方便快捷,能够快速的查看效果,基本上解决90%的调试问题。剩下的问题一般要配合第三种方法,比如不同的系统(安卓、苹果)搭配不同的浏览器(UC、QQ、chrome、Safari)的显示差异问题等等。
‘肆’ 手机app测试有哪些工具盒方法
手机app测试有可以利用以下几种工具:
1、安卓桐野黑盒测试工具
1)包括本身自带的monkey,Monkey是Android中的一个命令行工具,可以运行渣世在模拟器里或实际设备中;
2)robotium与appium,这些工具用于黑盒的自动化测试。可以在有源码或者只有APK的情况下对目标应用进行测试。
2、白盒测试,Android在SDK中集成了JUnit框架。所以,你可以基于JUNIT框架进行安卓的白盒测试代码开发;
3、安卓的测试方法其实与web测试方法大多类似,只是多了一些特殊的测试场景;
4、兼容性测试,一是可以利用虚拟机来保证系统间的兼容性,但更多的还需要依靠真机来测试;
(4)移动端测试方法有哪些扩展阅读:
APP测试要点:
1、功能测试
最基本的测试,主要是测试软件app的功能点、业务逻辑;关联性(主要是测试客户端和PC的交互,客户端处理完后,保证PC端数据同步且一致)
2、性能测试
cpu,占用不超过10%,响应时间(包括app启动和退出),满足258原则,2秒以内用户感觉很快,2-5秒感觉一般,5-8秒感觉很慢,但是能接受,8秒以上用户无法接受,选择离开,或者再次发送请求;
3、兼容性测试
手机app需要重点关注的,不同操作系统:android、iOS不同手机厂商,小米,华为等不同的手机屏幕分辨率,与其他第三方app的兼容;
4、安装卸载更新测试
也是手机app比较特别的测试点,安装的路径,手机还是sd卡上,高低版本的覆盖安装,内存不足时的安装,安装过程中出现中断情况,第三方管理软件中卸载app,卸载过程中出现中断情况;
5、中断或崩溃测试
中断测试主要是测试app是否会出现crash情况。来电、短信、闹钟、低电量等,网络环境突然改变,或者网络中断,例如隧道、电梯(离线支持),切换网络,例如数据连接切换到wifi外部设备。
比如充电,插耳机内存不足改局梁喊变设备方向改变手机语言,例如英文多后台程序切换长时间开机并且长时间开启app也可以用monkey来测试apk的稳定性,也能检查出一些crash的问题;
6、安全测试
7、UI测试
‘伍’ 移动端手机 App 耗电量测试:Monkey 电量测试基本操作及 Android 性能优化
Monkey 测试简介
存放路径:Monkey程序是Android系统自带的,由Java语言写成,在Android文件系统中的存放路径是: /system/framework/monkey.jar。
大致操作流程:通过名为“monkey”的Shell脚本去启动Monkey.jar程序(shell脚本在Android文件系统中 的存放路径是:/system/bin/monkey),在你指定的APP应用上模拟用户点击,滑动,输入等操作以极快的速度来对设备程序进行压力测试,检测程序是否会发生异常,然后通过日志进行排错。
主要目的:测试app 是否会是否会Crash。
操作命令格式:adb shell monkey {+命令参数}
获取Android包名方法:(注意:请开启手机开发者模式,请开启手机USB调试模式)
查看正在运行的程序的包名:adb shell mpsys activity activities | sed -En -e '/Running activities/,/Run #0/p' (例如:我清理手机后台之后,开启了QQ,输入命令之后,就会出现QQ的进程,框的地方就是qq的包名)
monkey常用操作命令简介
-p 包名:指定应用程序。例如:adb shell monkey -p 包名 事件总数
-v:打印log级别,-v越多日志信息越详细,最多支持3个。例如:adb shell monkey -p 包名 -v -v -v 事件总数
-s:伪随机数生成器的 seed 值,通俗的说就是个标记,后面跟数字,例如:执行adb shell monkey -s 1 -p 包名 事件总数,这个我标记了-s 1,命令操作完之后,我发现有日志报错,我想重新执行这个monkey操作,那你握核就可以继续执行这个命令,排错时常用。
-f:后接测试脚本名,例如:adb shell monkey -f 脚本名 事件总数
-throttle:翻译减速的意思,后面接时间,单位为ms,,表示事件之间的固定延迟,如果不接该项,monkey将不会延迟,例如:adb shell monkey --throttle 500 -p 包名 事件总数
--pct-事件类别 11个事件百分比控制(有的是9种事件,没有--pct-pinchzoom,--pct-rotation事件)由安卓SDK决定
11种事件,按顺序罗列的
--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等
百分比控制以及使用
首先注意一点,这个Event percentages在不同版本的SDK版本中顺序可能会不一样。
如果在monkey参数中不指定事件参数,这些动作都是随机分配的,11个动作其分配的百分比之和为100%,通过添加命令选项来控制每个事件的百分比。
添加事件百分比之后的情况,举例添加--pct-touch事件百分比为100:
命令: adb shell monkey -v -p 包名 --pct-touch 100 100
结果:
说明:尴尬啊,我这个vent percentages竟然有12种,多了一种什么我也不知道,但我敢肯定这跟SDK版本有关系,想知道的同学可以自己从安卓SDK中反编译出monkey源码,通过查看源码中的MonkeySourceRandom.java文件获知!查出来的同学可以告知我下。
说明:尴尬啊,我这个vent percentages竟然有12种,多了一种什么我也不知道,但我敢肯定这跟SDK版本有关系,想知道的同学可以自己从安卓SDK中反编译出monkey源码,通过查看源码中的MonkeySourceRandom.java文件获知!查出来的同学可以告知我下,我想做伸手党
-ignore-crashes:翻译忽略崩溃,当应用程序崩溃或发生失控异常时,monkey将继续运行直到计数完成。如果不设置此项,monkey遇到上述崩溃或异常将停止运行。
-ignore-timeouts:翻译忽略超时,当应用程序发生任何超时错误(如ANR,即Application Not Responding)时,monkey将继续运行直到计数完成。如果不设置此项,monkey 遇到此类超时将停止运行。
monkey测试中,如何终止运行:
方法一:
新建一个窗口
执行: adb shell ,
再执行ps | grep monkey,返回来的第一个数字,即是monkey的进程号
然后kill pid 进程号。如图
对手机进行重启
新建一个窗口
执行adb reboot
log日志导出
保存到电脑上。
执行:adb shell monkey -p 包名 -v 1000 > /Users/weixiangyang/Desktop/monkey.txt
例如:保存到电脑上标准流与错误流分开保存,分别命名为info.txt,error.txt
info.txt:此文件在手机上的SDCARD中,主要记录了MONKEY测试时发送的各种事件,如触摸事件的位置等等。
error.txt:此文件在手机上的SDCARD中,主要记录了MONKEY测试时产生的一些ANR、强制关闭等异常。 执行:adb shell monkey -p 包名 -v 1000 1>/Users/weixiangyang/Desktop/info.txt 2>/Users/weixiangyang/Desktop/error.txt
例如:保存到电脑上并命名为monkey.txt
保存到手机上。注意:手机要root
例如:保存到手机上并命名为monkey.txt
执行:
adb shell说明:进入adb shell后就相当于进入linux的root下面,但是没有权限在里面创建文件,所以手机要root
monkey -p 包名 -v 1000 > /mnt/sdcard/monkey.txt
注意:我的 adb shell 跟monkey XXX是分开执行的,分两行!!!
例如:保存到电脑上标准流与错误流分开保存,分别命名为info.txt,error.txt
执行:adb shell monkey -p 包名 -v 1000 1>/mnt/sdcard/info.txt 2>/mnt/sdcard/error.txt
‘陆’ 手机软件测试有哪些方法常用的手机软件测试方法
一、等价类分析法
等价类划分方法针对手机状态大致可以归几个大类:
1.按键类(等价法):有效输入和无效输入(有效输入指UM和菜单指示;无效输入指测试菜单功能此时没有定义的按键和用户动作);
2.外部中断类(等价法):常用、不常用及无效
2.1.常用:来电和来消息(短信、彩让做信、push消息);掀合盖;侧键;耳机&FM;情景模式;电量不足
2.2.不常用:充电;闹钟&记事本&关机时间&整点报时提示;Icon&动画显示;Icon&动画刷新;编辑界面&pop显示框输入为空或满;坦拆衡编辑界面&pop显示框状态输入法默认&字符编码默认;失效SIM卡;大容量等SIM卡兼容;排序;号码识别御侍;
二、边界值分析
例子1:
短消息发送功能的等价类划分方法:.
三、错误猜测法
例子1:
利用手机闹钟重响的例子引入错误猜测法基本概念,讲解错误猜测法的意义
未接来电29通,内存中规划的分区一直分配被占用。即使同一号码也同样占用资源。假设此时第30通电话正好为来电号码不显示,即“来电号码未知”或境外来电号码隐藏时(国外保护个人隐私,自动开启来电号码隐藏功能),可能会出现BUG,实际情况证明,此时会出现Reset问题。
‘柒’ 手机怎么测试 手机硬件和软件测试方法详解
信号测试是测试手机硬件的重要环节,需要测试手机的信号接收和发送功能是否正常,同时还需要测试手机的WIFI和蓝牙功能是否正常。
系统测试是测试手机软件的重要环节,需要测试手机操作系统是否正常,包括系统启动、应用程序运行、系统升级等功能。
首先需要对手机的外瞎首观进行检查,包括屏幕、外壳、按键、接口等部分。检查是否有划痕、裂扒升纹、变形等问题,同时还要检查按键是否灵敏,接口是否松动。
应用测试是测试手机软件的重要环节,需要测试手春神老机应用程序的运行稳定性和兼容性,包括常用应用程序、游戏等。
3. 摄像头测试