1.app有关概念
APP测试范围:
业务功能测试
专项测试:兼容性测试 、安装/卸载/升级测试、交叉事件测试 、push消息推送测试、性能测试、其他测试(用户体验、权限/边界、权限)
功能测试测试对象:
功能点(单独模块)--单元测试
多模块---集成测试
业务流程--系统测试、验收测试、冒烟测试
功能测试测试方法:
测试理论阶段与测试用例设计方法等适用于web产品、也适用于app产品
理论阶段方法:等价类、边界值、因果图、判定表、场景法、流程图、正交法、错误推测法
项目阶段适用的测试用例设计方法: 等价类于边界值组合、需求--测试点--测试用例(一个测试点就是一条测试用例)、基于场景与业务流程设计测试用例
兼容性测试关注点:
手机型号:腾讯移动分析:https://mta.qq.com/mta/data/device;百度研究院:https://mtj.baidu.com/data/mobile/device/
操作系统:Android(4.X--9.X)、IOS(11.X、12.X)
屏幕分辨率、尺寸
网络环境
测试机的选取原则:
一定要在一定数量的真机上进行测试
借助testin等云测平台:https://www.testin.cn/business/landing/machine.htm
模拟器:Genymotion、Xcode
信息的获取渠道:
第三方在线统计排名(腾讯移动分析、百度研究所等)
官方数据(android、Ios官网)
埋点技术(技术手段)
数据库主要应用于静态网站,能够使网站更丰富(x)---数据库主要应用于动态网站
http协议的消息有两种类型:请求消息和响应消息
Fiddler可以将服务器文件代理到本地,实现前端调试;fiddler可以截获某一个请求,让那后人为修改之后再继续发送,fiddler可以对监听到的请求执行过滤操作
软件测试报告是测试结束的标志之一,可以对整个测试过程提出建议,需要分析Bug 的分布情况
功能测试中会用到数据库的场景:
执行用例过程中验证数据的准确性与完整性,进行bug定位,构建某种测试场景,执行升级sql,并验证结果;后台管理系统还无法正常使用,只能直接操作数据库
修改数据库的某条记录来构建测试场景时,通常需要怎么做:
使用sql中的update语句;使用sql的insert的语句;使用数据库管理工具直接编辑数据并保存
交叉事件关注点:
拨打接听电话
接收发送信息
插拔二级
网络切换
系统自带应用(摄像头、计算器等)
push消息推送测试
概念:push即为消息推送测试,主要目的就是为了唤醒或提醒用户
对象:全部推送、部分推送。精确推送
消息形式:弹窗、消息通知栏
测试关注点:push消息应该按设定规则发送特定用户、app再后台运行时候,应该能正常收到其push消息;设置锁屏状态下,应该能正常收到appp的push消息;设备网络断开后再一次建立连接时,应该能收到push消息;系统设置不接收该app通知消息时,用户应该不再收到push消息
技术实现:自主研发、第三方工具(如极光推送)
app安装类型:
Android:.apk
ios:ipa
安装渠道:
Android:应用商城、豌豆荚、应用宝
iso: APP Store
安装测试关注点:
正常情况:
正常安装测试,检查是否安装成功
APP版本覆盖测试
回退版本测试
在不同雄豪、系统、屏幕大小、分辨率的手机上进行安装
安装完成后,能否正常启动应用程序
安装完成后,重启手机能否正常启动应用程序
异常 情况:
安装时内存不足
安装过程中意外的情况(强行断电、断网、来电话、查看信息)等等
能否取消安装
卸载测试:
正常情况:
用自己的卸载程序进行卸载,检查是否卸载干净
用第三方工具,检查是否卸载干净
不同系统、硬件环境、网络环境下进行卸载
卸载后再次安装,是否正常使用
异常情况:
卸载中出现异常情况能否恢复(比如手机关机、内存、没电等),程序是否还能运行
卸载后是否有残留,是否能够再次进行安装
是否取消卸载软件恢复使用
升级测试关注点:
更新版本需要提示用户
考虑是否进行强制升级:软件存在严重缺陷、软件不能够向前兼容
是否能够跨版本升级
断电续传
性能测试:
性能测试指标:内存、CPU、流量、电量、启动速度、界面切换速度
测试关注点:
APP启动事件是否过长
APP使用时对CPU、内存的占用情况
APP使用时,电量流量的消耗情况
反复长期的操作情况下,系统资源的使用情况
面试题:
内存溢出和内存泄露
冷启动和热启动
用户体验测试关注点:
界面的美观性
保持登录(APP)
页面层级关系在4层左右
边界(极限)测试关注点:
电量不足(5%)
内存不足
权限测试关注点:
摄像头权限
相册权限
位置权限
通讯录权限
web测试与app测试的差异性(面试题)
APp的兼容性测试尤为重要,由于手机产商生产的手机型号以及相关软硬件存在千千万万的差异性
APP性能测试指标不一样:除了需要和web测试应用考虑app客户端的性能外,我们还需要考虑电量、流量的消耗,cpu渲染等
app网络测试场景的复杂性:如2G、3G、4G、弱网环境等
app基于手机载体存在的交叉事件测试,前后台切换、安装/卸载/升级测试
app基于手机载体特有的一些用户操作习惯类测试,如横竖屏切换、多点触控、事件触发区域等
app项目环境:
开发环境--开发工程师
测试环境--测试工程师
生产/线上环境--运维工程师
app内测分发平台工作流程
1.开发将打好的程序包上传到内测分发平台上
2.内测分发平台基于上传的安装包生成唯一的二维码
3.测试扫描此二维码即可进行下载、安装和测试
常见的内测分发平台:
蒲公英:https://www.pgyer.com/
fir.im:https://fir.im/
线上发布平台:
Android:应用商城、豌豆荚、应用宝
iso: APP Store
2.项目相关
测试流程:
需求评审
编写测试计划
测试用例的设计与编写
执行用例与缺陷跟踪
编写测试报告
需求评审原因:
保证需求的完整性、准确
保证团队(开发、测试)对需求理解的一致性
怎么做需求评审:
需求评审会
参会人员:项目经理/产品经理、开发工程师、测试工程师、UI、运维
熟悉项目的步骤:
业务特性(主要功能)
项目角色与用户:游客--未注册用户;未认证用户--注册用户但没实名认证;认证用户--实名认证后可以发布文章
测试计划(测试方案)主要内容:
测试的概要说明
测试进度以及轮次安排
测试策略(方案)
测试风险分析
测试各项标准
测试安排:
轮次安排:此版本迭代的功能模块较少,暂安排两轮测试
第一轮为覆盖性测试,覆盖范围以上描述的所有范围,关注所有级别的bug
测试报告主要内容:
测试概要说明
缺陷分析
上线风险
结论、建议、总结
3 Fiddler 在移动端的应用
fiddler的基本使用:
删除请求
设置过滤
查看请求和响应数据
修改请求数据
修改响应数据
fiddler典型应用场景;
辅助定位bug
构建模拟测试场景
APP弱网模拟测试
前端性能分析以及优化
重定向、API接口测试等
为什么抓包:
通过抓包工具截取观察网站的请求信息,帮助我们更深入了解系统
通过用抓包工具截取、观察网站的请求一返回信息,帮助我们进行BUG定位与描述
步骤:
打开fiddler,设置代理,并允许远程连接
手机连接电脑的热点网络,或者同在一个局域网内
手机网络连接中,设置网络代理,IP是电脑的同网段IP地址,端口是8888
手机访问APP,或者用手机浏览器访问网络,电脑fiddler观察抓包情况
步骤:
打开fiddler,设置代理,并允许远程连接
手机连接电脑的热点网络,或者同在一个局域网内
手机网络连接中,设置网络代理,IP是电脑的同网段IP地址,端口是8888
手机访问APP,或者用手机浏览器访问网络,电脑fiddler观察抓包情况
打开网速模拟模式开关(Rules--Performances--Simulate Modem Speeds)
手机访问APP,或者用手机浏览器访问网络,观察功能响应或者页面刷新速度
如果需要自定义网络的速度,需要到自定义规则中配置(Rules--Customize Rules),网络环境测试机带宽参考测试数据