测试基础 web 及移动测试方法回顾

周小丽 · March 07, 2017 · Last by 萝卜 replied at June 28, 2019 · 4085 hits

最近听人说到web测试和app移动测试有什么不一样?个人觉得大同小异,后来也百度看了看

Web端与移动端测试的区别?

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


参考:http://www.smarterapps.cn/index.php?app=home&mod=Appinfo&act=articleDetail&id=49

  • 功能:在弱网下,做功能测试,不仅是次性能测试,也是一种可靠性测试
  • 性能:从app的热启动、页面切换、前后台切换测试app的响应时间。尤其是H5的页面需要测试首屏时间,是否有302跳转,页面大小等,否则会出现各种白屏、闪屏、转菊花等。另外可通过网络请求API的整体时间,response以及body大小来推断是服务器处理的慢,还是需要治理传输包;如果时间很少,body又小,还很慢的话,这下就是客户端程序的问题。
  • 强网络形态场景:有些场景就必须是开着wifi才能做的;比如微信的升级就会监听用户是否插着电,连着wifi,一旦监听到了,方可通知升级
  • 容错机制:主要是考虑弱网情况下带来的不稳定,等待超时 ANR了,或者直接异常闪退了。这些的处理,一定要做的优雅,所以异常信息的文案一定要做的漂亮
  • 重连机制:涉及两块,一块是客户端是否会重发请求,一块是服务端是否接受重连。配合超时机制,多久没有得到反馈才会发起重连,失败几次会不允许重连
  • 无网状态测试:首先无网下页面呈现;其次数据完整性和session一致性;另外,还需要关注的是,无网状态下会不会还不断的请求网络,不断的做网络相关的操作。从无网状态恢复到有网络,会不会有请求堆积?

弱网模拟

使用Fiddler做代理

  1. 安装好后打开fiddler→选择 Tools >Fildder Options > Https
  2. Connection勾选允许远程连接
  3. 在本机命令行输入:ipconfig,找到本机的ip地址。
  4. 打开android设备的“设置”->“WLAN”,找到你要连接的网络,在上面长按,然后选择“修改网络”,弹出网络设置对话框,然后勾选“显示高级选项”。
  5. 在“代理”后面的输入框选择“手动”,在“代理服务器主机名”后面的输入框输入电脑的ip地址,在“代理服务器端口”后面的输入框输入8888

使用Fiddler进行弱网模拟

  1. 打开Fiddler,点击Rules-->点击Customize Rules;(或者Ctrl+R)
  2. Ctrl+F组合键调出搜索对话框,键入simulate进行搜索,找到如下代码框:

    修改其中的数字,已达到限定不同网速的效果。数字的含义为每KB数据所需要的时间(ms)

  3. 打开弱网模拟功能:点击Rules(或者Alt+R);点击Performance-->点击Simulate Modem Speeds,完成弱网模拟功能的打开。

易混淆的测试术语

  1. 性能测试:是为了获得系统在某种特定的条件下(包括特定的负载条件下)的性能指标数据;而负载测试及压力测试是为了发现软件系统中所存在的问题,包括性能瓶颈、内存泄漏等
  2. 负载测试:是模拟实际软件系统负荷,通过不断加载来观察不同负载下系统的响应时间和数据吞吐量、系统占用的资源(如CPU、内存)等。
  3. 压力测试:是在强负载下的测试,查看应用系统在峰值使用情况下操作行为,从而有效地发现系统的某项功能隐患、系统是否具有良好的容错能力和可恢复能力。
  4. 容错性测试: 输入异常数据或进行异常操作,以检验系统的保护性。如果系统的容错性好,系统只给出提示或内部消化掉,而不会导致系统出错甚至崩溃;倘若系统一但出问题,系统能自启动,数据不会丢失
共收到 13 条回复 时间 点赞

不过,wulili

现在的网络都好的不得了,4g比wifi速度还快

第二点,web性能方面,那个响应是服务器的性能,前端还会关心资源加载,页面渲染之类的东西

codeskyblue 回复

说的有道理,但若有障碍物影响信号发射了呢,比如地铁里,或偏僻的地方,或高原,这时候就需要考虑弱网了

app测试一般都是内网环境,如何测试4g弱网呢?

蔡娇 回复

360或者其他的都有wifi共享的工具,可以限速模拟弱网络环境

周小丽 #7 · May 26, 2017 作者
蔡娇 回复

其他测试wify下的弱网就行,4G下的可以让公司配个信号干涉器

谢谢大神分享, 小白有所领悟。😆 😆 😆 😆

IOS不是有个开发者工具 可以设置弱网状态

周小丽 #10 · June 01, 2017 作者

是有个,但没用过😐

感觉你的经验很丰富,写得好

Macaca Web 测试最佳实践 https://testerhome.com/topics/12389

我真的感觉不如自己开发一个web产品出来,远比考虑这些东西更加深刻,而且目前所有高薪(15k*13)测试面试,都会考虑到这些东西(性能,服务器,前后台,接口等等各个组件)和初级代码的能力,何必浪费时间在这些付出回报价值很低的事情。直接看一个平台源码我认为是目前最直接的方法

需要 Sign In 后方可回复, 如果你还没有账号请点击这里 Sign Up