APP测试
课程目标
功能、性能测试
安装与卸载
软件更新升级
登录测试
离线测试
信息推送
UI界面测试
兼容性(操作系统、厂商、屏幕-尺寸-分辨率)
安全性测试
中断测试
网络测试
性能测试
功能测试
根据产品需求文档编写用例,执行测试
APP客户端的单个功能模块
需要使用等价类、边界值,考虑正常与异常情况
依据功能业务逻辑考虑 功能交互
注意
功能测试点提取和用例设计方法都跟web测试一致,
但是APP有一些自己特性测试,要额外加到测试点中。
1.1安装与卸载测试
软件安装中
安装过程中是否可以取消(干掉进程)
安装是否可以正常运行--兼容 不同手机型号
空间不足时是否相应提示
软件安装后
是否可以卸载应用:1)通过桌面卸载 2)通过软件设置卸载
场景bug:
发现在IOS手机上有个应用安装时未完全安装,终止安装后,未完成安装的应用图标一致显示在手机上,并且无法成功删除
卸载是否支持取消功能,单击取消后软件卸载功能是否正常。--杀掉进程操作下
安装完是否自动删除安装包
重复安装: 1)提示版本已存在 2)直接覆盖安装,提示(有数据-保留 /清除 ) 但是能正常使用
1.2APP升级测试
非强制性升级版--支付宝
当客户端有新版时,是否有更新提示
用户可以取消更新,老版本能正常使用,用户在下次启动app时,仍能出现更新提示;另外新版本独有的功能,老版本确认不能使用
立即更新之后,正常升级,确认版本号最新;升级之后,新版本正常使用
强制升级版 --王者/吃鸡、QQ/微信
用户更新中,退出客户端,下次启动app时,仍出现强制升级。
强制升级完毕后,确认版本号最新;新版本正常使用
在线跨版本升级
升级后正常使用
选择的版本--通过运营数据,用户使用量最多的版本
没有运营数据,选择最近的版本6个左右
问题:新更新版本的测试范围有哪些?
v1.0 --> v2.0:新需求(新功能+优化功能+修复bug)重点详细测试+v1.0老功能基本验证
1.3APP登录测试
登录方式
用户名、短信验证码、指纹、二维码、手势、语音、头像识别,第三方登录(微信、QQ,微博)-- 需求有无实现
未登录用户
一些页面的操作,是否做了控制,点击某些资源,提示登录或者登录页面 --电商-->权限控制、抖音
用户主动退出登录后,下次启动APP时,应该进入登录界面 --QQ/微信/王者
切换账户登录
检验登录的信息是否做到及时更新
当个端登录
不允许多个端登录时,是否将原用户踢下线,且能够给出提示信息 QQ/微信
运行多个端登录,确保数据操作同步无误,每个端可以及时看到数据的更新 爱奇艺
用户登录持续时间太久,账户信息会过期--正常处理
出现:"虽然是登录状态,系统会提示用户没有登录"
强制退出,提示:账户信息过期,请重新登录 或 跳转登录页面
1.4离线测试
APP在本地客户端会缓存一部分数据以提供下次调用,对于一些程序,离线状态下可以浏览本地数据。 --微信/QQ
对于离线(无网络)时,刷新获取新数据/获取比较早的历史数据时,不能获取数据时能给出友好提示
离线下,退出APP再开启APP时能正常浏览本地缓存数据--看情况
离线下,切换到主屏幕再切回APP应用时可以正常浏览
离线下,锁屏后再解锁回到应用前台可以正常浏览
对于界面的数据不提供离线查看,需要给出相应提示且界面更新后无任何数据 -- 爱奇艺/腾讯视频
1.5APP推送测试 --微信/QQ
开关设置-安装软件,弹窗与信息推送授权,允许
开/关:所有信息推送场景(需要依据软件产品功能,确认那些操作会有信息推送,有信息推送的操作 ,要全部测试)都要测试,接受到信息提醒/接受不到信息提醒 -- 推送信息触发动作
手机客户端为锁屏时:
APP应用后台运行,信息推送是否可以正常接受且显示顶部,可以点击查看
APP应用前台使用,可以收到信息提醒,且点击可查看
下拉框信息栏(通知中心)是否可以接受信息提醒,且点击可查看。点击后信息栏中消失
手机客户端锁屏时:信息推送是否正常接受 --高亮显示信息/语音提醒,屏幕上呈现列表;点击其中一条,解锁屏幕,跳转对应APP
登录状态:
当push信息是针对登录用户时,需检查收到push与用户身份是否相符,没有错误地将其他人的信息推送过来
未登录状态
退出登录后,是否接受push推送(根据需求)
未登录用户再去登录:批量接受多条信息 -- 软件不会崩溃
1.6手机其他操作
翻页:数据较多时是否做了分页加载处理 --往上滑 微信朋友圈-动态
遇到翻页加载的页面,需要主要内容为 1页 或 多页的情况。数据分页加载时,主要后续页面请求数据的正确。这个需要主要在快速操作场景中,请求页数是不是依次递增,快速操作。--是否产生崩溃/闪退
刷新与返回:
刷新页面或者加载 新内容时页面是否有抖动;用户主动点击刷新按钮(往下拉)是否仍然处于当前页面;点击返回与back键,回退页面是否期望页面(上一级页面)
手机操作:
弹窗出现/关闭手机 关注交互是否友好;比如弹出层的点击,是否穿透影响下页面。手机锁屏之后展示页面;退到后台,再重新呼出在前台展示。
反复访问(考虑用户常见场景操作),检查是否占用大量内存
资源请求:--开发实现,了解
关注页面中有图片的话,尽量缩小图片;资源是否压缩
对于一些不会改变的图片,不需要每次都请求的内容,做本地缓存。
UI界面测试
UI界面测试
确保产品UI符合产品经理制定的原型图与 ui设计效果图/切图 一致
依据经验、用户使用习惯、参考其他成熟产品,界面可优化的bug
一般涉及界面(如:菜单、对话框、窗口和其他可视化控件)布局、风格、文字是否正确,页面是否美观,操作是否友好
如:安装APP后后的加载页/引导页/动态视频显示,分享页面的 产品logo显示
注册:UI界面测试盒web思路基本一致
兼容性测试
兼容性测试 – 手机适配测试
应用是否可以在不同操作系统正常使用(Android和IOS),那么在这个平台都要做兼容性测试;每个平台的不同系统版本
Android版本:7、8、9、10、11以及各个小版本。鸿蒙系统
IOS版本 :10、11、12、13、14 以及各个小版本
不同厂商--主流产商机型
能否适配各种屏幕尺寸
Android系列:5.5英寸、6.5英寸、6.9英寸等
IOS系列 :5.0~6.5英寸、6.9英寸等
分辨率适配:
分辨率影响界面图标、文字大小、保证主力分辨率下页面显示网站,文字不被遮挡
总结:
兼容性测试一遍覆盖:
Android系统手机,选取市面主流手机即可,如:华为、小米、vivo、OPPO等
IOS系列就 主流机型:IPhone12、6plus、7、8plus,x,xs,11,11,11plus
市场占有率最高: https://index.iresearch.com.cn/new/#/device?osTvpe=1
公司有哪些测试手机,我就去测试那些测试手机的兼容性测试,界面测试;没有覆盖的手机性在测试报告中体现;其他机型基本兼容性测试的补充--借助云测平台
了解:
借助云测平台辅助测试 -- 简单兼容性测试--免费--50款机型:
安装、打开、monkey随机、关闭、卸载
网络测试-兼容的一种;核心功能重点关注
测试4G/5G/wifi网络切换--基本功能验证
例如:从WiFi环境切换到4G环境提示是否启动4G网络,会产生扣费 是否有提示 --腾讯视频,设计流量
弱网测试(延时+掉包)
关注弱点网场景下超时是否有合理提示,且是否有重发机制(自动/手动)
如果模拟弱网:
人为-离WiFi远点/电梯/地下库;工具:fiddler/Charles/Qnet-停用
提交数据是否一致处理提交中,是否有延迟(3分钟),数据交换是否有提醒
数据多次提交(支付类app),是否只能被执行一次;当服务器处理状态未及时返回给客户,不允许重复提交
测试有网/无网切换下应用的运行 -- 中断
断网重连(有网到无网环境)时,数据是否可以自动恢复,正常加载(网络中断重连)
无网络时,各种提示信息是否友好,数据本地化是否正确(如:提示当前已断开网络,请检查网络设置)
APP中断测试
APP本数据行为打扰的情况:APP能否正常处理,保证数据准确性
主要对于核心功能存在实时数据交换的页面去进行中断测试,除了确保中断过程有合理的处理;还需确保中断过后,恢复正常
来电、来短信、锁屏解锁、断网重连、断电、低电量、前后台切换、app切换(app用户常见情况)
手机端硬件上:如:待机、插拔数据线、耳机、闹铃弹出提示等操作
常见场景
爱奇艺视频播放过程中/直播类软件,微信通话/电话中断
正常:app暂停状态;接听完电话之后,恢复直播正常
异常:app卡死,音视频不同步
微信视频聊天,低电量 提醒中断:电话中断?
正常:聊天不中断,关掉提示信息后,正常通讯
异常:app卡死/崩溃,微信聊天被强行断开
安全性测试–
非专业安全性测试,权限测试,包含功能
扣费风险:包括发送短信、拨打电话、连接网络,没有网络时是否能提醒
隐私泄露风险:包括访问手机短信、访问联系人信息等
是否运行访问相册、拍照
是否运行录音
是否运行定位
是否运行接受通知推送
注意:
默认情况下开发的,需提示用户选择!开权限+不开权限
一般对大多数非支付类app来说,安全性不是一个特别大的问题,只需保证登录鉴权、访问权限的安全性、敏感数据加密即可
没有安全性测试要求,可以不用考虑(SQL注入)安全扫描等
性能测试–app端测试比较少
服务器性能测试(如:loadrunner-商业用途/Jmeter(免费) )
APP各类功能性操作的响应时间(后台服务器的性能)
APP客户端性能测试 -- 专项录播视频-工具/命令
APP安装、卸载、打开,操作中响应的时间
CPU、内存、流量、电量的占用 监控
专门的性能测试工具:
如:PerfDog(30分组体验时间)、GT(腾讯)、SoloPip
1)行业标准 2)历史版本 3)如果没有竞品对比
压力稳定性测试(monkey)--
APP反复进行安装与卸载
其他功能反复进行操作
Monky参考博客:
https://www.cnblogs.com/tudou-22/tag/monkey/
一些关于APP测试问题
1、APP的测试资源准备? 了解
ios设备、Android设备(选择市面主流手机产品)
支付宝/银联支付的项目,需提前申请支付宝/银联账户等
有秒杀专题的题目,需要规划秒杀时间表
有优惠券的使用项目,需添加优惠卷数据
2、APP测试的稳定性? 了解
了解什么是稳定性,这项工作一般是在软件产品基本功能无缺陷后进行的一项测试工作。一般使软件系统满足持续运行模式,进行正常情况、临界情况的测试,看系统是否有异常。
一般使用monkey工具,向系统发送随机事件流,如按键输入、触摸屏输入、手势输入等,实现对软件的稳定性测试
3、APP测试与web测试的区别? --理解记忆,面试概率高
相同点:
同样的测试用例设计方法;功能测试
同样的测试方法;都会依据原型图或效果图检查UI;界面UI测试
测试页面载入和翻页的速度、登录时长、内存是否溢出等;--性能和易用性
不同点:
app的中断测试:来电中断,短信中断,蓝牙,闹钟,插拔数据线、数据锁定、手机断电、手机问题(系统死机重启)
app的安装卸载升级:权限安装、升级安装、第三方工具安装/卸载、直接删除卸载
信息推送测试、手机授权测试、前后台切换、网络环境(WiFi/2G/3G/4G/5G/无网络 )
兼容性测试:web项目考虑不同浏览器的兼容;app需考虑手机不同操作系统、不同机型、不同屏幕等兼容
4、app云测平台:wetest、 testin云测等众测 ? ---兼职平台
testin云测: http://testingpai.com/article/1630398013711
不强制作业:免费兼容性测试,得出这个测试报告
tesin云测,免费50款机型;安装、打开app、monkey、关闭app、卸载 --30分钟测试报告
常见面试题
1、web测试 和 app测试的区别? 高频
2、Android 和 IOS 应用测试的区别? 题库