你好,我是小牛。
基本上每一个转行或者刚毕业的测试都是从功能测试做起的,也就是点点点工程师。功能测试主要包括web测试,app测试,接口测试。
web测试和app测试都属于前端ui测试,一个是网站前端,一个是手机前端。接口测试属于后端服务器测试。
对于大部分测试人来说,尤其一些中小创业公司,日常接触最多的就是前端页面测试,也有一部分同学工作了几年甚至都没接触过接口测试,这对个人成长是极其不利的。
关于如何做接口测试,之前写过一篇文章,具体可以参考如何做接口测试?
今天主要来聊一聊前端ui测试是怎么做的?以及web测试和app测试有什么区别?基本上这块也是面试高频题,经常会遇到。
之前也写过一篇关于app测试的文章,具体可以参考如何做APP测试?
首先,web架构一般都是B/S架构,即浏览器,服务器模式。app架构是C/S架构,即客户端,服务器模式。
两者的区别就在于B/S架构只要更新了服务器端版本,用户端就会同步更新,而且能保证每位用户端版本一致。
C/S架构只要发布新的版本,用户都需要手动进行更新,所以很难保证软件在不同人的手机中版本一致,由此可见app发布和推广成本是远高于web端的。
对于不管app也好还是web网站,整体逻辑都是前端去调后端接口,所以当出现报错时,就需要去定位分析这个问题是前端问题还是后端问题。这个也属于初中级测试工程师面试必问问题。
遇到这种问题时,以web端举例,你可以打开F12开发者模式,点击页面,然后看有没有调后端接口,没有请求调用的话说明是前端进行了校验。
如果有请求,并且,后端返回了结果,有两种情况,一种是正常返回,另一种直接报异常。
正常返回的话,那你需要对比下接口文档或者需求,如果返回没问题,那说明就是前端展示的问题,属于前端bug。
异常返回的话,就属于后端bug,这时候,你就需要去查看日志去进一步定位分析,是什么问题导致的。
尤其涉及到多个系统,多接口调用,你需要去进一步查看这个报错是你们这个系统校验返回的,还是调用下游系统校验返回的。
web端可以直接使用F12进行抓包定位,对于app端的话就需要使用抓包工具了。
推荐使用fiddler进行抓包,属于目前测试行业主流接口测试工具,面试也特别喜欢问,公众号后台有学习资料,可以学习一下。
当然,作为一个初级新人,不会定位分析,你可以直接去找开发,跟他学习一下定位分析思路,然后下次再自己进行分析。
不过,极不建议那种,一出现问题就丢给开发,撒手不管了,这样的话,作为测试的意义又何在呢?
除此之外,提到前端ui测试,不得不提的就是兼容性测试,这块测试基本也是必做的。
对于web端测试,主要就是浏览器,以及不同浏览器版本,需要覆盖到主流的浏览器,包括市场份额比较大的谷歌,火狐,IE等等,主要看下页面的展示和排版有没有问题。
对于app端测试,主要就分为ios和安卓系统,ios相对简单一些机型比较少,但是对于安卓系统机型就比较多了。基本上至少要覆盖每个机型一两款产品进行测试。
除了机型之外,手机的操作系统版本可能也会有兼容性问题,这块测试不建议大家使用模拟器测试,最好直接使用真机测试,一般公司都会有预算配置大量测试机。
然后关于性能方面,web测试主要关注的是页面响应时间,比如行业默认的258原则,就是2秒性能不错,5秒勉强可以接受,8秒体验极差,用户就会直接将它关闭,不再等待。
而对于app测试,性能方面除了关注页面打开以及跳转的响应时间之外还需要关注流量消耗,电量,CPU,GPU,Memory等等因素。
web测试主要是针对浏览器,不需要考虑安装和卸载问题。而app是客户端,需要测试安装卸载和更新的情况。
除了常规的操作还需要考虑到异常场景,比如说:安装时的中断,弱网,安装后删除文件,强制更新与非强制更新,断点续传,弱网,卸载后删除App的相关文件等等。
初此之外,app和web测试还有一点很大的区别是app有专项测试。比如:中断,来电,短信,关机,重启等等测试场景。
然后还需要考虑弱网情况下app的性能,包括提示语和等待页面的设置,回退和刷新是否会造成二次提交,以及延时的处理机制等等。
以上,主要就是web测试和app测试需要关注的一些测试点,以及它们两者的测试区别。