App移动端测试


现有市场上的移动端操作系统:

  1. Android
  2. iOS
  3. 微软
  4. 塞班
  5. 华为(未来)

测试范围就是移动端的软件 公司内部一般选择的是真机测试/云测试 如果应用程序在Android进行测试 bug的数量居多 如果应用程序在iOS上测试 bug的数量少很多

移动端测试内容有

  1. 应用程序的功能测试

    1. 测试的时间:移动端的开发结束后
    2. 测试的依据:需求文档和UI设计效果图
    3. 测试的内容:测试页面,测试程序的逻辑功能的实现
  2. 安装和卸载的测试

    1. 软件安装后是否可以正常运行

    2. 安装过程中是否可以取消

    3. 安装空间不足时,是否有相应提示

    4. 是否可以卸载应用(可通过桌面卸载,也可以通过软件卸载)

    5. 卸载是否支持取消功能,单击取消后软件卸载功能是否正常

    6. 卸载后文件是否全部删除所有的安装文件夹

    7. 从不同的应用市场下载进行安装测试,比如测试小米市场,华为市场,应用宝,安卓市场的安装测试。

  3. 软件的升级测试

    1. 当客户端有新版本时,是否有更新提示,当版本为非强制升级版时,用户可以取消更新,老版本能正常使用用户在下次启动App时,仍能出现更新提示。
    2. 当版本为强制升级版时,当给出强制更新后用户没有做更新时,退出客户端,下次启动App时,仍出现强制升级提示,当然现在强更已经很少出现了。
    3. 检查更新后各个功能是否能正常使用。
    4. 现在主流的安装更新方式开始向热更新热部署方式转变,就是在用户不需要手动更新的情况下,完成版本的静默更新。
  4. 登陆测试

    1. 登录用户名和密码错误时,界面有提示信息
    2. 用户主动退出登陆后,下次进入app时,应该进入登陆界面
    3. 切换账号登录,检验登录的信息是否做到及时更新
    4. 对于多个端(web、iOS、Android等)进行操作时,确保数据库操作无误,且每个端可以及时看到数据的更新,一个账号只允许一台机器登陆的软件,需要账号登录多个手机时,是否将原用户踢下线,且能够给出提示信息
  5. 权限测试

    1. 是否用户提醒和同意使用该权限
    2. 6.0以后都是需要申请权限
  6. 消息推送机制

    1. 未锁屏时,应用后台运行,消息推送是否可正常接收,未锁屏时,App客户端使用过程中,可以收到消息提醒,且点击可查看。
    2. 锁屏时,手机消息栏是否可以接收到消息提醒。且点击可查看。点击后消息栏中消失。
    3. 推送是否用户同意 以及用户的使用习惯
  7. 前后台切换的功能

    1. App切换到后台,再回到App,检查是否停留在上一次操作界面
    2. 手机锁屏解屏后进入App注意是否会崩溃,功能状态是否正常
    3. 当APP使用过程中有电话进来中断后再切换到APP,功能状态是否正常
    4. 当关闭App进程后,在开启App,App能否正常启动
    5. App在前后台一个正常切换,小窗口的模式
    6. 双系统的切换
    7. 当异常情况下考虑
    8. 有数据交互的情况下
  8. UI测试(界面测试)

    1. 确保产品UI符合产品经理制定的原型图与效果图
  9. 兼容性测试

  10. 兼容性测试主要考虑手机的版本,型号,分辨率

  11. 网络环境测试

    1. 测试2G、3G、4G、wifi、有网、无网、弱网情况下应用的运行
    2. 网络不好时,提交数据是否一直处理提交中,是否会有延迟,数据交换失败是否会有提醒
    3. 有网到无网再到有网环境时,数据是否可以自动恢复,正常加载
    4. 无网络时,各种提示信息是否友好,数据本地化是否正确
  12. monkey压力测试

    1. 可以使用monkey对App做压力测试,主要就是测试操作App的时候,程序是否会崩溃
    2. 我们使用adb shell monkey 指定对应的app,执行要测试的次数,指定要触摸的比率,超时时间和忽略崩溃信息,就可以执行测试,将测试log存到某个位置,然后把测试出的bug 日志发送给开发.。
  13. 性能测试

    性能测试的指标:

    1. 内存
    2. CPU
    3. 流量
    4. 电量
    5. 启动速度
    6. 滑动速度、界面切换速度
    7. 与服务器交互的网络速度

Android


Android介绍

Android**是一种基于Linux的自由及开放源代码的操作系统,**主要使用于移动设备,如智能手机平板电脑,由Google公司和开放手机联盟领导及开发。尚未有统一中文名称,中国大陆地区较多人使用“安卓”或“安致”。

ADB


ADB介绍

ADB全称Android Debug Bridge, 是android sdk里的一个工具, 用这个工具可以直接操作管理android模拟器或者真实的Andriod设备

它的主要功能有:

  • 运行设备的shell(命令行)
  • 管理模拟器或设备的端口映射
  • 计算机和设备之间上传/下载文件
  • 将本地apk软件安装至模拟器或android设备

常用的ADB命令

  1. 查看设备
adb devices

查看当前连接的设备, 连接到计算机的android设备或者模拟器将会列出显示
List of devices attached
emulator-5554   device
  1. 使用adb命令进行安装软件
adb install -r (apk的路径) 

-r 代表如果apk已安装,重新安装apk并保留数据和缓存文件。apk路径则可以直接将apk文件拖进cmd窗口,记得加空格。
  1. 卸载软件
adb uninstall 包名
adb uninstall -k 包名   (保留配置文件以及缓存文件)
  1. 列出所有的包名
adb shell pm list package
  1. 可以列出第三方的包名
adb shell pm list package -3
  1. 可以列出系统应用的包名
db shell pm list package -s
  1. 查看手机内存的命令
adb shell dumpsys meminfo 包名
  1. 录制视频
adb shell screenrecord /sdcard/demo.mp4
  1. 截图
adb shell screencap /sdcard/1907.png查看手机日志
  1. 查看手机日志
adb logcat
日志号 日志级别
V Verbose 详细 (最低)
D Debug 错误
I Info 信息有误
W Warn 警告
E Error 异常
F Fatal 无效
S Silent(supress all output) 最高
  1. 将日志文件转换为本地文件
adb -s emulator-5554(设备名称) logcat -v time process >d:log.txt(文件存放位置)
  1. 根据日志级别打印
adb logcat *:w(大于和等于这个级别的)