6.6-6.7 移动测试(一、二)综合总结
一. 测试的分类
1、web
2、小程序
3、APP
4、服务
移动测试对象:
1、小程序:(微信和支付宝)嵌套到专门到App
2、App
3、web:以浏览器的模式可以访问
兼容性测试:
WEB:Firefox,chrome,edge,safari
APP:IOS,Android
APP:
1、不同版本的操作系统
2、不同分辨率的手机
3、不同厂商的手机
Android手机分辨率
800x480, 960x640,1280720(720p),1920*1080(1080p),25601440(2k)
1. 如何查看耗时:![]()
2. 模拟不同的网络:
其中:
offline是弱网,所有的移动产品都是需要测试的,比如打开抖音,结果视频信息一致处于加载中。这个时候应该提示:请检查你的网络
no throttling 是无节流
![]()
二、功能测试点
1、权限测试(比如地址等权限)
2、手机的操作习惯
Home键、返回键,声音的调整
3、数据保留
4、APP的安装与卸载
热修复
android:开发会给测试一个apk的文件,测试使用adb install apk命令来进行安装
ios:
A、首先把苹果的测试手机序列号告诉开发
B、在测试手机下载testflight的App
C、开发会把测试的app发布到testflight,然后我们通过testflight来安装被测试的app
issue:生产环境出现的问题,需要提单,开发说提交一个issue
那么针对该issue需要立刻马上解决,紧急发布叫hotfix版本来修复该issue
你测试的版本发布后,一般会发布0个hotfix的版本「大于0个都有问题」
应用安装之后,还要重点查看以下几点:
•不联网的情况下是否能正常运行,会不会崩溃?
•在线下载数据不完整,能否再次启动?
•是否支持断点续传?
•下载完整之后,再次启动。
•安装成功后,检查版本号以及相关数据。
增量升级
增量升级也叫做差分升级(Smart APP update)。
优点:用户不必再下载一个完整的Apk进行安装。
缺点:不需对发布的所有旧版本和最新版本做差分,很麻烦;如果一部分系统没有拿到内置应用的权限,那么就没有办法进行增量升级。
稳定性测试:
app:就是常时间的针对APP进行各种操作和交互的操作,来验证APP是否闪退,崩溃的情况
服务:常时间对服务发送大量的请求,来验证服务是否可以返回客户端想要的数据
三、Appium的环境搭建
首先将
[android-sdk.rar](/Users/maarten/Documents/全技术开发栈/6.6-6.9 移动测试/Appium下载软件/android-sdk.rar)
文件解压缩到想要进行的文件当中,搭建PATH的环境变量,
变量名:ANDROID_HOME,变量值:「安装的路径」
在Path中添加
%ANDROID_HOME%\platform-tools
%ANDROID_HOME%\tools
验证:
1. adb
2. android -h
详情参考:
https://www.cnblogs.com/weke/articles/4598087.html
![]()
![]()
四. Node
下载地址:http://nodejs.cn/download/
1. 初识Node
1. vim aa.js
2. console.log('Hello-world')
3. node aa.js
![]()
五. adb的运用
1、APK性能测试
主要是以下七类
1、响应
2、内存
3、cpu
4、FPS (app使用的流畅度)
5、GPU过度渲染
6、耗电
7、耗流
2、adb初识
即 Android Debug Bridge
它是 Android 开发/测试人员的强大工具。它是一种可以用来操作手机设备或模拟器的命令行工具。
全球三大操作系统:
windows:
unix:ios,macos,高端的小型服务器
linux:是在unix的思想延伸下开发的一个操作系统「android、redhat」
3、adb的具体使用
1. 安装app:
adb install 「com.parkingwang.app.apk」
2. 安装两种方式:
adb install [APK路径]
adb install -r [APK路径]
3. 程序的应用包名怎么获取?
六. Monkey
1. 常见的错误类型
空指针:nullpointException
数组越界:ArrayIndexoutof boundsException
多次启动线程:illegalThreadstateException
数字格式化问题 :java.lang.NumberFormatException
内存溢出:java.lang.OutOfMemoryError
2. crash崩溃
crash,即崩溃
anr是crash的一种。在程序中可能会出现你未捕获到的异常,这就造成了崩溃。
使用 monkey 目的是测试app的稳定性,验证是否存在ANR和CRASH的错误,使用Monkey可以操作很多很多的交互式的操作,比如旋转。。。。
Crash > AndroidRuntime > Exception>Error 的顺序逐个搜索。
3. 常用命令