APP 测试和 Web 测试, 在流程和功能测试上是没有什么区别的
根据二者的载体不同, 区别如下:
1. 系统结构方面
- Web 项目: B/S 架构. Web 测试只要更新了服务端, 客户端就会同步更新
- APP 项目: C/S 架构, 必须要有客户端. APP 修改了服务端, 则客户端用户所有的核心版本都需要进行回归测试一遍
2. 性能
- Web 项目需要监测 响应时间, CPU 和 Memory
- APP 项目除了监测 响应时间, CPU, Memory 以外, 还需要监测流量, 电量等
3. 兼容性方面
- Web 项目
- 浏览器不同(Chrome, Firefox, IE, Edge)
- 操作系统不同(Windows, Linux, MAC)
- APP 项目
- 设备系统:
- IOS(苹果手机, ipad)
- Android(华为, 小米, 三星, oppo, vivo 等)
- 电脑是否可以兼容:
- 苹果电脑
- Windows 电脑
- 手机设备: 可以划分不同的手机型号和分辨率]
4. 相对于 Web 项目, APP有专项测试
- 干扰测试: 中断, 来电, 短信, 关机, 重启等
- 弱网测试: 2G, 3G, WiFi 等网络情况下进行测试
- 网络切换测试: 网络断开后重连, 3G 转到 4G / WiFi 等情况下进行测试
5. 安装, 更新, 卸载
- 安装: 需要考虑安装时中断, 弱网, 安装后删除安装文件等情况
- 更新: 分强制更新, 非强制更新, 弱网状态下更新
- 卸载: 需要考虑卸载后是否删除 APP 相关的文件
6. 界面操作
关于手机端测试, 需要注意手势, 横竖屏切换, 多点触控, 前后台切换
7. 安全测试
- 安装包是否可以反编译代码
- 安装包是否签名, 权限设置, 例如: 访问通讯录等
8. 边界测试
- 可用存储空间少, 没有SD卡
- 飞行模式
- 系统时间有误
- 第三方依赖等
9. 权限设置
设置某个 APP, 是否可以获取该权限, 例如: 访问通讯录, 访问位置, 开启摄像机, 打开相册等
10. 测试工具
- 自动化测试工具:
- APP 一般使用 Appium
- Web 一般使用 Selenium
- 性能测试工具
- APP 一般使用 JUnit
- Web 一般使用 JUnit, LoadRunner