目录

测试总结测试时如何定位一个bug是前端还是后端

【测试总结】测试时如何定位一个bug?是前端还是后端?

作为一道面试题,它算高频了么?我面试别人问过挺多次,我也被面试官问过…

1、前后端bug有各自的一些特点:

  • 前端bug特性:界面相关,布局相关,兼容性相关,交互相关。
  • 后端bug特性:数据相关,安全性相关,逻辑性相关,性能相关。

2、定位BUG属于前端还是后端,我常用的2种方法:

(1) 接口查看法 :查看接口请求参数和响应结果。

  • 如果请求没发出或参数不正确,为前端的bug
  • 如果请求url和传参都正确,响应数据不正确或者没有响应,为后端bug
  • 后端返回了响应也是正确的,但是前端没有正确显示,一般就是前端问题

(2) 日志查看法 :查看后端服务日志有无,以及错误日志信息。

还有一些常见的前端问题,也可以在浏览器控制台输入js代码调试进行分析

如果定位为后端的bug,可以进一步通过以下方法精确定位是哪里出bug

  1. 查看报错日志,通过日志分析问题点
  2. 查看数据库确认数据的正确性
  3. 查看缓存是否正确

3、如果进行接口测试,发现的bug,很大概率是后端的bug

根据返回的状态码:

  • 返回200

    • 查询数据类型的接口 ,返回的数据和数据库的数据是否匹配——不匹配就是开发的sql写错了
    • 操作功能型的接口 ,比如新增,修改,删除等,返回的结果不正确——逻辑错误
    • 输入的数据不符合要求,但是操作成功了——数据校验问题:长度,类型,等价类/边界值
  • 40*(404/405)请求的问题,我们接口请求操作的问题,不是bug

    • 404: 大部分是URL 不正确
    • 405 大部分是 传输的方式不正确,把get改为post或者post改成get
  • 50* 一般就是服务端代码bug ——查日志

4、如果手动功能测试

  • 查看有没有调用接口,没有——前端bu

  • 有调用接口,看状态码

    • 200:看返回的数据

      • 返回数据不正确——后端bug

      • 请求的数据不正确——前端bug

        • 数据检验的问题
        • 代码报错-控制台console查看
        • 点击按钮无反应
        • 前端没有按正确格式加载数据
    • 400,404,405

      • 前端操作接口有误,没有按照要求调用接口
    • 50*

      • 大概率后端问题,也可能前端问题

        • 前端,后端都没有做数据校验——都有问题