功能测试
主要思路
根据需求编写测试用例,执行测试。单个功能(等价类、边界值、正常和异常)和交互功能。注意:功能测试点提取和用例设计方法都跟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 )
市场占有率最高 : https://tongji.baidu.com/research/app?source =index
分辨率适配:分辨率影响界面图标、文字大小,保证主流分辨率下页面显示完整,文字不被遮挡
特定用户指定要求
策略
兼容性测试一般覆盖: 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
压力稳定性测试(monkey) : 100000次操作 点击滑动按键(专项录播视频)
App反复进行安装卸载
其他功能反复进行操作
参考博客: https://www.cnblogs.com/tudou-22/p/9213748.html
关于APP测试的问题
1. APP的测试资源准备? ---了解
ios设备、android设备 (选取市面上主流手机产品)
支付宝/银联支付的项目,需要提前申请支付宝/银联账户等等
有秒杀专题的题目,需要规划秒杀时间表;
有优惠券使用的项目,需要添加优惠券数据;
2. APP测试的稳定性? --了解
了解什么是稳定性,这项工作一般是在软件产 品基本功能无缺陷后进行的一项测试工作。一般使软件系统满足持续运行模式,进行正常情况、临界情况的测试。看系统是否有异常。
一般使用monkey工具,向系统发送随机事件流,如按键输入、触摸屏输入、手势输入等,实现对软件的稳定性测试。
3、APP测试与web测试的区别? --- 理解记忆,面试概率比较高! ! !
相同点
同样的测试用例设计方法; --功能测试
同样的测试方法;都会依据原型图或者效果图检查UI ; --界面UI测试
测试页面载入和翻页的速度、登录时长,内存是否溢出等: - 性能和易用性
测试应用系统的稳定性-稳定性(性能)
不同点
app的中断测试:来电中断、短信中断、蓝牙、闹钟、插拔数据线、手机锁定、手机断电、手机问题(系统死机重启)
app的安装卸载升级:全新安装、升级安装、第三方工具安装/卸载、直接删除卸载
消息推送测试、手机授权测试。前后台切换、网络环境( wifi/2G/3G/4G/5G/无网络)
兼容性测试tweb项目考虑不同浏览器的兼容; app需要考虑手机不同操作系统、不同机型、不同屏幕等的兼容
4、app云测试平台:百度云测、testin云测等
http://www.open-open.com/ib/view/open1463526042631.html
testin云测。免费50款机型;安装、打开app、monkey, 关闭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--测试版本