由于app软件是安装在手机的操作系统之上的,为了保证app能够在长时间内运行操作不会出问题,所以需要做稳定性测试,稳定性测试需要用到monkey工具,monkey工具是基于命令行的方式运行的,通过这个工具长时间来操作对应的app,以此来检测app会不会出现假死(ANR)或者崩溃的问题。
APP专项测试—弱网测试 概念弱网测试是指手机app在网络不好的场景下,运行操作app,以此检测app会不会出现异常闪退、假死、以及异常提示信息等各种情况,弱网测试的重点是要模拟出各种复杂的弱网环境,一般都会借助于一些工具来模拟弱网环境,比如fiddler、charles等工具。
原理通过fiddler来模拟限速
fiddler本来就是个代理,它提供了客户端请求前和服务器响应前的回调接口
fiddler的模拟限速是在客户端请求前自定义限速,通过延迟发送数据或接收的数据的时间来限制网络的下载速度和上传速度,从而达到限速的效果。
步骤(fiddler)打开fiddler,设置代理
手机连接和电脑连接在同一个局域网内
手机设置代理,ip为电脑的ip,端口为fiddler代理开发的端口
打开fiddler网速模式开光(Rules->Performances->Simulate Modem Speeds)
手机访问APP,或者用手机浏览器访问网络,观察功能响应或者页面刷新速度
如果需要自定义网络的速度,需要到自定义规则中配置(Rules->Customize Rules)
APP专项测试—其他测试 用户体验界面的美观性
保持登录
页面的层级关系不能过深(4层左右)
边界(极限测试)电量不足
内存不足
权限测试摄像头权限
相册权限
位置权限
通讯录权限
熟悉APP项目的步骤业务特性(这个APP是干嘛的)
项目角色与用户(面向的用户)
项目组织架构图(都有些什么功能)
技术栈(都用到什么技术)
app测试流程需求评审
编写测试计划
测试用例设计与编写
执行用例与缺陷跟踪
编写测试报告
APP发布平台 内测分发平台工作流程:
开发将打包好的程序包上传到内测分发平台上
内测分发平台基于上传的安装包生成唯一的二维码
测试扫描此二维码即可下载进行安装测试
常见的内测分发平台:
蒲公英(https://www.pgyer.com/)
fir.im(https://fir.im)
线上发布平台Android
应用商店
手机助手
官网
iOS
APP Store
面试题 内存溢出与内存泄漏内存溢出(out of memory):是指程序在申请内存时,没有足够的内存空间供其使用。
内存泄漏(memory leak): 是指程序在申请内存后,无法释放已申请的内存空间,一次内存泄漏危害可以忽略,但是内存泄漏堆积后果很严重,无论内存有多少,迟早会用完,最后就会出现内存溢出。
两者关系:内存泄漏最终会导致内存溢出。
冷启动与热启动冷启动:指APP被后台杀死后,在这个状态下打开APP;
热启动:APP没有没后台杀死,仍然在后台运行,在这个状态下再次打开这个APP。
web测试与APP测试的差异APP的兼容性测试尤为重要:由于手机品牌、手机型号存在过多的差异,导致APP端测试需要考虑的更多,如:分辨率、系统版本、手机品牌、尺寸等。
APP性能测试指标不一样:除了需要考虑和web一样的CPU、内存外,还要考虑电量、流量消耗、GPU渲染等。
APP网络测试场景较复杂:如 2G、3G,、4G、5G、WiFi、弱网环境等。
APP基于手机载体存在的交叉事件测试、前后台切换、安装/卸载/升级测试。
APP基于手机载体一些特有的操作习惯测试,如:横竖屏切换、多点触控、事件触发区域等。