单纯从功能测试的层面上来讲的话,APP 测试、web 测试 在流程和功能测试上是没有区别的。
根据两者载体不一样,则区别如下:
一、系统结构方面
web项目,b/s架构,基于浏览器的;web测试只要更新了服务器端,客户端就会同步更新。
app项目,c/s结构的,必须要有客户端;app 修改了服务端,则客户端用户所有核心版本都需要进行回归测试。
二、性能方面
web项目 需监测 响应时间、CPU、Memory。
app项目 除了监测 响应时间、CPU、Memory外,还需监测流量、耗电量等。
三、兼容方面
web项目:
1. 浏览器(火狐、谷歌、safari、IE等)
2. 操作系统(Windows7、Windows10、OSX、Linux等)
app项目:
1. 设备系统: iOS(ipad、iphone)、Android(三星、华为、联想等) 、Windows(Win7、Win8)、OSX(Mac)
2. 手机设备的型号、分辨率、屏幕尺寸不同
四、相对于 Web 项目,APP有专项测试
1. 干扰测试:来电(接通、呼叫挂断、呼叫保持)、收发短信、中断(插拔数据线、手机锁屏、闹钟、蓝牙等)、电量不足、关机、重启、死机等。
2. 弱网络测试(模拟2g、3g、4g,wifi网络状态以及丢包情况,考虑回退和刷新是否会造成二次提交);网络切换测试(网络断开后重连、3g切换到4g/wifi 等)。
3. 安装、更新、卸载
安装:全新安装、覆盖安装;考虑安装时的中断、弱网、安装后删除安装文件等情况。
卸载:考虑卸载后是否删除app相关的文件。
更新:分强制更新、非强制更新、增量包更新、断点续传、弱网状态下更新。
4. 界面操作:需注意手势,横竖屏切换,多点触控,前后台切换等。
5. 安全测试:安装包是否可反编译代码、安装包是否签名、权限设置,例如访问通讯录等。
6. 边界测试:可用存储空间少、没有SD卡/双SD卡、飞行模式、系统时间有误、第三方依赖(QQ、微信登录)等。
7. 权限测试:设置某个App是否可以获取该权限,例如是否可访问通讯录、相册、照相机等。
五、测试工具方面
1、自动化工具:APP 一般使用 Appium/Monkey; Web 一般使用Selenium。
2、性能测试工具:APP 一般使用 JMeter; Web 一般使用 LR、JMeter。
六,稳定性测试
10,web项目的稳定性测试更多的是:长时间测试后端服务的接口和前端页面的显示,方法就是长时间跑自动化脚本。
11,app项目的稳定性测试更多的是:长时间测试app页面的显示,方法就是用monkey,monkeyrunner长时间在屏幕上面跑,看是否卡死,闪退,报错或其他异常。