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