看过了千里大腿的blog,再加上最近也有一些同学问我web与app测试的区别。所以在这里也献丑,写一篇随笔。希望对大家有所帮助。

笔者做了快三年的测试了。大部分时间都在做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要多一点。

这里只是讲的一个大致的区别。有些东西我到现在也没了解到。所以也只能写成这样了。

总的来说区别并没有多大。测试的产品千变万化,测试的思想是不变的。工具即使不同,只要理解原理做起来并没有什么难度。

如果你觉的文章阅读不过瘾,可以查看详细的视频教程

【软件测试全栈系列课程】请点击我哦…

 https://edu.51cto.com/course/25359.html

【博主完整视频课程系列】请点击我哦…

 https://edu.51cto.com/lecturer/13226632.html

【JMETER基础和实践课程】请点击我哦…

 https://edu.51cto.com/course/28017.html

【JMETER 性能测试基础与项目实战视频课程】请点击我哦…

 https://edu.51cto.com/course/16055.html

【Jmeter+ant+jenkins接口层性能与自动化测试课程】请点击我哦…

 https://edu.51cto.com/course/19323.html

【零基础新手入门软件测试基础课程】请点击我哦…

 https://edu.51cto.com/course/27846.html

【软件测试之移动端测试系列课程】请点击我哦…

 https://edu.51cto.com/course/26878.html

【Fiddler接口抓包神器使用教程】请点击我哦…

 https://edu.51cto.com/course/28066.html