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等)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?