功能性测试:
分类: 安装与卸载测试点分析、软件更新升级测试点分析、登录测试、离线测试
定义: 1、根据产品需求文档编写测试用例来进行测试
2、包括客户端的单个模块,以及功能业务逻辑(功能交互)
1、安装与卸载测试点分析:
--安装与卸载测试点分析:软件安装后能否正常运行(致命型)
--安装过程中是否可以取消
--安装空间不足时是否有相应提示
--是否可以卸载应用
--卸载是否支持取消功能,单击取消后软件卸载功能是否正常
--卸载后文件是否全部删除所有的安装文件夹(安装包等)
2、软件更新升级测试点分析:
--当客户端有新版本时,是否有更新提示
--当版本为非强制升级版时,用户可以取消更新,老版本能正常使用,用户下次启动APP 时,仍能出现更新提示
--当版本为强制升级版时,当给出强制更新后用户没有做更新时,退出客户端,下次启动APP时仍出现强制升级提示
--检查更新后各个功能是否能正常使用
3、登录测试
--登录用户名和密码错误时,界面有提示信息
--用户主动退出登录后,下次启动APP,应该进入登录界面
--密码更改后,登录时是否做到了有效数据的校验
--对于未登录状态时,一些页面操作,是否做了控制(eg:不登录qq不能聊天)
--切换账号登录,检验登录信息是否做到及时更新
--对于多个端进行操作时,确保数据库操作无误,且每个端可以及时看到数据更新(比如qq手机电脑同时登录)
--一个账号只允许登录一台机器的软件,需要账号登录多个手机时,是否将原用户踢下线,且能够给出提示信息。
--用户登录状态太久,sessionid(回话标识)会过期,会出现“”虽然登录状态,系统会提示用户没有登录
4、离线测试 (是指在有网的情况下断了网,突然断网进行测试)
--是应用程序在本地客户端会缓存一部分数据以供程序下次调用,对于一些程序,离线状态下可以浏览本地数据(理解:视频观看APP,在线观看会提前缓存一部分,突然断网,之前缓存好的可以正常观看的)
--对于离线时,刷新获取新数据时,不能获取数据会给出友好提示
--对于界面的数据不提供离线查看,需要给出相应提示且页面更新后无任何数据(没忘网了,刷新后页面上就没有之前的数据了)
--离线下,退出APP再开启APP时可以正常浏览
--离线下,退出APP再开启APP应用时可以正常浏览
--离线下,锁屏后再解锁回到应用前台可以正常浏览
--离线下,服务端数据更新时有提示(依据具体产品需求来)
UI界面测试:
确保产品UI设计符合产品经理制定的原型图与效果图;交互方面的问题建议,可以与产品经理确认, 确认通过后让开发实施和优化。一般涉及界面布局、风格、文字是否正确,页面是否美观,操作是否友好。(eg:安装app后加载页面显示,分享页面的产品logo显示)
安全性测试:
扣费风险:包括发短信、打电话、连接网络时你让那个否提醒(eg:网络环境较差的时候,用户在支付界面多次确认操作必须只能执行一次)
隐私泄露风险:包括访问手机信息、访问联系人信息等
是否允许访问相册、拍照
是否允许录音
是否允许定位
是否允许接受通知推送
兼容性(操作系统、屏幕尺寸、分辨率):
应用是否可以在不同操作系统正常使用(Android和IOS)
是否适配各种屏幕尺寸
分辨率适配
注意:我们一般选取:小米、华为、魅族、oppo、以及苹果5、6、7等主流产品进行测试,具体根据用户需求选择。
消息推送:
默认开关应该是全打开状态
设置开关可以自由打开关闭,设置开关关闭时,客户端接收不到信息推送。
未锁屏时,应用后台运行,消息推送是否可正常接受。
未锁屏时,APP客户端使用过程中,可以接受消息提醒,且点击可查看。
锁屏时,手机消息栏是否可以接受到消息提醒,且点击可查看。点击后消息栏消失。
当推送消息是针对登录用户的时候,需要检查收到的push与用户身份是否相符,没有错误地将其他人的消息推送过来。
当push消息是否能有针对性推送,如相应内容推送给相应用户
退出登陆后,是否接受push推送(根据需求来)
前台后台切换
APP换到后台,再回到app,检查是否停留在上一次操作界面;检查功能及应用转台是否正常;程序是否崩溃,功能状态是否正常,尤其对于从后台切换回前台数据有自动更新的时候。
手机锁屏解屛进入APP注意是否崩溃,功能状态是否正常。
当APP使用过程中有电话进来中断后再切换app,功能是否正常。
当关闭app进程后,再开启app,app能否正常启动。
对于有数据交互的页面,每个页面都必须要进行前后台切换、锁屏测试,这种页面最容易出现崩溃
网络环境
测试2G、3G、4G、wifi以及有网/无网/弱网情况下应用的运行
网络不好时,提交数据是否一直处理提交中,是否会有延迟,数据交换失败是否会有提醒
有网 -无网-有网环境时,数据是否可以自动恢复,正常加载。
无网络时,各种提示信息是否友好,数据本地化是否正确(比如提示当前已断开网络,请检查网络设置;还有从wifi环境切换到4G环境提示是否启用4G网络,会产生扣费)
异常中断
交互异常测试: 客户端作为手机特性测试,包括被打扰的情况;如来电、来短信、低电量测试等,还要注意手机端硬件上,如待机,插拔数据线、二级等操作不会影响客户端
异常性测试: 主要包含了断网、断电等情况下,客户端能否正常处理,保证数据正确性
性能测试:
测试点: 安装和启动时间
CPU的占用
内存占用
流量的耗用
电量的耗用
后端测试APP中各类操作是否满足用户响应时间要求,主要测试点在网速方面,2g、3g、4g一定要覆盖到,考利到网络并发问题。
测试小工具:GT、OneApm等
一些关于APP测试的问题
1、APP测试资源准备?
IOS设备、android设备(选取市面上主流产品)
支付宝银联项目,需要提前申请支付宝/银联账户等等
有秒杀专题的,需要规划秒杀时间表(计时统计)
有优惠券使用项目,需要提前添加优惠券数据(计算)
2、APP测试的稳定性
在软件产品的基本功能无缺陷后需进行稳定性测试,一般使软件系统满足持续运行模式,进行边界情况的测试,看系统是否有异常。
一般使用monkey工具,向系统发送随机事件流,如:按键输入、触屏输入等,实现对软件稳定性测试。
3、APP测试与web测试的区别?
相同点:1、同样的测试用例设计方法
2、同样的测试方法,都会依据原型图或者效果图检查UI
3、测试页面载入和翻页速度、登录时长、内存是否溢出等
4、测试应用系统的稳定性
不同点: 1、app的中断测试:来电中断、短信中断、蓝牙、闹钟、插拔数据线、手机锁定、手机断电、手机系统死机重启。
2、app的安装卸载:全新安装、升级安装、第三方工具安装、第三方工具卸载、直接删除卸载
3、消息推送测试:手机授权测试、前后台切换、网络环境
4、 兼容性测试:web项目考虑的是不同浏览器的兼容,app需要考虑手机不同操作系统、不同机型、不同屏幕等。
5、web自动化测试工具较常使用QTP,而手机自动化monkey、monkeyrunner。