APP异常测试思路汇总
- 异常测试:包括业务流程的异常情况;业务场景的异常;操作习惯的异常。
- 网络测试:
——网络切换的过程中,APP会不会异常;
——断网情况(如WiFi断开,2G/3G/4G/5G网断开(拔卡,设飞行模式),vpn中断,代理中断)进行一些操作,APP会不会崩溃;
——有网时进行了一些操作,断开网络,再进行一些操作,再联网,看看会不会出问题;
——各种切换过程的提示文案是否清晰明了
- 权限的测试:位置、通讯录、相机、相册、照片、语音等权限,在实际要用的时候才会弹出提示。用户点击拒绝or开启 后,触发此提示的功能是否还能正常续运行。若无系统权限时是否引起APP的崩溃;注意验证按住说话功能,要考虑到结束后,手指移动的方向,可能会导致说话toast图标卡到页面上。
- 内存:测试在同时开启很多应用的情况,操作被测APP,是否会出现异常;在使用被测APP进行某些业务流程,进行到中间的某一步,切换到某个很占内存的应用(常见占内存的app有微信、王者荣耀、淘宝、QQ)操作一下,再切换回去,看看被测APP是否正常,之前操作的数据是否丢失。
- 实体键中断——-主要包括back,home,munu ,其中,home键有两种情况不能忽略喔~ home出去马上唤醒时应用是否正常;home出去,开多个应用比如5个以上,再唤醒时应用是否正常。
- 进程中断——-如来电,闹铃,安全扫描启动等等
- 设置中断——-改变软件本身的设置
- 消息中断——-如低电量,来短信,系统相关的消息设置(如低电量,消息推送)
- 时间过期——-修改设备的系统时间
- 存储空间:测试在测试机存储空间不足的情况下,能不能安装上被测APP;装上APP后,空间不足,再使用APP,APP是否正常,本地缓存、图片文件的上传下载是否正常。
- 特殊操作:左右滑动、长按、连续点击、拖拽、列表页面连续的上下滑动,特别是在数据还没加载出来的情况,继续滑动;
- APP中图片滑动的地方,要重点测试,滑动到最后一张,再继续滑;如果有连续浏览图片的功能,要连续滑动查看上百张图片,看app是否崩溃。
- 页面刷新测试:很多情况其实都是页面没有及时刷新造成的,刷新包括:
(1)收到推送主动刷新;
(2)切换其他页面刷新;
(3)返回后台刷新 ;
(4)杀掉APP;
(5)重新登录
- 缓存测试:APP端缓存问题还是比较麻烦,也让人头疼啊。一旦缓存清理失败,下一个账号进去就会异常。看到前一个账号的部分信息,引起此问题原因大多是前一个账号退出的时候,或者其他触发清理缓存的时候,手机进行了异常操作,导致缓存清理失败,就被带到了下一个账号里(APP如果检测到缓存存在,就不会去显示接口的真实返回了)。所以要进行缓存清除异常测试。比如清除的时候,强制退出,后台清理,黑屏,关机,断网等异常情况。APP要提前调查好,什么页面写入缓存,什么页面清理缓存。再针对此进行测试,要充分考虑到,写入和清理的时机是否合适,在针对其进行异常测试
- 兼容性测试:包括手机系统的版本和手机的分辨率,以及特殊机型(主要是在原生的系统上做了封装的品牌),特殊机型主要测试图片、文件的上传下载,涉及到文件系统的一些操作
- iOS需要注意输入法遮挡页面的问题;
- 覆盖安装,做冒烟测试
1、安装/卸载
——-安装到本机
——–安装到sd卡
——–卸载(所有的数据信息都被清空)
2、覆盖
——-相同渠道的版本覆盖
——-不同渠道的版本覆盖
——-下载安装覆盖
——-本地安装覆盖
不管是哪种覆盖,覆盖后的应用均可正常运行,无闪退,卡顿,黑屏等问题;需要注意的是,覆盖后的应用保留之前的数据(比如做题记录,科目状态等)
- 功能依赖:
1、第三方登录
——-第三方授权登录流程是否正常;
——-若不安装第三方应用,登录状态获取是否正常;
——-第三方应用的登录状态是否正常
2、分享
——-不安装分享的应用,是否有正常的容错(如:友好提示等)
——-分享成功/失败后是否有提示,返回是否处理正常
3、平台好评
——-确保不同平台来源的应用好评指向的平台是否正确
- 单用户多登录,不同设备登录同一账户进行操作,数据保存是否正确;
- 其他特殊情况(摘自网上):
(1)Android App应用中,如果有下拉选项的操作,双击下拉选或快速点击选项,会有意想不到的结果,目前我们的应用出现过两次直接导致应用Crash。 安卓测试时,要注意,返回后台后重打开后 点击各个控件(尤其是会出现弹窗的)是否正常
(2)图片处理过的地方,是否容易出现程序崩溃,主要是图片压缩机制的问题。我们上传图片基本上都是正常的图片,图片也都是拍出来的,或者从网上下载的图片。但是很少会上传一下很长、很大的图片,目前知道我们应用Android系统上传长图后图片不显示,直接展示空白。——出自:https://blog.csdn.net/wangshufen20091651/article/details/71126801
- 刚跳转到新页面时,打开页面上的弹窗;图片要反复打开几次;不同尺寸上的适配,重点看图片的适配;推送通知显示;视频的播放
- 电量:测试手机电池电量在50%、20%、10%以及5%的时候,被测APP主要业务流程是否正常
- 除了上面这些,还需要利用各种自动化的工具对apk进行性能测试(包括电量、流量等),网上这么多工具,总有满足需求的
补:
接口测试中,可分为服务器外部接口和内部接口,对app/web等可抓包的接口一般都是外部接口,这部分接口因为要给前端开发和测试使用,所以接口文档一般很健全,可以很清楚的的写测试用例,但是对于服务器内部接口,往往是没有健全的接口文档,甚至压根就没有文档,而且改动非常频繁,测试难度非常大,但是也是一定要测试的,这部分接口要多和后台沟通。
app测试中,断网情况可以应用很多地方,要引入绕过app前端判断的思想,比如:这个按钮要联网才可以点击,点击之后 还要二次确认。测试可以在联网的时候点击第一次,然后二次确认的时候断网,看其怎么处理
内测服测试的时候,如果推送收不到,排除推送代码问题,就是app签名问题,请让前端给打个走正式服签名的包,才能好好测推送。
安卓测试时,要注意,返回后台后重打开后 点击各个控件(尤其是会出现弹窗的)是否正常
- 安全:
1、权限检查——–检查APP获取的权限是否和产品设置一致,如获取地理位置,读取短信,通讯录,调取相机等权限
2、第三方应用检查——-调取第三方应用时是否有签名授权
3、请求检查——–借助Charles修改post,request是否有返回;且请求所需的数据都是明文显示
4、信息明文——–登录成功后在本地data目录com包查询时适当有保存信息明文
5、修改配置文件——–修改本地配置是否出现问题