2022-03-07

Android开发、adb、monkey测试

1.手机测试概念

传统手机测试 VS 手机应用软件测试

传统手机测试:指测试手机本身比如抗压,抗摔,抗疲劳,抗低温高温等。也包括手机本身功能、性能等测试。

手机应用软件测试 C/S Client/Server

手机应用软件是基于手机操作系统之上开发出来的软件,做这样的测试就叫做手机应用软件测试。

2.手机端常规测试

Android后缀apk,ios后缀是IPA(iPhoneApplication)

13大测试:

UI测试,功能,性能测试,兼容性测试,安装卸载测试,软件升级测试,登陆测试,安全性测试,消息推送,前后台切换,网络环境测试,monkey测试,异常测试

3.Android介绍

介绍:Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑

四层:Android分为四个层,从高层到低层分别是应用程序层、应用程序框架层、系统运行库层和Linux内核层

4.ADB

1.简介:ADB全称Android Debug Bridge, 是android sdk里的一个工具, 用这个工具可以直接操作管理android模拟器或者真实的andriod设备(如G1手机)

它的主要功能有:

运行设备的shell(命令行)

管理模拟器或设备的端口映射

计算机和设备之间上传/下载文件

将本地apk软件安装至模拟器或android设备

2.配置ADB环境变量

打开:adt-bundle-windows-x86_64_20140101文件找到adb.exe所在路径配置ADB_HOME环境变量

3.ADB常用指令

查看设备:adb devices

安装软件:adb install -r (APK路径)

卸载软件 adb uninstall <软件名> adb uninstall -k <软件名>

登录设备shell adb shell adb shell

查看手机内存情况    adb shell dumpsys cpuinfo

查看内存情况 adb shell getprop | findstr dalvik 本机内存的使用情况

查看应用内存使用情况 adb shell dumpsys meminfo +包名:应用的内存使用情况

列出手机装的所有app的包名: adb shell pm list packages

列出系统应用的所有包名: adb shell pm list packages -s

列出除了系统应用的第三方应用包名: adb shell pm list packages -3

adb logcat 查看手机日志

Android 的日志分为如下几个级别:

V —— Verbose(最低,输出得最多)

D —— Debug

I —— Info

W —— Warning

E —— Error

F —— Fatal

S —— Silent(最高,啥也不输出

5.APK牢固性

应用加固防篡改:通过完整性保护和签名校验保护,能有效避免应用被二次打包,杜绝盗版应用的产生;防逆向:通过对代码进行隐藏以及加密处理,使攻击者无法对二进制代码进行反编译,获得源代码或代码运行逻辑;防调试:通过反调试技术,使攻击者无法调试原生代码或Java代码,阻止攻击者获取代码里的敏感数据。

6.Monkey测试

1.简介

顾名思义,Monkey就是猴子, Monkey测试,就像一只猴子, 在电脑面前,乱敲键盘在测试

Monkey 主要用于Android 的压力测试自动的一个压力测试小工具, 主要目的就是为了测试app 是否会Crash

2.Monkey前提条件

1.环境配置:把adb加入系统环境,手机开启开发者模式

2.连接手机,获取测试的包名。获取包名的方法

3.Monkey编写测试命令,并运行。[monkey操作命令

7.Monkey命令 基本参数介绍

1.-p <允许的包名列表>:adb shell monkey -p com.example.login 100

2.显示日志详细程度

1.adb shell monkey -p com.example.login -v 100 // 缺省值,仅提供启动提示、测试完成和最终结果等少量信息

2. adb shell monkey -p com.example.login -v  -v 100          // 提供较为详细的日志,包括每个发送到Activity的事件信息

3.adb shell monkey -p com.example.login -v  -v  -v 100    // 最详细的日志,包括了测试中选中/未选中的Activity信息

3..Monkey日志分析

将log信息写到文档中:adb shell monkey 100 >c:/log/b.txt

4.--throttle <毫秒>

adb shell monkey -p com.example.login --throttle 300 100

表示执行100个伪随机用户事件流,事件间隔为300毫秒。

5.-pct-touch 调整触摸事件的百分比

6.--pct-motion  调整motion事件百分比

7.--ignore-crashes 通常,应用发生崩溃或异常时Monkey会停止运行

8.--ignore-timeouts 通常,应用程序发生任何超时错误(如“Application Not responding”对话框)Monkey将停止运行

Monkey实例:monkey -p com.tencent.mtaexample -s 23  --throttle2000 --ignore-crashes --ignore-timeouts -v -v -v 100000>/data/local/tmp/log.txt 2>&1 &

9.Monkey异常分析

日志中可能的错误:

1.程序异常退出,uncausedexception (ctrl+f搜索‘Fatal’)

2.程序强制关闭,ForceClosed (简称FC) (同上)

3.程序无响应,ApplicationNo Response(ctrl+f搜索‘ANR ’,加空格是为了屏蔽掉一些无效信息)

4.手动生成。

8.手机兼容性测试

  App云测试平台:Testin、贯众云测试、百度MTC、阿里MQC等

9.真机测试

手机打开开发者选项→勾选USB调试→输入adb devices监测连接设备

你可能感兴趣的:(2022-03-07)