• 【测试基础第九篇】app测试要点提取与分析


      • 功能测试
        • 主要思路
          • 根据需求编写测试用例,执行测试。单个功能(等价类、边界值、正常和异常)和交互功能。注意:功能测试点提取和用例设计方法都跟web测试一致,但是APP有-一些自己特性测试,也需要加到测试点中。
        • 安装与卸载(正常+异常)
          • 安装前:空间不足时是否有响应提示。
          • 安装中:安装过程中是否可以取消,是否可以正常运行,空间不足响应提示
          • 安装后:是否可以卸载(1)通过桌面卸载(2)通过软件设置卸载
            • 常见bug:在ios手机上有个应用安装时未安全安装,终止安装后,未完成安装的应用图标一直显示在手机上,并且无法成功删除。
            • 卸载是否支持取消功能,单击取消后软件卸载功能是否正常。例如:ios在卸载中不支持取消,安卓可以取消卸载。
            • 安装完后是否自动删除安装包
          • 重复安装:①提示版本已经存在、②直接覆盖安装但是能正常使用
        • 软件更新升级--是兼容性一种
          • 升级前:当客户端有新版本时,是否有更新提示。
          • 升级后:更新后各个功能(新/老功能)是否能正常使用,更新后老数据存在并正常
          • 非强制升级版:用户可以取消更新,老版本能正常使用,用户在下次启动app时,仍能出现更新提示
          • 强制升级版:用户没有做更新时,退出客户端。下次启动app时。仍出现强制升级提示。
          • 在线跨版本升级
            • 1.升级后正常使用
            • 2.选择的版本---用户使用量最多的版本----主流版本
          • 升级测试策略
            • 新功能能用
            • 老功能优化
            • 数据能用
            • bug修复升级,回归测试--老功能(回归根据项目时间安排、bug影响程度)--与老大沟通
        • 登录测试
          • 登录方式
            • 用户名、短信验证码、指纹、二继码、 手势、语音、头像识别、第三方登录(微信、QQ ,微博 )--看软件支持情况
          • 未登录用户
            • 一些页面的操作.是否做了控制
            • 点击某些资源,提示登录或者跳转登录页面
            • 用户主动退出登录后 ,下次启动APP时,应该进入登录界面--参考成熟产品
          • 切换账号登录
            • 检验登录的信息是否做到及时更新
          • 单点登录
            • 不允许多点登录时,是否将原用户剔下线.且能够给出提示信息
            • 允许多点登录时,提示信息;且确保数据库操作无误,每个端可以及时看到数据的更新
          • 用户登录持续时间太久,账号信息会过期--过期时间多久
            • 出现"虽然是登录状态,系统会提示用户没有登录
            • 强制退出,并提示:账号信息过期.请重新登录
        • 触屏及操作测试
          • 触屏快捷手势:两指、三指滑动
          • 长按、短按屏幕
          • 手机横屏、竖屏测试
          • 同时触摸不同的位置,同时进行不同操作--异常、闪退
          • 查看客户端的处理情况,是否会crash--崩溃、闪退、ANR(application not response)--无响应
          • 注意:需要跟开发和产品确认是否支持!
        • 消息推送测试
          • 开关设置
            • 默认状态全部打开状态,客户端可以接受到推送消息
            • 设置开关可以打开. 关闭; APP设置开关关闭时,客户端接收不到消息推送
          • 手机客户端未锁屏时:
            • APP应用后台运行.消息推送是否可正常接收,且可以点击查看
            • APP应用前台使用.可以收到消息提醒.且点击可查看
          • 手机客户端锁屏时:消息推送是否正常接收
          • 登录状态
            • 退出登录后 .是否接收push推送(根据需求来)
            • 未登录用户再去登录:批量接收多条消息推送
            • 当push消息是针对登录用户的时候 .需要检查收到的push与用户身份是否相符,没有错误地将其它人的消息推送过来
          • 消息栏(通知中心)是否可以接收到消息提醒,且点击可查看。点击后消息栏中消失
      • UI界面测试
        • 确保产品UI符合产品经理制定的原型图与ui设计效果图/切图一致
        • 依据经验、用户使用习惯、参考其他成熟的产品,界面可优化的bug
          • 一般涉及界面(如菜单、对话框、窗口和其他可视控件)布局、风格,文字是否正确,页面是否美观,操作是否友好。
            • 如:安装APP后的加载页/动态视频显示,分享页面的产品logo显示
        • 注意: UI界面测试和web思路基本一致
      • 兼容性(操作系统、屏幕尺寸、分辨率)
        • 在不同操作系统正常使用( Android和IOS) , 那么在这两个平台都要做兼容性测试;
        • 每个平台的不同系统版本
          • Android版本:6, 7.8以及各个小版本
          • IOS版本:9、10、11. 12. 13.及其各个小版本
        • 能否适配各种屏幕尺寸
          • Android系列: 4.5英寸。5.0英寸等( phone. pad )
          • IOS系列: 3.5英寸、4英寸、4.8英寸、5.5英寸 ( iPhone & iPad )
        • 分辨率适配:分辨率影响界面图标、文字大小,保证主流分辨率下页面显示完整,文字不被遮挡
        • 特定用户指定要求
        • 策略
          • 兼容性测试一般覆盖: android系统手机,选取市面上主流手机就行,例如:小米,华为, vivo、 oppo等; ios系统手机就是6s、6plus、 7、8plus ,X, xS , 11,11plus
          • 公司里有哪些测试手机,我就去测试哪些测试手机的兼容性测试界面测试
        • 了解:云测平台,免费50款机型;安装、打开app、monkey、关闭app、卸载
      • 安全性测试
      • 中断测试
        • APP被手机行为打扰的情况: APP能否正常处理,保证数据正确性
        • 主要对于核心功能存在实时数据交换的页面进行中断测试,除了确保中断过程中有合理处理:还需确保中断过后恢复正常
          • 来电、来短信、锁屏解锁、断网重连、断电、低电量、前后台切换、app切换
          • 手机端硬件上, 如:待机,插拔数据线、耳机、闹铃弹出框提示等操作
        • 常见bug场景
          • 爱奇艺视频播放过程中,微信通话/电话中断
            • 正常: app暂停状态;接听完电话之后,恢复直播正常
            • 异常: APP卡死。 音视频不同步
          • 微信视频聊天,低电量提醒不中断,电话中断
            • 正常:聊天不中断.关掉提示信息后.正常通讯。
            • 异常: APP卡死/廟溃。微信聊天披强行断开
      • 网络测试
        • 测试2G/3 G/4 G/5G/wifi/热点网络的切换
          • 例如从wifi环境切换到4G环境提示是否启用4G网络 ,会产生扣费,是否有提醒
        • 测试有网/无网切换下应用的运行
          • 有网到无网再到有网环境时,数据是否可以自动恢复,正常加载(网络中断重连)
          • 无网络时,各种提示信息是否友好,数据本地化是否正确(比如提示当前已断开网络,请检查网络设置)
        • 弱网测试(延时+丢包) ,关注弱网场景下超时是否有合理提示,且是否有重发机制--fiddler可以测
          • 提交数据是否一直处理提交中,是否会有延迟,数据交换失败是否会有提醒;
          • 数据多次提交(支付类app) ,是否只能被执行一次
          • 最大尝试次数, APP是否正常工作
        • 离线测试
          • 应用程序在本地客户端会缓存一部分数据以供程序 下次调用。对于一些程序.离线状态下可以浏览本地数据。
            • 对于离线(无网络)时,刷新获取新数据时,不能获取数据时能给出友好提示
            • 离线下,退出APP再开启APP时能正常浏览本地缓存数据
            • 离线下,切换到主屏幕再切回APP应用时可以正常浏览
            • 离线下,锁屏后再解锁回到应用前台可以正常浏览
          • 对于界面的数据不提供离线查看.需要给出相应提示且界面更新后无任何数据
      • 安全测试--权限测试
        • 扣费风险:包括发送短信、拨打电话、网络切换由WiFi转为自己流量,没有网络时能否提醒===友好提示
        • 隐私泄露风险:包括访问手机信息、访问联系人信息等
        • 是否允许访问相册、拍照开放权限 +不权限权限
        • 是否允许录音
        • 是否允许定位
        • 是否允许接收通知推送
          • 注意:默认情况下是开放的,需要提示用户选择!
        • 注意
          • 一般对于大多数非支付类App来说,安全并不是一个特别大的问题 ,只需要保证登录鉴权安全性即可。
          • 没有安全性测试要求。可以不用考虑( sq|注入,安全扫描等)
      • 性能测试
        • 服务器性能测试 ,例如: loadrunnerJmeter工具(免费) 
          • App各类功能性操作的响应时间(后台服务器的性能)
        • app客户端性能测试
          • App安装、 卸载的响应时间
          • CPU、内存、流量、电量的占用
            • 专门的性能测试小工具,例GT(腾讯). Instrunments , emmage(android)、还有OneApm
      • 关于APP测试的问题
        • 1. APP的测试资源准备? ---了解
          • ios设备、android设备 (选取市面上主流手机产品)
          • 支付宝/银联支付的项目,需要提前申请支付宝/银联账户等等
          • 有秒杀专题的题目,需要规划秒杀时间表;
          • 有优惠券使用的项目,需要添加优惠券数据;
        • 2. APP测试的稳定性? --了解
          • 了解什么是稳定性,这项工作一般是在软件产 品基本功能无缺陷后进行的一项测试工作。一般使软件系统满足持续运行模式,进行正常情况、临界情况的测试。看系统是否有异常。
          • 一般使用monkey工具,向系统发送随机事件流,如按键输入、触摸屏输入、手势输入等,实现对软件的稳定性测试。
        • 3、APP测试与web测试的区别? --- 理解记忆,面试概率比较高! ! !
          • 相同点
            • 同样的测试用例设计方法; --功能测试
            • 同样的测试方法;都会依据原型图或者效果图检查UI ; --界面UI测试
            • 测试页面载入和翻页的速度、登录时长,内存是否溢出等: - 性能和易用性
            • 测试应用系统的稳定性-稳定性(性能)
          • 不同点
            • app的中断测试:来电中断、短信中断、蓝牙、闹钟、插拔数据线、手机锁定、手机断电、手机问题(系统死机重启)
            • app的安装卸载升级:全新安装、升级安装、第三方工具安装/卸载、直接删除卸载
            • 消息推送测试、手机授权测试。前后台切换、网络环境( wifi/2G/3G/4G/5G/无网络)
            • 兼容性测试tweb项目考虑不同浏览器的兼容; app需要考虑手机不同操作系统、不同机型、不同屏幕等的兼容
      • 常见面试
        • web和app测试区别
        • android app和ios app测试区别----通过不同的系统会导致测试不一样
          • 1、Android系统开源, iOS不开源 ,安全性; -推送消息( Android绕过系统, IOS不行)
          • 2. Android版本特别多, IOS相对版本比较少; IOS不支持降级的
          • 3、APP审核机制:应用市场, IOS必须平Apple store---审核周期长
          • 4、操作习惯: Android-back , IOS home
          • 5、安装卸载:安装包( apk ) --系统点击安装,IOS ---经过苹果签名, 正式版本通过appstore下载, 测试版本官方iTunes--获取日志 ,testflight--测试版本
      •  
  • 相关阅读:
    java数组------数组基本使用和3中初始化方式
    java面向对象-------final关键字
    java面向对象------- 多态
    java面向对象------- 封装
    Android 音视频开发(五):使用 MediaExtractor 和 MediaMuxer API 解析和封装 mp4 文件
    Android 音视频开发(四):使用 Camera API 采集视频数据
    音频 PCM 数据的采集和播放
    http协议的学习
    Kotlin入门学习笔记
    RxJava笔记
  • 原文地址:https://www.cnblogs.com/BigTian/p/13731536.html
Copyright © 2020-2023  润新知