移动端测试知识概述
移动端测试是什么?
移动端测试是指对移动应用进行的测试,即实体的特性满足需求的程度。
移动端测试分类?
app功能测试
业务逻辑正确性测试
文档
兼容性测试
- 系统版本
- 分辨率
- 网络情况
异常测试
- 热启动应用
- 网络切换&中断恢复
- 电话&信息中断恢复
升级&安装卸载测试
健壮性测试
- 手机资源消耗
- 流量消耗
- 崩溃恢复等测试
弱网测试
fiddle模拟弱网进行测试
app自动化测试
- - 通过场景和数据的预设,把以人为驱动的测试行为转化为机器执行的一种过程,并不是所有功能都能进行自动化。
app安全测试
- - 通过安全测试技术,保证app尽可能的不存在安全漏洞.
移动端测试环境搭建
我们的目标是Android测试,所以环境需要搭建三个,Java,AndroidSDK,Android模拟器。
为什么要安装这三个环境,我们倒着来说:
Android模拟器:实际上就是一台手机,方便我们给大家展示效果。
AndroidSDK:Android SDK给你提供开发测试所必须的Android API类库。
Java:Android的底层是c、c++,应用层用的语言是Java所以需要使用Java环境。
Java环境
windows
安装JDK1.8
运行jdk-8u151-windows-x64.exe文件,默认安装即可(例如我的安装目录:C:Program FilesJavajdk1.8.0)
配置java环境变量(Windowns7为例)
1.进入我的电脑 -> 属性 -> 高级系统设置 -> 环境变量
2.在系统变量下点击新建 -> 变量名: JAVA_HOME -> 变量值: C:Program FilesJavajdk1.8.0 -> 点击确定按钮
3.在系统变量下点击新建 -> 变量名: CLASSPATH -> 变量值: .;%JAVA_HOME%lib;%JAVA_HOME%lib ools.jar(***变量值最前面有一个".") -> 点击确定按钮
4.在系统变量下找到系统的path变量,进入在最后添加:
;%JAVA_HOME%in;%JAVA_HOME%jrein(最前面是一个分号,如果path变量最后已有分号,可不用添加) -> 点击确定按钮
验证环境变量
1.win+r 或者 开始 -> 搜索框输入cmd
2.在界面运行java -version
3.出现版本即可
AndroidSDK环境
windows
从网上下载androidSDK开发包压缩文件
点击SDK Manager.exe程序
下载其它版本的SDK,因国外下载较慢,所以需要配置国内镜像
在弹出的Android SDk Manager页面,点击Tools ,下拉框点击Options...
镜像地址列表(也可以网上查找最新的):
中国科学院开源协会镜像站地址:
IPV4/IPV6: mirrors.opencas.cn 端口:80
IPV4/IPV6: mirrors.opencas.org 端口:80
IPV4/IPV6: mirrors.opencas.ac.cn 端口:80
上海GDG镜像服务器地址:
sdk.gdgshanghai.com 端口:8000
北京化工大学镜像服务器地址:
IPv4: ubuntu.buct.edu.cn/ 端口:80
IPv4: ubuntu.buct.cn/ 端口:80
IPv6: ubuntu.buct6.edu.cn/ 端口:80
大连东软信息学院镜像服务器地址:
mirrors.neusoft.edu.cn 端口:80
Android模拟器安装
windows
模拟器Genymotion安装
1.执行genymotion-2.11.0-vbox.exe(是一个集合程序,包含genymotion和virtualbox) -> 不需要更改配置,直接下一步默认安装
2.安装完genymotion继续等待,会提示安装virtualbox,继续安装,期间会提示安装oracle插件,全部允许安装
3.安装完成后会在桌面展示genymotion和virtualbox两个图标

在Genymotion模拟器中,可以安装模拟你想要任何手机的任何版本。
包名和启动名
包名
决定程序的唯一性(不是应用的名字),包名是惟一的,当出现相同包名时,最新的包名所代表的的程序,
会替换之前的包名所代表的app(包名默认是由公司反向域名+项目名所构成)
启动名
**目前可以理解**,一个启动名,对应着一个界面。activity
adb命令介绍
adb的含义
adb命令就是在电脑上操作手机,获取手机相关的信息
连接开发电脑与手机的桥,用来调试手机app
ADB全名Andorid Debug Bridge。 是一个Debug工具。
为何称之为Bridge呢?因为adb是一个标准的C/S结构的工具, 是要用来连接开发电脑和调试手机的。
包含如下几个部分:
1.Client端,运行在开发机器中,即你的开发PC机。用来发送adb命令。
2.Daemon守护进程, 运行在调试设备中, 即的调试手机或模拟器。用来接收pc机发的adb命令
3.Server端, 作为一个后台进程运行在开发机器中, 即你的开发PC机. 用来管理PC中的Client端和手机的Daemon之间的通信。用来管理client和server端。
adb常用命令
adb帮助:
adb --help
启动adb server:
adb start-server 端口adb被占用时使用,相当于重置adb
关闭adb server:
adb kill-server 端口adb被占用时使用,相当于重置adb
获取电脑连接手机(真机或模拟器模拟的手机)的设备号:
adb devices
获取系统版本:
adb -s 设备号 shell getprop ro.build.version.release
发送文件到手机:
adb push 电脑端文件路径/需要发送的文件 手机端存储的路径
示例:
将桌面的xx.png发送到手机sdcard目录下
adb push C:UserswinDesktopxx.png /sdcard
从手机拉取文件:
adb pull 手机端的路径/拉取文件名 电脑端存储文件路径
示例:
将手机/sdcard目录中的xx.png文件,发送到电脑桌面
adb pull /sdcard/xx.png C:UserswinDesktop
查看手机运行日志:
adb logcat
手机shell命令行:
adb shell 底层进入的是linux系统,可以使用linux命令了,嘿嘿
获取app包名和启动名:
手机需要先打开对应app
1.Mac/Linux: 'adb shell dumpsys window windows | grep mFocusedApp’
2.在 Windows 终端运行 'adb shell dumpsys window windows’ 然后去看mFocusedApp这一行的内容。
或者:adb shell dumpsys activity activities | findstr "Run"
有个斜杠,前半部分是包名后半部分是启动名
安装app到手机:
adb install 路径/xx.apk (将电脑开发端apk安装到手机)
卸载手机app:
adb uninstall 包名 (先打开手机想要卸载的程序,通过命令查看其包名,在通过包名卸载)
获取app启动时间:
adb shell am start -W 包名/启动名
示例:
adb shell am start -W com.yly.drawpic/.MainActivity
解释:
ThisTime 该activity启动耗时
TotalTime 应用自身启动耗时 = ThisTime + 应用application等资源启动时间
WaitTime 系统启动应用耗时 = TotalTime + 系统资源启动时间