6. 第六章 移动栈测试技术

第六章 移动栈测试技术

一. 移动端测试技术

什么移动端

  • 移动端操作系统

    • IOS
    • Android
    • Windows Phone
    • Symbian
    • Windows Mobile
    • Blackberry
  • 手机测试的分类

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

    • 移动端软件测试就是符合多种网络,不同系统m,不同分辨率,不同硬件配置下发现软件缺陷,并保证提高软件质量的过程
  • 移动端与PC端软件测试的区别

比较点移动应用PC应用
应用类型Native App和WebApp以及混合型Client和Web
操作方式多点触控鼠标和键盘
界面布局操作界面少,流程简单操作界面复杂且流程复杂
设备尺寸移动设备屏幕小,手机和平板的屏幕尺寸相差巨大,且各自屏幕大小种类繁多PC显示屏幕大且其他软件应用不受屏幕限制
功能强调主要功能以及用户常用功能支持全部功能
设备网络连接方式主要2G/3G/4G/WIFI有线方式/WIFI
应用设备限制存储空间小,连接不稳定,带宽较小,流量费用限制,移动互联网上的风险等储存空间大,带宽相对大,连接一般比较稳定,各种安全软件安装齐全
用户使用习惯移动用户随时随地会使用移动软件应用,强调移动性用户一般在固定的地点使用PC应用

移动端测试流程

在这里插入图片描述

  • 移动端测试要点 ***

    1. 安装、卸载测试

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

      • 导航测试 :
        1. 按钮、对话框、列表和窗口等;或在不同的连接页面之间需要导航
        2. 是否易于导航.导航是否直观
        3. 是和否需要搜索引擎
        4. 导航帮助是否准确直观导航与页面结构菜单\拦截页面的风格是否一致
      • 图形测试 :
        1. 横向比较,各控件操作方式统一
        2. 自适应界面设计,内容根据窗口大小自适应
        3. 页面标签风格是否统一
        4. 页面的图片应有其实际意义而要求整体有序美观
        5. 图片质量要高且图片尺寸在设计符合要求的情况下应尽量小
        6. 界面整体使用的颜色不宜过多
      • 内容测试 :
        1. 输入框说明文字的内容与系统功能是否一致
        2. 文字长度是否加以限制
        3. 是否有错别字
        4. 信息是否为中文显示
        5. 是否有敏感性词汇、关键词
        6. 是否有敏感性图片,如: 设计版权、专利、隐私等图片
    3. 功能测试 :

      1. 运行app
      2. 应用的前后台切换
      3. 免登陆
      4. 数据更新
      5. 离线浏览
      6. APP更新
      7. 定位、照相机服务
      8. 时间测试
      9. PUSH测试
    4. 性能测试 :

      1. 极限测试 : 在各种边界压力情况下,如电池、储存、网速等,验证App是否能正确相应
        • 内存满时安装app
        • 运行app时手机断电
        • 运行App时断掉网络
      2. 响应能力测试 : 测试App中的各类操作是否满足用户响应时间要求
        • App安装、卸载的响应时间
        • App各类功能性能操作的影响时间
      3. 压力测试 : 反复长期操作、系统资源是否占用异常
        • App反复进行安装、卸载,查看系统资源是否正常
        • 其他功能进行反复操作,查看西戎资源是否正常
      4. 性能评估 : 评估典型用户应用场景下,系统资源的使用情况
      5. 基线测试 : 与竞争产品的Benchmarking,产品演化对比测试等
    5. 交叉事件测试 :

      • 交叉测试又叫事件或冲突测试,是指一个功能正在执行过程中,同时另一个事件或操作对该过程进行干扰的测试

      • 测试要点 :

        1. 多个App同时运行是否影响正常功能
        2. App运行时前/后切换是否影响正常功能
        3. App运行时拨打/接听电话
        4. App运行时发送/接收消息
        5. App运行时发送/接收邮件
        6. App运行时切换网络(2G/3G/4G/WIFI)
        7. App运行时刘侃网络
        8. App运行时使用蓝牙传送/接收数据
        9. App运行时使用相机、计算器等手机自带功能
    6. 兼容性测试 :

      • 不同网络兼容
      • 与本地及主流App兼容
      • 不同操作系统兼容
      • 不同手机品牌兼容
      • 不同屏幕分辨率兼容
    7. 升级、更新测试 :

      • 更新版发布后,配合不同网络环境的自动更新提示及下载、安装、更新、启动、运行的验证测试
    8. 用户体验测试 :

      1. 是否有空数据界面设计,引导用户去执行操作
      2. 是否滥用用户引导
      3. 是否有不可点击的效果
      4. 菜单层次是否太深
      5. 交互流程分支是否太多
      6. 相关的选项是否离的很远
      7. 一次是否载入太多的数据
      8. 界面中按钮可点击范围是否适中
      9. 标签页是否跟内容没有从属关系,当切换标签时,内容是否跟着切换
      10. 操作应该有主次从属关系
      11. 是否定义Back的逻辑.涉及软硬件交互时,Back键应具有定义
      12. 是否有横屏模式的设计,应用议案需要支持横屏模式,即自适应设计
    9. 硬件环境测试 :

      • 手势操作测试 :
        1. 手机开锁屏对运行中的app的影响
        2. 切换网络对运行中的app的影响
        3. 运行中的app前后台切换的影响
        4. 多个运行中的app的切换
        5. App运行时关机
        6. App运行时重启
        7. App运行时充电
        8. App运行时kill掉进程再打开
      • 网络环境测试
        1. 无网络时,执行需要网络的操作,给与友好提示,确保程序不出现崩溃
        2. 内网测试时,要注意选择到外网操作时的异常情况处理
        3. 在网络信号不好时,检查功能状态是否正常,确保不因提交数据失败而造成崩溃
        4. 在网络信号不好时,检查数据是否会一直处于提交中的状态,有无超时限制,如遇到数据狡猾失败时给予提示
        5. 在网络信号不好时,执行操作后,在回调没有完成的情况下,退出本页面或者执行其他操作的情况,有无异常
        6. 后台服务牵涉到DNS、空间服务商的情况下会影响其他稳定性
    10. 客户端数据库测试 :

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

      • 软件权限安全性
      • 人机接口安全性
      • 通讯安全性
      • 数据安全性
      • 安装与卸载安全性

二. Android测试及ADB命令

  1. Android 操作系统简介

    • 应用程序层
    • 应用程序框架层
    • 函数库
    • Linux内核
  2. Android测试常用术语 :

    • 系统碎片化 : 通俗的讲就是指整个安卓平台的差异化越来越大

    • 屏幕尺寸

    • 分辨率 :

      • px :像素
      • dip或dp :设备独立像素
      • sp : 比例像素
    • 像素

    • 网络制式 :

      • 手机网络制式主要包括GSM、CDMA、3G、4G四种

        在这里插入图片描述

  3. Android用用的构成

    • Android的四大组件
      • Activity - 活动 :
        • activity指与用户交互的界面,从你打开的Android应用所见到的第一个页面就是一个Activity
      • Service - 服务 :
        • Android下的服务是在后台运行,没有界面,一旦启动就会一直在后台运行,直至关机
        • Service承担着大部分的数据处理工作
      • BroadcastReceiver - 内容提供者 :
        • Android平台提供了Content Provider使一个程序的指定数据集提供给其他应用程序
      • ContentProvider - 广播接收器 :
        • 主要用于接收系统或app发送的广播事件
  4. Android Q测试环境搭建 :

    • 真机测试环境
    • 第三方模拟器测试
    • Android自带的模拟器测试
    • Android开发环境搭建 :
      • 安装和配置JDK环境
  5. ADB简介:

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

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

      • 关闭和启动adb服务 :

        • 关闭adb服务 : adb kill-server
        • 启动adb服务 : adb start-server
      • 查看设备连接情况 :

        • adb devices 查看当前连接的设备,连接到计算机的android设备或者模拟器将会列表显示
      • 安装和卸载APK :

        • adb install 安装包路径
        • adb uninstall 软件包名
        • adb uninstall -k 软件包名 卸载程序但保留其配置和缓存文件
      • 指定设备进行操作

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

          adb [-d|-e|-s <serial Number>] <command>

          • -d : 真机(多个设备中只有一个是真机时适用)
          • -e : 模拟器 (多个设备中只有一个模拟器时适用)
          • -s : 序列号
          • 例如 :
            • adb -d install QQ.apk
            • adb -s emulator-5556 install QQ.apk
      • 上传和下载文件 :

        • adb push <本地路径> <远程路径> adb push 1.txt /sdcard/1.txt
        • adb pull <远程路径> <本地路径> adb pull system/app D:apps
      • 日志Logcat的操作 :

        • adb logcat : 在命令行中显示调试信息
        • adb logcat > 文件名 : 将logcat信息保存在文件中
      • 其他命令 :

        • android : 启动SDK管理器
        • adb bugreport : 查看bug报告
        • adb get-serialno : 获取设备的序列号
        • adb root : 获得root权限
        • adb remount : 将system分区兄只读变成可读可写 (需要root权限)
        • android list targets : 显示细条绒内所有的android平台
        • android list avd : 显示系统中所有模拟器
        • ddms : 启动ddms
        • adb reboot : 重启
        • dmesg : 打印内核的调试信息

三. Appium技术

  • 一. Appium的简介和原理 :

    • Appium是一个自动化测试开源工具,支持iOS平台和Android平台的原生应用,web应用和混合应用
      • “移动原生应用” 是指那些用iOS或者Android SDK写的应用(Application简称app)
      • "移动web应用"是指使用移动浏览器访问的应用(appium支持iOS上的Safari和安卓上的Chrome)
      • “混合应用” 是指原生代码封装网页视图 – 原生代码和web内容交互
    • Appium与Selenium
      • appium类库封装了标准Selenium客户端类库,为用户提供所有常见的JSON格式Selenium命令以及额外的移动设备控制相关的命令,如多点触控手势和屏幕朝向
  • 二. Appium测试环境搭建

    • JDK安装和配置
    • Node下载和安装
    • Appium下载和安装
    • Eclipse下载和安装
    • 安卓模拟器的下载和安装
  • 三. 元素识别和操作

  • 四. Appium的脚本编写

m支持iOS上的Safari和安卓上的Chrome)
- “混合应用” 是指原生代码封装网页视图 – 原生代码和web内容交互

  • Appium与Selenium

    • appium类库封装了标准Selenium客户端类库,为用户提供所有常见的JSON格式Selenium命令以及额外的移动设备控制相关的命令,如多点触控手势和屏幕朝向
  • 二. Appium测试环境搭建

    • JDK安装和配置
    • Node下载和安装
    • Appium下载和安装
    • Eclipse下载和安装
    • 安卓模拟器的下载和安装
  • 三. 元素识别和操作

  • 四. Appium的脚本编写

  • 五. 实例分析

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值