6.6-6.7 移动测试(一、二)综合总结

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. 程序的应用包名怎么获取?
#三种获取方式
3.1、在控制台输入:adb shell am monitor,然后打开app,就会获取程序的应用包名
3.2、adb shell dumpsys window findstr mCurrentFocus
3.3、进入到:adb shell  ,输入命令:pm list packages

4. 卸载
4.1 先获取程序包名
adb shell am monitor
4.2 退出当前的命令ctrl c
4.3 adb uninstall [应用包名]
 
5. 查看分辨率
adb shell wm size
 
6. 显示当前运行的系统服务
adb shell service list
 
7. 显示当前最前端的 Activity
adb shell dumpsys activity top
 
8. 获取闪退日志信息
adb logcat
 '''
把错误的日志写到一个记事本里面,然后在记事本里面通过关键字的搜索来查询错误信息。把日志信息写到其他的文件,这个过程叫重定向。重定向的操作步骤:
1、在XX的目录下创建log.txt的记事本
2、adb logcat > log.txt,然后按下回车键
3、启动app,进行操作
4、操作完成,打开log.txt,里面会有很多的日志信息

'''
9. 显示设备的CPU信息
adb shell cat /proc/cpuinfo 

10. 显示设备的内存使用情况
adb shell cat /proc/meminfo

 

 

六. 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. 常用命令

#查询所有进程
adb shell ps

#查询monkey的pid 
adb shell ps grep monkey #Mac
adb shell ps findstr monkey #Win

#获取monkey的 ID 进行杀死
adb shell kill 「PID」

#获取电量信息
adb shell dumpsys  battery 

#获取parkingwang停车王的进程PID
adb shell ps  findstr 「parkingwang」

#获取进程内存信息
adb shell dumpsys meminfo  「PID」

#获取进程cpu消耗信息
adb shell top -findstr 「PID」
posted @ 2022-06-07 18:01  Dear-Maarten  阅读(189)  评论(0)    收藏  举报