1、功能性测试
根据产品需求文档编写测试用例而进行测试,包括客户端的单个功能模块以及功能业务逻辑(功能交互)如:涉及输入的地方需要考虑等价类,边界值,异常或非法等
1.1 安装与卸载测试
>软件安装后是否可以正常运行
>安装过程中是否可以取消
>安装空间不足时是否有相应提示
>是否可以卸载应用(可通过桌面卸载,也可以通过软件卸载安装)
>卸载是否支持取消功能,单击取消后软件卸载功能是否正常===不可逆
>卸载后文件是否全部删除所有的安装文件夹
>安装到本地还是SD卡,有选择可以提供
>安装完自动删除安装包
>从不同的应用市场下载进行安装?---安卓端
>重复安装
1.2 软件升级测试
>当客户端有新版本时,是否有更新提示
>当版本为非强制升级时,用户可以取消更新,老版本能正常使用,用户在下次启动app时仍能出现更新提示
>当版本为强制升级时,当给出强制更新后用户没有做更新时,退出客户端,下次启动app时仍能出现强制升级提示(没有取消按钮)
>检查更新后各个功能是否正常使用
>在线跨版本升级后是否正常使用
---问题:版本升级测试是全部测试还是部分测试?
>关于新版本的更新内容:1.新功能 2.修复bug、优化模块 先测试更新的内容,再在发布之前走一下基本功能
1.3 登录测试
>1)账号密码登录 2)第三方登录 3)指纹登录 4)手势密码登录 5)快捷登录 6)声音识别登录 7)刷脸 8)二维码
>用户主动退出登录后,下次启动APP时,应该进入登录界面 QQ、微信、天猫、外卖
>对于登录状态时,一些页面的操作是否做了控制
>切换账号登录时,检验登录的信息是否做到及时更新
>对于多个端(web、ios、android等)进行操作时,确保数据库操作无误,且每个端可以及时看到数据更新
>一个账号只允许登录一台机器的软件,需要账号登录多个手机时,是否将原用户踢下线,且能够给出提示信息
>用户登录状态太久,sessionid 会过期,会出现“虽然是登录状态,系统会提示用户没有登录”
1.4 离线测试
>是应用程序在本地客户端会缓存一部分数据以供程序下次调用,对于一些程序,离线状态下可以浏览本地数据
>对于离线(无网络时),刷新获取新数据时,不能获取数据时能给出友好提示
>对于界面的数据不提供离线查看,需要给出相应提示且界面更新后无任何数据
>离线下,退出APP再启动APP时能正常浏览
>离线下,切换到后台再切回APP应用时可以正常浏览
>离线下,锁屏后再解锁回到应用前台可以正常浏览
>离线后上线,断点发送/传送/记录 (手动/自动断点续传:网盘/直播视频APP)
1.5 消息推送测试
>默认开关应该是全打开状态(设置)
>设置而已自由打开关闭,设置开关关闭时,客户端接收不到消息推送
>未锁屏时,应用后台运行,消息推送是否可以正常接收
>未锁屏时,APP客户端使用过程中,可以收到消息提醒,且点击可以查看
>锁屏时,推送消息是否支持接收?且点击可查看
>手机消息栏是否可以接收到消息提醒,且点击可查看,点击后消息栏中消失
>当push消息是针对用户登录的时候,需要检查收到的push与用户身份是否相符,没有错误的将其他人的消息推送过来
>push 推送消息是否能有针对性的推送,如相应内容推送给相应应付(精确推送)
>退出登录后,是否接受push推送(根据需求来)
2 UI测试
>确保产品UI符合产品经理制定的原型图与UI设计效果图、切图
>一般涉及界面(如菜单对话框、窗口和其他可视控件)布局,风格,文字是否正确,页面是否美观,操作是否友好,如:安装APP后的加载页显示,分享页面的产品logo显示
>应用是否可以在不同操作系统正常使用,如果开发有Android 和IOS 两个平台的软件,那么在这两个平台都要做兼容性测试,如:Android 版本有 5.1 6.。。8 IOS 有7.1.2/8.3/9.1/10/11 等
>能否适配各种屏幕尺寸
Android 系列:4x 5.x 市场占有率最高
IOS 系列: 3.5英寸 4英寸 4.8 英寸 5.5 英寸
>分辨率适配
分辨率不同,界面图标,文字大小会不同,保证主流分辨率下图标展示完整,文字不被遮挡
>一般测试兼容性项Android 系统手机,选取市面上主流手机,如:小米,华为,vivo,OPPO等 ios 系统手机就是5,6,6s,6plus,7
>扣费风险:包括发送短信、拨打电话、连接网络、没有网络时能否提醒,例如:当网络状况很差的时候,用户在支付界面的多次确认操作必须只能被执行一次
>隐私泄露风险:包括访问手机信息、访问联系人信息等
>是否运行访问相册,拍照
>是否允许定位
>是否允许接收通知推送
>一般对于大多数非支付APP来说,安全并不是一个特别大的问题,只需要保证登录鉴权的安全性即可
>交互异常性测试:客户端作为手机特性测试,包括被打扰的情况,如来电、来短信、低电量测试等,还要注意手机硬件上,如 待机、插拔数据线、耳机等操作不会影响客户端
>异常性测试:主要包含了断网、断电等情况下,客户端能否正常处理,保证数据正确性
>对于有(主功能) 实时数据交换的页面,每个页面都必须要进行前后台切换,锁屏解锁,网络切换,APP关闭开启,电话切换,断电切换等中断测试,这种页面最容易出现崩溃
>语音通话,发送语音,音乐视频,冲突,暂停
一些关于APP 测试的问题
ios 设备,Android设备(选取市面上主流手机产品)
支付宝、银联支付的项目,需要提前申请支付宝,银联账户等
有秒杀专题的题目,需要规划秒杀时间表
有优惠券使用的项目,需要添加优惠券数据
了解什么是稳定性,这项工作一般是在软件产品基本功能无缺陷后进行的一项测试工作,一般是软件系统满足持续运行模式(7x24),进行正常情况,临界情况的测试,看系统是否有异常(闪退、卡死)
一般使用monkey工具,向系统发送随机事件流,如按键输入,触摸屏输入,手势输入等,实现对软件的稳定性测试
相同点:
同样的测试用例设计方法
同样的测试方法,都会依据原型图或者效果图检查UI
测试页面载入和翻页的速度,登录时长,内存是否溢出等
测试应用系统的稳定性
不同点:
APP 的中断测试:来电中断,短信中断,蓝牙,闹钟,插拔数据线,手机锁定,手机断点,手机问题(系统死机重启)
APP的安装卸载:全新安装,升级安装,第三方工具安装,第三方工具卸载,直接删除卸载
消息推送测试,手机授权测试,前后台切换,网络环境(WiFi,2G/3G/4G/无网络)
兼容性测试:web项目考虑不同浏览器的兼容,APP 需要考虑不同操作系统,不同机型,不同屏幕等
web 性能测试===>服务器性能 APP===>服务器性能 ,APP 本身性能监控(流量、CPU、内存、耗电情况)
web自动化测试工具较常用QTP,而手机自动化monkey