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