移动端测试_基础知识学习

常见APP测试面试问题h1>
  • 微信发红包怎么测试li>
  • 微信支付怎么测试li>
  • 微信发朋友圈怎么测试li>
  • 购物车怎么测试li>
  • 微博登录怎么测试li>
  • 搜狗输入法怎么测试li>
  • 新闻APP怎么测试li>
  • 短视频怎么测试li>

移动端测试

  • 传统手机测试(移动端设备测试):是指测试手机本身,如抗压、抗摔、抗疲劳、抗低温高温等,也包括手机本身的功能、性能等测试。
  • 手机应用软件测试(移动端软件测试):手机应用软件是基于手机操作系统之上开发出来的软件,做这样的测试,就称为手机应用软件测试 、

移动端测试的复杂性

  • 络多样化;
  • 支持系统多样化;
  • 硬件配置多样化;
  • 分辨率类型多样化;

移动端和PC端软件测试的区别

移动端测试要点

1.安装、卸载测试

  • 从不同的渠道获取安装程序是否正常安装。
  • 软件在不同操作系统下安装是否正常。
  • 软件安装后的是否能够正常运行,安装后的文件夹及文件是否写到了指定的目录里。
  • 软件安装过程是否可以取消,点击取消后,写入的文件是否如概要设计说明处理。
  • 软件安装过程中意外情况的处理是否符合需求(如死机,重启,断电)。
  • 安装空间不足时是否有相应提示。
  • 安装后没有生成多余的目录结构和文件。
  • 对于需要通过 络验证之类的安装,在断 情况下尝试一下。
  • 还需要对安装手册进行测试,依照安装手册是否能顺利安装
  • 直接删除安装文件夹卸载是否有提示信息。
  • 测试系统直接卸载程序是否有提示信息。
  • 测试卸载后文件是否全部删除所有的安装文件夹。
  • 卸载过程中出现的意外情况的测试(如死机、断电、重启)。
  • 卸载是否支持取消功能,单击取消后软件卸载的情况
  • 系统直接卸载UI测试,是否有卸载状态进度条提示。

2.UI测试

导航测试:

  • 按钮、对话框、列表和窗口等;或在不同的连接页面之间需要导航
  • 是否易于导航,导航是否直观
  • 是否需要搜索引擎
  • 导航帮助是否准确直观导航与页面结构、菜单、连接页面的风格是否一致

图形测试:

  • 横向比较。各控件操作方式统一
  • 自适应界面设计,内容根据窗口大小自适应
  • 页面标签风格是否统一
  • 页面的图片应有其实际意义而要求整体有序美观
  • 图片质量要高且图片尺寸在设计符合要求的情况下应尽量小
  • 界面整体使用的颜色不宜过多

内容测试:

  • 输入框说明文字的内容与系统功能是否一致
  • 文字长度是否加以限制
  • 文字内容是否表意不明
  • 是否有错别字
  • 信息是否为中文显示
  • 是否有敏感性词汇、关键词
  • 是否有敏感性图片,如:涉及版权、专利、隐私等图片

3.功能测试

运行APP:

免登录:

离线浏览:

定位、照相机服务:

PUSH测试:

7. 升级、更新测试

? 新版本发布后,配合不同 络环境的自动更新提示及下载、安装、更新、启动、运行的验证测试

测试点:

  • 1、测试升级后的功能是否与需求说明一样
  • 2、测试与升级模块相关的模块的功能是否与需求一致
  • 3、升级安装意外情况的测试(升级安装意外情况的测试(如死机、断电、重启))
  • 4、升级界面的UI测试
  • 5、不同操作系统间的升级测试

8. 用户体验

  • 是否有空数据界面设计,引导用户去执行操作。
  • 是否滥用用户引导。
  • 是否有不可点击的效果。
  • 菜单层次是否太深
  • 交互流程分支是否太多
  • 相关的选项是否离得很远
  • 一次是否载入太多的数据
  • 界面中按钮可点击范围是否适中
  • 标签页是否跟内容没有从属关系,当切换标签的时候,内容跟着切换
  • 操作应该有主次从属关系
  • 是否定义Back的逻辑。涉及软硬件交互时,Back键应具体定义
  • 是否有横屏模式的设计,应用一般需要支持横屏模式,即自适应设计

9. 硬件环境测试

手势操作测试:

接口测试:

  • 服务端一般会提供JSON格式的数据给客户端,所以我们在服务端需要进行接口测试,确保服务端提供的接口并转换的JSON内容正确,对分支、异常流有相应的返回值。此块测试可以采用itest框架进行测试。最方便的是采用httpclient进行接口测试。
  • 进行服务端测试时,需要开发提供一份接口文档。
  • (JavaScript Object Notation) 是一种轻量级的数据交换格式
  • HttpClient 是 Apache Jakarta Common 下的子项目,可以用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 HTTP 协议最新的版本和建议。
  • Itest测试框架是TaoBao测试部门开发的一套单元测试框架

10. 客户端数据库测试

  • 一般的增、删、改、查测试。
  • 当表不存在时是否能自动创建,当数据库表被删除后能否再自建,数据是否还能自动从服务端中获取回来并保存。
  • 在业务需要从服务端取回数据保存到客户端的时候,客户端能否将数据保存到本地
  • 当业务需要从客户端取数据时,检查客户端数据存在时,app数据是否能自动从客户端数据中取出,还是仍然会从服务器端获取客户端数据不存在时,app数据能否自动从服务器端获取到并保存到客户端
  • 当业务对数据进行了修改、删除后,客户端和服务端是否会有相应的更新。

11. 安全测试

软件权限安全性:

Android测试环境搭建

1、 真机测试环境

  • 使用真实的手机进行测试

2 、第三方模拟器测试

  • 夜神
  • 腾讯手游
  • iTool
  • 逍遥
  • 雷电
  • 易mumu

3 、Android自带的模拟器测试

安装和配置JDK环境:

配置Android环境。使得其可以使用adb命令:

  • 1.配置变量“ANDROID_SDK_HOME”: 用户名:ANDROID_SDK_HOME,变量值(sdk的安装目录):D:alspjava_androidadt-bundlewindows-x86_64_20140101sdk
  • ADB简介

    adb概述

    adb工具即Android Debug Bridge(安卓调试 桥) tools。它就是一个命令行窗口,用于通过 电脑端与模拟器或者真实设备交互。包括三点内容

    • 电脑上运行的客户端。
    • 在你用于开发的机器上作为后台进程运行 的服务器。
    • 一个以后台进程的形式运行于模拟器或设 备上的守护程序(daemon)。

    ADB命令的主要功能

    • 1.运行Android设备的shell(命令行)
    • 2.管理模拟器或Android设备的端口映射
    • 3.安装/卸载APK程序
    • 4.计算机和Android设备之间上传/下载文件

    ADB常用命令

    启动和关闭adb服务

    查看设备连接情况

    安装和卸载APK程序

    指定设备进行操作

    当有多个设备连接时,可以用下面的命令来直接选择执行命令的设备

    • d:真机(多个设备中只有一个真机时适用)
    • e:模拟器(多个设备中只有一个模拟器时适用)
    • s:序列

    列出当前设备上的程序包

    删除微信APP

    • 1.adb push
    • 例如,把pc上的文件或文件夹上传到设备
    • 2.adb pull
    • 例如,把设备上的文件或文件夹下载到pc

    日志Logcat的操作

    • V — 明细 (最低优先级)
    • D — 调试
    • I — 信息
    • W — 警告
    • E — 错误
    • F — 严重错误
    • S — 无记载 (最高优先级,没有什么会被记载)

    其他命令

    Monkey概述

    Monkey是运行模拟器或设备上的程序,并生成用户事件的伪随机 流,例如点击,触摸,或手势,以及若干系统级事件。

    可以使用monkey对应用程序进行压力测试、稳定性测试

    Monkey 测试,所有的事件都是随机产生的,不带任何人的主观性。

    • 1、 利用命令完成
    • 2、 所有的操作过程都是随机的
    • 3、 所有的操作都是非人力可控
    • 4、 可用于APP的压力和稳定性测试

    Monkey特征

    测试的对象仅为应用程序包,有一定局限性
    Monkey测试使用的事件随机流是随机的,不能进行自定义
    可对MonkeyTest的对象,事件数量,类型,频率等进行设置

    Monkey的停止条件

    • 1.如果限定了Monkey运行在一个或者几个特定包上,那么他会监控 测试图到其它包的操作,并对其进行组织
    • 2.应用程序崩溃或接收到任何失控异常
    • 3.应用程序不响应
    • 4.正常运行结束
    • 5.强制停止进程

    Monkey应用

    • 进入Monkey
      首先检测android真机/模拟器是否已经连接:
    • 然后选取一个设备来进入shell:,当然如果你 只有一个设备,完全可以写

    Monkey相关命令

    • 查看应用程序列表:

    • 运行指定一个APP包运行 n 次: (不指明包名的话,则运行所有APP n次)

    • 运行指定多个APP包运行 n 次:

    • 查看应用package

    • 有关参数v的学习:用于指定反馈信息级别(信息级别就是日志的详细程度),总共分3个级别,分别对应 的参数如下表所示: 日志级别 Level0 :
    • 日志级别 Level 3:
    • 有关参数-s的学习: 用于指定伪随机数生成器的seed值,如果seed相同,则两次Monkey测试 所产生的事件序列也相同的。
    • 有关参数–throttle 的学习: 用于指定用户操作(即事件)间的时延,单位是毫秒;
    • 用monkey测试天猫的这个包触摸操作百分之50,轨迹球操作百分 之30,其它操作百分之20,总共进行100次随机点击,事件之间间 隔300ms

    Monkey 测试中,APP异常情况的分析

    • 随机的各种操作,没有任何逻辑和流程;
    • 长时间的操作,功能和界面之间互相调用,消耗大量的系统资源;
    • 操作之间的时间间隔太短会造成异常。

    常见异常及对应策略

    • Null 指针异常:对比APP运行日志,分析代码找出原因。
    • Debug异常:主要是由于代码本身的错误。
    • 低内存异常:内存空间不足。
    • 操作无响应异常:频繁的操作导致某些功能无响应。
    • 系统重启异常:可能误操作或系统崩溃导致。
    • 运行时异常。一般在无响应之后。

    声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年6月1日
下一篇 2021年6月1日

相关推荐