web、pc、app、小程序测试的区别


APP:基于安卓\IOS操作系统开发的应用,比如手淘APP、英雄联盟手游等等

pc客户端:基于win\mac操作系统开发的应用、比如谷歌浏览器、pycharm、英雄联盟端游等等

web:基于pc\手机浏览器开发的网页,比如淘宝官网,4399小游戏官网等等

//小程序:基于微信开发(不太了解,后面补充,个人认为类似Bs架构)

一、系统架构

- pc、app为c/s结构,服务端更新了,需要对各个主流版本进行兼容测试及回归测试,客户端更新的话,还需要重新安装或升级应用

 

 

- web为b/s结构,只有一个版本,服务端和web端更新了之后,刷新一下页面也就同步更新了

 

二、测试发布流程

测试流程:三者基本测试流程没有区别。都是需要经历测试计划方案、用例设计、用例执行、缺陷管理、测试报告编写等相关活动

发布流程

由于系统差异,APP发布有打包流程,客户端更新需要打包升级应用,如果上个版本客户端出现问题,修复后需要打包让用户去更新应用,或者跟随下个版本修复好,APP端需要向应用市场发布,安卓发布的市场有很多,应用宝、豌豆荚、应用商店等,每个应用都需要单独审核;IOS端应用比较单一就是appstore,从提交、审核到发布会有一定的时间间隔,开发的应用包不会立刻发布

web端每次更新发布,需要将测试通过的包替换线上包,重启服务后立刻生效,访问的就是最新的环境

pc端不了解。。

三、兼容性测试

app的则是兼容的手机设备,不同品牌,不同分辨率,不同的Android IOS版本,手机和平板

PC端需要兼容WIN\MAC不同系统和系统版本

web的兼容测试一般是选择不同的浏览器内核进行测试(IE、chrome、Firefox),以及不同浏览器的不同版本。

四、性能指标

web测试、pc测试监测响应时间、CPU、内存等

app测试除了监测响应时间、CPU、内存外,还需监测流量测试、耗电量测试等

五、交互方式

web、PC主要采用鼠标点击方式

App主要是手指点击、拖拽、手势测试、横屏测试,考虑更多的是手指的交互习惯。重点考虑回退、刷新是否会造成二次提交。

六、APP专项测试

1.安装卸载更新测试,包括安装时是否有闪退,安装好后回归验证、安装失败后是否版本回退,强制更新、非强制更新、增量包更新、断点续传、弱网状态下更新

2.网络测试:不同运营商;3g4g5g;执行重要操作时进行网络切换;弱网,高丢包高延迟情况客户端是否稳定等

3.APP消息路由推送测试

4.抓包,APP需要用Charls fildler等,手机和pc连接同一条路由器然后加代理

5.权限:语音、上传文件等权限

6.系统时间有误

7.APP崩溃卡顿测试:

安卓可以用ADB monkey再APP上执行一段时间内的随机事件触发命令,进行稳定性测试

  • 空指针,比如客户端穿空没有做判断,程序到这里底层系统给客户端报错导致崩溃
  • 数组越界,系统给每一个应用都会分配内存,每一个对象实例化后都会分配到内存里,比如我们声明一个lits=[1,2,3]数组,然后去查找list[3],底层就会给APP抛异常导致崩溃
  • 系统版本兼容性,比如系统升级后,系统底层可能会报废掉老方法,但是你的新APP还在用老方法没有做修改,就会给抛异常导致崩溃
  • 内存溢出:系统会给每个APP分配内存也就是Heap Size值。当APP占用的内存加上我们申请的内存资源超过了Dalvik虚拟机的最大内存时就会抛出的Out Of 
  • 内存泄漏:当一个对象不在使用了,本应该被垃圾回收器(JVM)回收。但是这个对象由于被其他正在使用的对象所持有,造成无法被回收的结果。内存泄漏最终会导致内存溢出。
  • 视频音频卡顿:1.网络慢2.可能是加载视频ZPU渲染性能不好
  • 安卓ANR:安卓分前台进程和后台进程,前台进程就是正在运行的应用,后台进程例如后台app 蓝牙、WiFi进程等,如果主线程被长时间阻塞,导致无法响应用户的操作,即造成ANR(Application Not Responding)。通常的表现是弹出一个应用无响应的对话框,让用户选择强制退出或者等待。如图
  •  

     

web待补充

七、安全(目前没有接触)

Web,SQL注入,XSS攻击等

App,https加密,签名,加固,密码加密等

 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM