功能性
安装与卸载
软件更新升级
登录测试
离线测试
UI界面
安全性测试
兼容性(操作系统、屏幕尺寸、分辨率)
消息推送
前台后台切换
网络环境(wifi/2G/3G/4G/无网络)
异常中断
性能测试
二、功能性测试
根据==产品需求文档==编写==测试用例==,进行测试
功能性 包括:
客户端的==单个==功能模块
功能业务逻辑(==功能交互==)
(如:涉及输入的地方需要考虑等价类、边界值、异常或非 法等)
安装与卸载测试
软件==安装后==可以==正常运行==
安装==过程中====可以取消==
安装==空间不足==时有相应提醒
可以==卸载==应用(桌面卸载、通过软件卸载安装)
==卸载支持取消==功能,单击取消后还能继续卸载
卸载后文件==全部删除所有的安装文件夹==
软件升级测试
当客户端==有新版本==时,有==更新提示==
当版本为==非强制升级版==时,用户==可以取消更新==,老版本能正常使用,用户在下次启动app时,仍能出现更新提示
当版本为==强制升级版==时,当给出强制更新后用户==没点击更新时,退出客户端==。下次启动app时,仍出现强制升级提示
检查==更新后==各个==功能==能正常使用
登录测试
==登录==用户名和密码==错误==时,界面有==提示信息==
用户==主动退出登录==后,下次启动APP时,应该==进入登录界面==
==密码更改==后,登录时做到了有效==数据的校验==
对于==未登录状态==时,一些==页面的操作==,做了==限制控制==
==切换账号==登录,==校验==登录的信息做到==及时更新==
对于多个端(web、iOS、Android等)进行操作时,==确保数据库操作无误==,且每个端可以==及时看到数据的更新==
一个账号==只允许登录一台==机器的软件,需要账号登录多个手机时,将原用户==踢下线==,且给出==提示==信息
用户==登录状态太久==,sessionId会==过期==,会出现“虽然是登录状态,系统会提示用户没有登录”
离线测试
离线下,应用程序在本地客户端会==缓存==一部分数据以供程序下次调用,对于一些程序,==离线状态下可以浏览==本地数据(视频缓存)
离线下,刷新获取新数据时,==不能获取数据==时给出提示
离线下,界面的数据==不提供离线查看==时,给出提示、界面更新后无数据展示
离线下,==退出APP再开启APP==时 能正常浏览
离线下,==切换到后台再切回APP==时 能正常浏览
离线下,==锁屏后再解锁==回到应用前台 能正常浏览
离线下,服务端的数据有更新时有提示(依据具体产品需求来)(特殊需求,离线时也能收到提示)
三、UI测试(细微)
确保产品UI==符合==产品经理制定的==原型图与效果图==。(交互方面的问题建议,可以先与产品经理确认,确认通过后,才开始让开发实施更改或优化)
一般涉及界面布局、风格、文字是否正确,页面是否美观,操作是否友好
(如:安装APP后的加载页显示,分享页面的产品logo展示)
四、兼容性测试
应用可以在==不同操作系统==正常使用(iOS、Android)
适配各种==屏幕尺寸==(iOS:3.5、5、4.8、5.5;Android:4.x,5.x)
==分辨率==适配(分辨率不同,界面图标、文字大小会不同)
借助云测试平台
五、安全性测试
扣费风险(短信、打电话、连接网络。如:网络很差时,用户在支付界面的多次确认操作只能被执行一次)
隐私泄露风险(访问手机信息、访问联系人信息等)
是否允许访问相册、拍照
是否允许录音
是否允许定位
是否允许接受通知推送
非支付APP只需要保证登录安全
六、消息推送测试
==默认开关==应该是==全打开==状态
设置开关可以自由打开关闭,设置开关==关闭==时,客户端==接收不到==消息推送
未锁屏时,应用==后台运行==,消息推送能正常接收
未锁屏时,APP客户端==使用过程中==,可以接收消息提醒,且点击可查看
锁屏时,手机消息栏是否==可以接收到==消息提醒,且点击==可查看==,点击后消息栏中消失
当push消息是==针对登录用户==的时候,需要检查收到的push与用户身份是否相符,没有错误的将其他人的消息推送过来
push推送消息能==有针对性的推送==(如:相应内容推送给相应用户)
==退出登录==后,根据需求,是否接收push推送
七、前后台切换
APP切换到后台,再回到APP,检查==是否停留在上一次操作界面==;检查==功能及应用状态是否正常==;程序是否==崩溃==,功能状态是否正常,尤其是对于后台切回到前台==数据有自动更新==的时候
手机==锁屏解屏后进入APP==注意是否会崩溃,功能状态是否正常
当APP使用过程中==有电话进来中断后再切换到APP==,功能状态是否正常
当==关闭==APP进程后,==再打开==APP,能够正常开启
对于==有数据交换的==页面(如:填写注册页面,切换到后台,去通讯录复制号码,切换回注册页面,在登录页填写的信息还存在或不存在),每个页面都必须要进行==前后切换、锁屏==的测试,这种页面最容易崩溃
八、网络环境测试
测试2G、3G、4G、wifi(ipv4、ipv6),==有网/无网/弱网(2G/3G)==情况下应用的运行
==网络不好时==,提交数据是否一直处理提交中,是否会有延迟,数据交换==失败会有提醒==
有网到无网再到有网环境时,==数据可以自动恢复,正常加载(根据需求,视频下载)==
无网络时,各种提示信息是否友好,数据本地化是否正确(如:提示当前已断开网络,请==检查网络设置==。从==wifi切换到4G==提示是否启用4G,会产生扣费)
九、异常中断测试
交互异常性测试:客户端作为手机特性测试,被打扰的情况(如==来电、来短信、低电量测试==等。硬件上:==待机插拔数据线、耳机==等操作不会影响客户端)
异常性测试:==断网,断电==等情况下,客户端能否正常处理,保证数据正确性
十、性能测试
==安装和启动时间==
==CPU==的占用
==内存==的占用
==流量==的消耗
==电量==的消耗
测试APP中的各类操作是否满足==用户响应时间要求==,测试点在==网速方面==。考虑wifi与4G同时开启时的网络问题,计算方法
专门的性能测试小工具:GT、instruments、OneApm
十一、一些关于app测试的问题
1.APP的测试资源准备
iOS设备,Android设备(选取市面上主流手机产品)
支付宝/银联支付的项目,需要提前申请支付宝/银联账号等
有秒杀专题的题目,需要规划秒杀时间表
有优惠卷使用的项目,需要添加优惠卷数据
2.APP测试的稳定性
了解什么是稳定性,这项工作一般是在软件产品==基本功能无缺陷后==进行的一项测试工作。一般使软件系统满足==持续运行模式==,进行==临界情况的测试==,看系统是否有异常
(压力测试)一般使用monkey工具,向系统发送==随机事件流==,如按键输入、触屏输入、手势输入等,实现对软件的稳定性测试
3.APP测试与web测试的区别
相同点:
同样的==测试用例设计方法==
同样的测试方法(都会依据原型图或者效果图==检查UI==)
测试页面==载入和翻页的速度==,==登录时长==,==内存是否溢出==(内存空间不够,系统卡顿)等
测试应用系统的稳定性
不同点:
APP的中断测试:==来电中断、短信中断、蓝牙、闹钟、插拔数据线、手机锁定、手机断电==、手机问题(==系统死机重启==)
APP的安装卸载:全新安装、升级安装、第三方工具安装、第三方工具卸载、直接删除卸载
消息推送测试、手机==授权==测试(第三方登录)、前后台切换、网络环境(wifi/2G/3G/4G/无网络)
兼容性测试:web项目考虑不同浏览器的兼容;APP需要考虑手机不同操作系统、不同机型、不同屏幕等
web自动化测试工具较常用==QTP==,而手机自动化==monkey,monkeyrunner==
4.APP测试平台
==百度云测==(试用期,后期付费)
==Testin云测==
C/S:Client/Server(微信)
B/S:Browser/Server(网页)
作者:chayc
链接:http://www.jianshu.com/p/edb5183a7027
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。