笔者做了快三年的测试了。大部分时间都在做app的测试,web测试也做了半年左右。其实我觉得这两者并没有什么大的区别。
  仅仅从功能测试的层面上来讲的话,在流程和功能测试上是没有区别的。那么区别在哪里呢?
  我个人觉得是由于载体不一样,所以系统测试和一些细节可能会不一样。
  那么我们要先来了解,web和app的区别。
  web项目,一般都是b/s架构,基于浏览器的,而app则是c/s的,必须要有客户端。那么在系统测试测试的时候会产生区别了。
  首先从系统架构来看的话,web测试只要更新了服务器端,客户端会同步会更新。而且客户端是可以保证每一个用户的客户端完全一致的。但是app端是不能够保证完全一致的,除非用户更新客户端。如果是app下修改了服务端,意味着客户端用户所使用的核心版本都需要进行回归测试一遍。
  接着是性能方面,web页面可能只会关注响应时间,而app则还需要关心流量、电量、CPU、GPU、Memory这些了。至于服务端的性能是没区别,这里不谈。
  然后是兼容方面,web是基于浏览器的,所以更倾向于浏览器和电脑硬件,电脑系统的方向的兼容,不过一般还是以浏览器的为主。而浏览器的兼容则是一般是选择不同的浏览器内核进行测试(IE、chrome、Firefox)。app的测试则必须依赖phone或者是pad,不仅要看分辨率,屏幕尺寸,还要看设备系统。系统总的来说也分为Android和iOS,不过国内的Android的定制系统太多,也是比较容易出现问题的。一般app的兼容测试三种方法,云测试,请团队测试,真机测试。云测试咱们稍后再聊,这里说说真机的选择。首先要选择主流的机型,其次要选择不同的分辨率,尺寸,然后是不同的操作系统。
  相比较web测试,app更是多了一些专项测试:
  健壮性测试:
  一些异常场景的考虑以及弱网络测试。这里的异常场景是中断,来电,短信,关机,重启等。
  而弱网测试是app测试中必须执行的一项测试。包含弱网和网络切换测试。需要测试弱网所造成的用户体验,重点要考虑回退和刷新是否会造成二次提交。需要测试丢包,延时的处理机制。避免用户的流失。这些在前面的弱网测试那篇已经讲过,这里不再讲了。
  安装、卸载、更新:
  web测试是基于浏览器的所以不必考虑这些。而app是客户端的,则必须测试安装、更新、卸载。除了常规的安装、更新、卸载还要考虑到异常场景。包括安装时的中断、弱网、安装后删除安装文件,更新的强制更新与非强制更新、增量包更新、断点续传、弱网,卸载后删除app相关的文件等等。这里讲起来的话太多了,如果有疑问的同学可以评论或者给我留言。
  界面操作:
  现在app产品的用户都是使用的触摸屏手机,所以测试的时候还要注意手势,横竖屏切换,多点触控,事件触发区域等测试。
  剩下的可能是使用的工具的不同吧。
  自动化来讲,web大多用的selenium、webdriver,而app则是appium。
  性能使用的工具web则是LR,app使用Jmeter要多一点。
  这里只是讲的一个大致的区别。有些东西我到现在也没了解到。所以也只能写成这样了。
  总的来说区别并没有多大。测试的产品千变万化,测试的思想是不变的。工具即使不同,只要理解原理做起来并没有什么难度。