一、移动端测试概述
目录
- 了解手机行业
- 了解APP行业
- 熟悉手机
- 熟悉流行的APP
- 先从业务入手,熟悉基本测试点、测试技巧与方法
- 在深入到架构
- 先从功能和思维入手
- 再说性能和自动化
2.手机关注点
- 系统及版本
- 系统IOS,Android,BlackBerry,WindowsPhone
- 注:之间的软件不能互相兼容
- 版本IOS 12.0,Android 9.0
- 厂商(苹果、华为、小米等等)
- 尺寸分辨率
- 市场占有率
3.手机架构
- Applications:日历、联系人邮件等,用Java编写
- 应用程序框架,开发人员可以访问框架API
- 系统运行库,为开发者提供服务
- Liunx内核
4.APP测试内容
1.功能测试
- 需求中明确定义的功能
- 用户常用的功能
- 软件系统特色功能
- 软件主要基本功能
功能缺陷:
a.功能不起作用(菜单、按钮、链接、控件失效)
b.功能错误(与预期的功能不一致,计算结果错误,显示结果错误)
c.功能缺失(缺少应该具备的菜单、按钮、选项等)
d.执行功能之后全系统瘫痪(崩溃、CPU不足)
e.执行功能之后当前功能无法继续操作
2.UI测试
- 确保手头的原型图与效果图为当前最新版本,符合产品经理及用户要求。
- 测试过程中一切以效果图为准,若由用户体验方面的建议,可以先以邮件的形式与产品经理确认,确认通过后,可以证实想开发提出用户体验方面的问题;
- 由于测试环境中的数据为模拟数据,测试时必须预先考虑到正式环境中可能出现的数据类型。
用户界面缺陷
a.文字被剪断、显示不全
b.控件或者文字没有对齐
c.控件、文字重叠
d.不一样的布局方式
e.多余的文字
f.多余的文字
g.文字的字体、字号错误
h.多余的空格
i.打印的内容格式错误
j.窗口无法正常显示,只能显示局部、显示位置不正常
3.兼容性及适配测试
- 人工测试(租赁/购买市场上给品牌手机进行测试)
- 云测(提供apk进行云平台测试,节省人力物力财力)
针对APP考虑,我们需要考虑:
- 硬件的适配:不同手机厂商、硬件性能,不同屏幕大小的适配;
- 操作系统版本。例如ios10
- 屏幕分辨率
- 不同的手机品牌
- 网络类型
4.弱网测试
- 手工测试(用SIM卡的数据流量进行测试)
- Fiddler(代理机制,相关设置,模拟弱网)
5.APP稳定性测试
- 验证长时间的运行中,App系统的文档性和压力如何
- 通过monkey命令来进行测试,通过随机事件流模拟人的操作,对检查程序的内存溢出、空指针有很大的作用。
- 工具:Monkey,主要用来检测系统ANR以及Crash等问题
6.性能测试
- 客户端性能测试重点关注:安装卸载时间、启动时间、页面加载时间、主要占用的CPU、内存、流量、耗电等,以及与同类产品相比较是否有优势;
- 其中页面加载时间可以利用Android调试工具DDMS获取到,在DDMS里面搜搜Displayes关键字就可以看到页面加载时间;
- 运行过程中主要功能占有的CPU、内存、流量等可以借助开源工具emmagee(适用于Android)获取到;
- 至于服务器端的性能,主要利用接口对服务器施加压力,重点关注响应时间、吞吐量、并发数、事务通过率等,可以视同工具loadrunner、jmeter进行测试。
7.中断测试
- 软件运行过程中接电话、收短信、锁屏、闹铃、充电,收到通知提醒后在使用软件,软件应仍可正常运行使用;
- 软件运行是,由前台切换到后台,在切回前后台,应仍可正常运行使用。
8.接口测试
- 接口测试是测试系统组件间接口的一种测试。
- 接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点;
- 测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。
- 接口测试流程
- 需求评审
- 需求分析
- 接口用例设计
- 执行测试用例
- Bug的定位与追踪
- 测试报告
9.安全测试和H5测试
- 安全测试
- APP的安全性不言而喻,安全性涉及到权限设置、敏感信息储存,日志中的敏感信息,第三方键盘是否恶意劫持信息,造成用户数据被盗取等。以及账号密码在后台是否密文存储,密码传输是否加密,账户锁定策略等。
- example:银行app或者支付app,密码输入键盘
- H5测试
- H5即html Hyper Text Markup Language,超文本标记语言
- H5测试和web测试很类似
- 包括功能测试,浏览器兼容性测试,前端性能测试等。
10.测试分析及测试报告输出
- 以上各项测试结束后,应该形成完整的分析及报告文档(包括buglist、性能及稳定性结果分析,版本上线风险分析等内容),输出给各项相关人员。