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

server/2024/10/18 8:30:57/

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

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*

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

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


http://www.ppmy.cn/server/14184.html

相关文章

Django模型继承之多表继承

在Django模型继承中,支持的第二种模型继承方式是层次结构中的每个模型都是一个单独的模型。每个模型都指向分离的数据表,并且可以被独立查询和创建。在继承关系中,子类和父类之间通过一个自动创建的OneToOneField进行连接。示例代码如下&…

数据可视化-ECharts Html项目实战(14)

在之前的文章中,我们深入学习ECharts鼠标左键触发。想了解的朋友可以查看这篇文章。同时,希望我的文章能帮助到你,如果觉得我的文章写的不错,请留下你宝贵的点赞,谢谢。 数据可视化-ECharts Html项目实战(…

MCU功耗测量

功耗测量 一、相关概念二、功耗的需求三、测量仪器仪表测量连接SMU功能SMU性能指标 四、功耗测量注意点板子部分存在功耗MCU方面,可能存在干扰项仪器仪表方面 一、相关概念 静态功耗和动态功耗:动态功耗为运行功耗,功耗测量注重每MHz下的功耗…

在mac上安装node.js及使用npm,yarn相关命令教程

1、安装node.js 官网:Node.js — Download Node.js 选择需要的版本,点击DownLoad 2、点击继续,直到安装成功。 2.1打开终端输入命令node -v 显示版本号则说明已安装成功 3、全局安装yarn命令 1、sudo npm install --global yarn &#xf…

【论文阅读】互连网络的负载平衡路由算法 (RLB RLBth)

前言Oblivious Load Balancing 不经意路由负载平衡 1. oblivious routing 不经意/无关路由的背景知识 1. oblivious routing, adaptive routing & minimal/non-minimal routing algorithms 2. Balancing a 1-Dimensional ring: RLB and RLBth 一维 ring 的 RLB and RLBth 1…

Spring Boot 集成 EasyExcel 3.x

Spring Boot 集成 EasyExcel 3.x Spring Boot 集成 EasyExcel 3.x 本章节将介绍 Spring Boot 集成 EasyExcel(优雅实现Excel导入导出)。 🤖 Spring Boot 2.x 实践案例(代码仓库) 介绍 EasyExcel 是一个基于 Java 的、…

【Ubuntu20.04+gcc-9.4.0】Openface在linux下的详细环境配置(2024.4月)

近期,需要使用openface来进行人脸的crop,因此踩坑配置出在ubuntu20.04下的具体流程。话不多说,直接进入主题。 务必注意,按照顺序执行,否则很大概率报错!!!1. 安装GCC,我…

深度学习系列65:数字人openHeygen详解

1. 主流程分析 从inference.py函数进入,主要流程包括: 1) 使用cv2获取视频中所有帧的列表,如下: 2)定义Croper。核心代码为69行:full_frames_RGB, crop, quad croper.crop(full_frames_RGB)。…