App测试和Web测试的不同

无意中想起来了多年前去面试被提问的的问题:App测试和Web测试有什么不同?只记得当时回答得比较片面,天天忙于测测测的职场人儿,没有时间去总结经验和学习新的技术。今天炒老饭炒出新味道,结合自己的经验和网友的总结,具体如下:

从功能测试方面讲,Web测试与App测试在测试用例设计方法和测试流程上没什么区别。而两者的主要区别体现在如下几个方面:

 

1 系统结构方面

Web项目,B/S架构,基于浏览器的;Web测试过程中,客户端会随服务器端同步更新,所以只需更新服务器端即可

 

App项目,C/S架构,基于客户端的;App测试过程中,只要修改了服务端,那么客户端所有核心版本都需要进行回归测试

 

2 性能方面

Web项目,需要监测响应时间、CPU、内存占用,另外还需系统能支持多少用户同时在线;超过最大用户数,系统会给出什么样的反映

 

App项目,需要监测响应时间、客户端机子占用的CPU、内存,另外则还需监测流量、电量等

 

3 兼容方面

Web项目

首先考虑操作系统兼容(Windows7、Windows10、Mac、Linux等);其次,考虑浏览器兼容(IE10、IE11、Edge、Firefox、Chrome、360、搜狗等),再者考虑显示器分辨率

 

App项目

首先考虑不同厂商手机兼容(Android【华为、荣耀、小米、OPPO、vivo、三星等】、 iOS【ipad、iphone】);其次要考虑操作系统版本的兼容;再考虑手机设备的大小、分辨率的兼容。

 

4 测试工具方面

Web测试,自动化工具通常使用Selenium,性能测试工具通常使用LoadRunner / JMeter

 

App测试,自动化工具通常使用Appium ,性能测试工具通常使用Monkey,perfdog.

 

5 稳定性测试

Web项目的稳定性测试更多的是:长时间测试后端服务的接口和前端页面的显示,方法就是长时间跑自动化脚本。

 

App项目的稳定性测试更多的是:长时间测试app页面的显示,方法就是用monkey,monkey长时间在屏幕上面跑,看是否卡死,闪退,报错或其他异常

 

6 专项测试方面

Web专项测试

链接测试

主要是保证链接的可用性和正确性,考虑链接的页面是否存在?是否按指示链接到了相应链接的页面?是否存在空白页面等

 

打印测试

考虑网页打印是否正常(显示的图片和文本的对齐方式可能与打印出来的东西不一样,是否完整打印)

 

App专项测试

安装、更新、卸载

安装:需考虑安装时的中断、弱网以及安装后删除安装文件等情况;官网下载安装、其他渠道下载安装;覆盖安装(高版本覆盖低版本、低版本覆盖高版本)和卸载后再安装。

更新:强制更新、非强制更新、增量包更新、断点续传、弱网状态下更新等几种情况

卸载:需考虑卸载后App相关文件是否删除干净

 

权限测试

设置某个App是否可以获取该权限,比如是否可访问短信、通讯录、相册、照相机、麦克风、位置信息等

 

安全测试

安装包是否可反编译代码、安装包是否签名、权限设置

 

边界测试

可用存储空间少、飞行模式、系统时间有误、第三方登录(QQ、微信、微博登录)以及没有SD卡/双SD卡等

 

界面操作

关于手机端测试,需注意横竖屏切换、多点触控、手势、事件触发区、前后台的切换(从后台回到App,检查是否停留在上次操作界面、功能和应用状态是否一样)等

 

干扰测试

电话响应(接通、呼叫挂断、呼叫保持)、收发短信、中断(插拔数据线、手机锁屏、闹钟、蓝牙等)、电量不足、关机、重启、死机等

 

网络测试

首先,弱网络测试(模拟2G、3G、4G、WiFi网络状态以及丢包情况,重点要考虑回退和刷新是否会造成二次提交);其次,网络切换测试(网络断开后重连、3G切换到4G/WiFi等)

 

posted @ 2023-03-06 15:22  lulu晶  阅读(34)  评论(0编辑  收藏  举报