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

时间:2024-04-22 07:11:25

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

相对来说多少能看出一点测试经验,实际测试中的排查问题能力...

 

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*

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

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