2023.1.4 23:30
一.手机应用和pc应用的区别?
页面布局不同:手机界面比较单一,pc界面复杂,流程比较多
操作方式不同:手机操作方式为手动滑动或者点击,pc应用主要通过鼠标点击
网络连接方式不同:手机主要通过无线和流量连接,pc应用通过无线或者有线连接
部分功能实现不同:手机实现的功能pc可能不能实现,pc可能实现的功能,手机可能不能实现
设备尺寸不同:pc尺寸往往大于手机
二.手机操作系统?
Android/iOS/黑莓/塞班/Windowsphone
Android
背景:公司谷歌
特点:底层代码java,基于Linux内核开发研制
优点:开源免费
缺点:各大厂商基本都有定制版本,版本多,碎片化问题比较多
(例如华为、OPPO、vivo、小米、三星)
iOS
背景:苹果
特点:底层代码Objective-C
优点:封闭局限,稳定且安全
缺点:封闭局限
三.手机测试分类
传统手机测试
主要针对硬件考虑,包括:抗摔、抗压、抗疲劳、抗高温低温
手机应用软件测试
主要针对应用软件考虑,包括:功能测试、性能测试、兼容性测试、稳定性测试、接口测试
四.什么是手机测试
模拟不同系统、网络、分辨率,执行软件,发现问题,解决问题,提升软件质量的过程
五.手机测试流程?
参与需求评审,需求排期
编写测试计划,编写测试用例
开发封装打包,下发测试版本
测试人员申请测试环境(实地测试/线上测试/试运行测试)
测试人员确认测试,跑冒烟
执行功能测试、兼容性测试(网络/系统/分辨率/全面屏/刘海屏)、性能测试(CPU/内存/网络)
提交BUG,跟踪BUG,进行返测
更新迭代后,进行回归测试
申请对外发布,负责人签字
编写测试报告
六.手机测试策略
下载测试
网页下载
应用商店下载
手机互传
扫码下载
pc端手机助手下载
安装测试
不同操作系统下是否正常安装:小米、OPPO、华为等
是否安装到指定文件夹
安装过程中异常(卡顿、关机、死机)
安装成功后是否提示安装成功
安装是否需要网络,需要网络断网安装尝试
安装成功后是否能够正常运行
安装过程中内存不足是否提示
版本更新后是否覆盖安装
卸载测试
卸载程序是否有提示框
卸载程序文件是否有提示框
卸载过程中异常情况(卡顿、关机)
卸载后是否有残留文件
是否支持取消卸载
七.配置SDK(软件开发工具包)
安装SDK前需要先配置JDK
doc窗口输入:
java -version :查看JDK版本
adb version:查看adb版本
八.什么是adb?
本质:Android自带的命令工具
目录位置:D:\tools\adt4_2_32bit\sdk\platform-tools
全称:android debug bridge安卓调试桥
作用:PC端通过adb命令连接手机端(模拟器/真机),以各种命令形式进行控制操作
九.adb常用命令
adb devices:检查目前连接的手机设备
adb connect 127.0.01:62001(如果启动的是模拟器,须手动进行连接,再去检查设备连接状态)
adb push:从PC端上传文件到手机端
adb -s 模拟器名 push 文件所在地 上传位置 :如果连接多台模拟器,可以选择一台进行相应操作
adb shell:进入shell命令环境(linux命令环境)
adb pull 手机端指定位置文件 pc端指定位置文件:下载手机端重要的测试数据:日志、测试结果等等
adb logcat:持续跟踪日志
ctrl+c:退出日志跟踪
adb logcat >D:/logcat.txt:持续跟踪日志,并保存日志,新的日志会覆盖旧的
adb logcat >>D:/logcat.txt:持续跟踪日志,保存日志,原有日志追加新的内容
adb logcat -d *:l>D:/logcat.txt:一次性读取日志,根据日志级别筛选info一般性信息
adb logcat -d *:W D:/logcat.txt:一次性读取日志,根据日志级别筛选Warning 警告需要关注信息
adb logcat -d *:E D:/logcat.txt :一次性读取日志,根据日志界别筛选Error 错误信息
直接查看日志,帮助测试开发调试分析,定位并解决问题:查看是否包含:crash崩溃,anr未响应,error等等这些相关信息
adb instal 电脑安装包地址:安装指定程序到手机中
adb uninstall 手机程序名:卸载手机指定程序
adb shell pm list packages:查看手机所有程序
adb shell pm list packages -3:查看手机第三方程序
adb shell pm list packages -s:查看手机自带程序
adb shell pm list packages |grep 关键字:筛选查询程序
十、adb monkey
monkey:android自带的命令行工具
测试目标:通过模拟用户操作(点击、滑动、不规则运动)随机反复发送至被测系统,进行稳定性测试
monkey配置选项:
基本配置选项:比如时间运行次数
运行约束选项:比如指定的包名,约束控制被测系统
时间类型及频率:比如点击、滑动
调试选项:比如忽略崩溃
-p:指定运行被测系统(package包)
形式: -p 包名
单个程序的指定:-p 包名1
多个程序的指定:-p 包名1 -p 包名2 -p 包名3
系统级的指定:不指定
使用格式:
adb shell monkey -p 包名 10
-v:控制日志等级
控制monkey测试按照不同的等级进行日志输出,级别越高,日志越详细
形式:
-v:第一等级,level内容,启动提示,测试完成以及最终结果,少量日志内容
-v -v:第二等级,内容相当跟踪日志,比较详细,包括被刺系统发送的activity事件
-v -v -v:第三等级,内容最详细,选中或者未选择activity事件
使用格式:
adb shell monkey -p 包名 -v -v 20 >D:/MI.txt
日志内容:
1.通用信息:包括运行随机种子数(seed),运行次数(count),运行程序(包名),活动窗口,操作时间及比重
2.运行信息统计:向后看,启动程序,操作时间,运行异常信息,运行结束,运行完成
3.日志分析:根据和关键字crash,anr查看定位,整理错误信息反馈
-s:随机种子数
-s可以控制多次随机(伪随机)运行保持相同的逻辑,目的:保证测试中缺陷重现以及返测
格式:-s 随机数字
使用格式:
adb shell money -p 包名 -s 10 -v -v -v 20 >D:/mil.txt
--throttle:间隔时间
针对操作的时间进行时间间隔,好比等待时间(点击--等待1秒--滑动)
使用格式:
adb shell monkey -p 包名 -s 50 --throttle 500 -v -v -v 20 >D:/MI.txt
--ignore:调试选项
作用:规避运行过程中遇到异常情况,保证运行完整准确
格式:
--ignore-crashes:忽略崩溃
--ignore-timeouts:忽略延时
--ignore-native-crashes:忽略本地崩溃
--ignore-security-exceptions:忽略安全异常
--monitor-native-crashes:监控本地崩溃
使用方法:
adb shell monkey -p 包名 -s 10 --throttle 500 --ignore-crashes --ignore-timeouts --ignore-native-crashes --monitor-native-crashes -v -v -v 20 >D:/min.txt
--pct:事件类型
格式:
touch:点击
motion:滑动
trackball:轨迹球操作(无规则的滑动)
nav:导航事件(上下左右)
majornav:主要导航事件(软件返回按钮、系统菜单按钮)
syskeys:系统级按键事件(Home、back、音量键)
appswitch:用来activity之间的切换
anyevent:任意事件,不常用操作事件
flip:键盘弹出,比如键盘收回,弹出
使用形式:
adb shell monkey
-p 包名
-s 10
--throttle 500
--ignore-crashes
--ignore-native-crashes
--ignore-timeouts
--ignore-security-exceptions
--pct-touch 10
--pct-motion 10
--pct-trachball 10
--pct-flip 10
--pct-appswitch 10
--pct-anyevent 10
--pct-nav 10
--pct-majornav 10
--pct-syskeys 10
-v -v -v
10
>D:/m.txt