web测试和手机测试的区别

http://bbs.51testing.com/thread-1159778-1-1.html

1.从技术上来说
WEB测试和移动端测试其测试类型也基本相似,都需要进行功能测试、性能测试、安全性测试、GUI测试等测试类型。
他们的主要区别在于具体测试的细节和方法。
web项目,一般都是b/s架构,基于浏览器的,而app则是c/s的,是有客户端的。

2.从系统架构来看的话
web测试只要更新了服务器端,客户端就会同步更新;
而如果是app下修改了服务端,意味着客户端用户所使用的核心版本都需要进行回归测试一遍。

3.客户端性能方面
web页面可能只会关注响应时间,
app则还需要关心流量、电量、CPU、GPU、Memory这些了。

4.兼容方面
web是基于浏览器的,所以更倾向于浏览器(IE、chrome、Firefox)和电脑硬件,电脑
系统的方向的兼容;
app的测试则必须依赖手机或者pad,不仅要看分辨率,屏幕尺寸,重要看设备系统

5.app的专项测试
1)多网测试:无线网络、2G、3G、4G等,断网、网速较差及网络之间的切换时页面的显示等,此外,在非wifi下,还需要注意网络使用量问题
2)中断测试:如电话、短信、通知、断电等,软件需要处理这些特殊情况
3)安装测试:除了常规的安装、更新、卸载时的用户数据处理外还要考虑到异常场景。包括安装时的中断、弱网、安装后删除安装文件、增量包更新、断点续传;升级测试的提醒机制,升级取消是否会影响原有功能的使用,升级后用户数据是否被清除
4)界面测试:如不同尺寸规格的图文在不同屏幕的显示;对于触摸屏手机,测试时还要注意手势,横竖屏切换,多点触控等测试
5)弱网测试:需要测试弱网所造成的用户体验,可从功能,性能,异常处理,场景特性等几个维度来考虑。

功能:在弱网下,做功能测试,不仅是次性能测试,也是一种可靠性测试

性能:从app的热启动、页面切换、前后台切换测试app的响应时间。尤其是H5的页面需要测试首屏时间,是否有302跳转,页面大小等,否则会出现各种白屏、闪屏、转菊花等。另外可通过网络请求API的整体时间,response以及body大小来推断是服务器处理的慢,还是需要治理传输包;如果时间很少,body又小,还很慢的话,这下就是客户端程序的问题。

强网络形态场景:有些场景就必须是开着wifi才能做的;比如微信的升级就会监听用户是否插着电,连着wifi,一旦监听到了,方可通知升级

容错机制:主要是考虑弱网情况下带来的不稳定,等待超时 ANR了,或者直接异常闪退了。这些的处理,一定要做的优雅,所以异常信息的文案一定要做的漂亮

重连机制:涉及两块,一块是客户端是否会重发请求,一块是服务端是否接受重连。配合超时机制,多久没有得到反馈才会发起重连,失败几次会不允许重连

无网状态测试:首先无网下页面呈现;其次数据完整性和session一致性;另外,还需要关注的是,无网状态下会不会还不断的请求网络,不断的做网络相关的操作。从无网状态恢复到有网络,会不会有请求堆积?


https://blog.youkuaiyun.com/dushu990/article/details/53302246

1、记录bug

  在Web端可以通过系统自带的截图和QQ截图等方式来截取bug的图片,对于错误的地方可以用工具自带的标识来重点标记。
  对于移动端设备可以用手机自带的截图工具来截图然后传到电脑上,可以用手机QQ的“传文件/照片到电脑”功能。还有一种比较便捷的方式,将手机用数据线连接到电脑,借助第三方工具实时同步手机端画面,对有bug的页面直接使用PC端的截图工具进行截图。
  上报许多移动端BUG时需要附带上相关的log,记录上测试的环境,手机版本等等。  

2、测试环境

  Web端的测试环境很多时候是通过hosts进行切换,switchhosts工具可以方便的切换需要的host,但是移动端设置起来比较复杂,比较简单的方式是电脑端设置代理,手机端直接连接代理。注意,手机和电脑必须连接同一个网络。
  设置代理推荐使用Fiddle,可以抓到手机端的数据包。

3、兼容性

  web端的测试一般都是主要使用一种浏览器,待系统基本稳定的时候,再去专门测试浏览器的兼容性。
  但是,对移动端来说,这样的方式是行不通的,因为移动端主要分为安卓和IOS,而这两端出现的问题一般是不一致的,一致的问题主要是数据问题,这时候是需要后台处理的,所以我们测试的时候需要两端都重点测试,而不会出现先着重测试某一端的问题。
  注:一般方式是在测试一端时,出现问题则立马查看另一端是否也有这个问题。

4、移动端的特性

  移动端与web端相比较来说,移动端有很多自己的特性:
  ①网络种类多
  
  移动端有多种网络:无线网络、2G、3G、4G等,断网、网速较差及网络之间的切换时页面的显示等,这些对于移动端来说很重要。此外,在非wifi下,还需要注意网络使用量问题。
 
  ②间断问题
  
  移动端有一个很重要的问题,一般情况下在使用软件的过程并不是长久的,这中间可能发生很多中断,如电话、短信、通知、断电等等,软件需要特殊处理这些特殊情况。
  打开一个页面,或在操作的过程中(点击一个按钮后),将手机屏幕锁住,再打开时,应用能否正常处理。
  
  ③屏幕的限制
  图片及文字的显示;上传不同的图片尺寸显示是否正常;图片和文字一起显示时,效果如何。
  操作区域;web端的应用,一般不会受到屏幕的限制,而且通过鼠标操作更加准确。但是移动端由于屏幕较小且尺寸众多,页面及按钮会受到屏幕大小的限制,再加上用户都是通过手指进行操作,一些按钮、选择框等是否容易点击,多个可点区域位置较近时,点击部位稍微偏移,也许就会造成不同的结果,这种情况下是否可以达到预先的效果。
  
  ④软件启动运行
  移动端启动、卸载、升级几个特性,这是比较常见、也很重要的,比如升级时用户的数据怎么办,卸载后用户的数据怎么处理,卸载再安装用户登录数据的显示等。
 
  ⑤手势
  移动端还有一大特性,就是有些移动端支持自定义的手势,用户可以通过手势进行一个操作,比如左滑删除、右滑返回上一个页面、左右滑动图片等,软件需要对这个手势进行适配。

⑥分享
  移动端一般会装有很多软件,用户下单或者产品有活动时,用户都会进行分享,但是分享时的权限、软件是否存在等问题,需要特殊处理测试。一般的软件或应用,都会开放一部分页面,允许用户不登录时即可访问,而有些页面是必须要求用户登录的,主要针对这两种权限不同的页面做分享,然后通过分享进入本页面,查看权限的控制是否正常。
  
  ⑦ web和移动端的同步
  用户在web端的操作,在移动端是否可以正常的进行同步、显示;在移动端的操作,用户登录web账号,信息是否同步等。

<think> 我们被要求回答APP测试WEB测试区别。根据用户提供的引用内容,我们整理出以下关键点: 1. **系统架构差异**: - Web测试:基于B/S架构(浏览器/服务器),客户端只需要浏览器。服务器端更新后,所有客户端访问到的都是最新版本。 - App测试:基于C/S架构(客户端/服务器),需要安装客户端应用。当服务端更新时,必须考虑客户端版本的兼容性,且需要用户更新应用。 2. **安装、更新、卸载测试**: - Web测试:无需安装,直接通过URL访问,因此不需要测试安装、更新、卸载过程。 - App测试:必须测试安装(包括中断、弱网、删除安装文件等异常情况)、更新(强制更新、非强制更新、增量更新、断点续传、弱网更新)卸载(是否删除相关文件)等。 3. **兼容性测试**: - Web测试:主要关注不同浏览器(如Chrome, Firefox, Safari, IE等)不同操作系统(Windows, Linux, macOS等)的兼容性。 - App测试:需要考虑不同设备系统(Android, iOS, Windows Phone, macOS等)、不同设备型号(手机、平板)、不同分辨率、不同厂商定制系统(如华为EMUI、小米MIUI等)的兼容性。 4. **性能测试**: - Web测试:主要关注页面加载时间、服务器响应时间、资源利用率(CPU、内存)等。 - App测试:除了响应时间、CPU内存,还需要关注流量消耗、电量消耗、发热情况等。 5. **专项测试**: - App测试需要额外关注: - 中断测试:如来电、短信、闹钟、低电量提醒等中断应用操作的情况。 - 弱网络测试:模拟2G/3G/4G/5GWiFi网络,以及网络切换(如WiFi切换到移动数据)弱网下的表现(丢包、高延迟)。 - 界面操作:手势操作(滑动、缩放、长按等)、横竖屏切换、前后台切换。 - 安全测试:安装包是否可反编译、权限管理(是否过度获取权限)、数据存储安全(如本地存储加密)。 - 边界测试:存储空间不足、无SD卡/双SD卡、飞行模式、系统时间错误、第三方依赖(如微信登录)等。 6. **测试工具**: - Web测试:自动化测试常用Selenium,性能测试常用JMeter或LoadRunner。 - App测试:自动化测试常用Appium(支持AndroidiOS),性能测试常用JMeter等,此外还需要使用模拟弱网的工具(如Charles)兼容性测试平台(如Testin、AWS Device Farm)等。 7. **其他**: - 交互方式:Web测试主要关注鼠标事件(点击、悬停),App测试则关注触摸事件(多点触控)传感器(重力感应、GPS等)。 - 安全测试Web测试关注XSS、CSRF等网络攻击,App测试则更关注应用本身的代码安全、数据传输加密、权限管理等。 根据以上内容,我们组织回答如下: </think> ### APP测试WEB测试区别分析 根据系统架构、测试重点执行环境的差异,APP测试WEB测试的核心区别如下: --- #### 1. **系统架构差异** - **WEB测试(B/S架构)** - 基于浏览器运行,无需安装客户端程序[^1][^2]。 - 服务端更新后,客户端访问即自动同步新版本[^2][^4]。 - **APP测试(C/S架构)** - 需安装独立客户端(APK/IPA文件),存在多版本兼容问题[^1][^3]。 - 服务端更新后,需回归测试所有客户端版本兼容性[^2][^4]。 --- #### 2. **测试范围对比** | **测试类型** | **APP测试重点** | **WEB测试重点** | |--------------------|----------------------------------|-------------------------------| | **安装/卸载** | 安装中断、弱网安装、删除安装文件 | 无需测试 | | **更新** | 强制更新、增量包更新、断点续传 | 无需测试 | | **兼容性** | 设备型号(iOS/Android)、分辨率 | 浏览器内核(Chrome/Firefox) | | **性能** | 流量消耗、电量分析、内存泄漏 | 页面加载速度、首屏渲染时间 | | **交互** | 手势操作、重力感应、横竖屏切换 | 鼠标悬停、拖拽 | | **安全** | 本地存储加密、权限滥用检测 | XSS/CSRF攻击防护 | | **异常场景** | 来电/短信中断、弱网切换、飞行模式| 无对应场景 | > **示例代码(兼容性测试脚本)**: > ```python > # Appium测试Android设备兼容性 > from appium import webdriver > caps = {"platformName": "Android", "deviceName": "Pixel 5", "resolution": "1080x2400"} > driver = webdriver.Remote("http://localhost:4723/wd/hub", caps) > ``` --- #### 3. **工具链差异** - **自动化测试工具** - APP:Appium(跨平台支持)[^2][^3] - WEB:Selenium(浏览器驱动)[^2] - **性能测试工具** - APP:JMeter + Battery Historian(电量分析)[^3] - WEB:JMeter/LoadRunner(负载模拟)[^2] --- #### 4. **专项测试场景(仅APP需要)** 1. **弱网测试** - 模拟2G/3G/4G网络丢包、延迟[^1][^3] - 网络切换(WiFi→4G)时的数据同步[^2] 2. **边界测试** - 存储空间不足时功能稳定性[^1] - 第三方依赖(微信登录)异常处理[^2] 3. **传感器测试** - 陀螺仪、GPS定位精度验证[^3][^4] --- ### 关键区别总结 | **维度** | **APP测试** | **WEB测试** | |----------------|---------------------------------|--------------------------| | 交付形式 | 需安装客户端 | 浏览器直接访问 | | 更新机制 | 需手动更新/应用商店审核 | 服务端更新即时生效 | | 测试复杂度 | 高(设备碎片化+专项测试) | 较低(聚焦浏览器行为) | | 安全重点 | 本地数据加密、权限控制 | 网络攻击防护 | > 💡 **设计建议**: > - APP测试需覆盖**真实设备云**(如AWS Device Farm)解决碎片化问题[^4] > - WEB测试优先采用**响应式设计**验证多分辨率适配[^2][^3] ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值