首先需要了解一个页面的请求过程:以http请求为例: 1、用户在前端页面操作,如点击某个提交按钮 2、页面携带数据进行请求,访问具体功能接口 3、由后端服务执行相应的业务逻辑,如涉及数据,再去请求并组装数据返给前端 4、前端页面进行渲染和展示对应的页面和数据 前后端bug各有什么特点?
前端bug特点 1, 界面相关 2,布局相关 3,兼容性相关
后端bug特点 1,业务逻辑相关 2,性能相关 3,数据相关 4,安全性相关
定位前后端bug,有什么方法?
1、经验法
软件测试人员应不断精进自己的技能,负责的项目多了,自然对功能的实现过程有了解,也就明白如何分类bug了。 例如: 网页上的某个图片的分辨率不对,如果我们了解实现过程,可以想到一般情况下,是根据某个地址去服务器取图片的,数据库一般只保存地址,那么图片能正确显示,就说明后端的基本功能是满足需求的。如果具体图片分辨率有误,最可能的原因是前端显示过程出了差错。
2、查日志
当我们发现一个bug,并不确定这个bug属于前端还是后端,可以查看后端服务的日志,复现bug时,查看日志中有没有相关信息。基本可以认为,如果日志没有输出,很可能这个功能并没有与后端交互,也就不存在后端的问题。反之,如果日志有输出,可以进一步查看有无错误日志信息,进一步分析
3、查接口
这种方法常用于查看是后端返回给前端的数据有误,还是前端显示有误。 大多数浏览器都有自带的接口查看工具,如Chrome,FireFox等都可以通过F12开启抓包,在NetWork中可以看到当前页面发送的每个http请求。 我们需要对比通过后端接口拿到的数据和前端显示的数据,来确认问题出在哪里。如果数据错了,页面显示是错的,也是正常的,先从后端入手去解决。
还可以分析控制台中js是否有错误,network中状态码是否有问题,如果是500等说明服务端有问题。
比如登录页面,输入账号和密码点击登录,结果没有跳转也没有反应
可以打开控制台,看是否有js错误,如果有就是前端问题,没有且有正常post请求再看network状态码,如果是404有可能是前端参数写错或者后台接口改了,前后端都可以提,500就是后台出了问题。