当前位置: 首页 > news >正文

【新手入门软件测试--该如何分辨前后端问题及如何定位日志--前后端问题分辨与日志定位查询问题】

前后端问题分辨与日志定位查询

  • 一、前端问题
    • 1. 页面无法加载
    • 2. 样式错乱
    • 3. API请求失败
    • 4. 数据格式错误
    • 5. 跨域请求问题
  • 二、后端问题
    • 6. 表单验证失败
    • 7. 数据库连接失败
    • 8. 请求超时
    • 9. 权限问题
    • 10. JavaScript运行错误
  • 三、日志查询的方法
    • 1. 查看日志文件
    • 2. 过滤关键字
    • 3. 实时查看日志

一、前端问题

1. 页面无法加载

  • 表现:用户打开页面时只看到空白或加载中。
  • 实例:用户报告说访问首页后没有任何内容。
  • 定位与解决
    • 检查控制台:查看是否有404或JavaScript错误。
    • 解决方案:确认HTML、CSS和JavaScript文件的路径正确,并确保服务器正常运行。

2. 样式错乱

  • 表现:页面布局与设计不符,元素重叠或错位。
  • 实例:用户反馈按钮位置不对,样式失效。
  • 定位与解决
    • 使用开发者工具:检查元素的CSS属性,确认样式是否被覆盖。
    • 解决方案:检查CSS文件是否正确加载,修复样式冲突。

3. API请求失败

  • 表现:前端通过AJAX请求数据时,收到错误响应。
  • 实例:用户尝试登录,点击“提交”后返回404错误。
  • 定位与解决
    • 查看网络请求:在“网络”选项卡中查看请求状态和返回内容。
    • 解决方案:检查API路径是否正确,并确认后端服务已启动。

4. 数据格式错误

  • 表现:后端返回的数据结构与前端预期不一致。
  • 实例:用户在表单提交后,收到错误格式的返回数据。
  • 定位与解决
    • 检查API文档:确认后端返回的数据格式是否符合预期。
    • 解决方案:修改后端代码,确保返回的数据结构正确。

5. 跨域请求问题

  • 表现:前端无法访问后端API,控制台报错CORS。
  • 实例:用户尝试从不同域名请求数据时,出现跨域错误。
  • 定位与解决
    • 查看控制台错误:检查具体的CORS错误信息。
    • 解决方案:在后端设置CORS策略,允许特定源进行请求。

二、后端问题

6. 表单验证失败

  • 表现:用户提交表单时,未显示验证错误或提交无效数据。
  • 实例:用户填写表单,提交后没有提示信息。
  • 定位与解决
    • 检查JavaScript代码:查看表单验证逻辑是否正常。
    • 解决方案:确保在表单提交前进行有效性检查,并给予用户反馈。

7. 数据库连接失败

  • 表现:后端无法读取或写入数据库。
  • 实例:用户尝试登录时,后端返回“无法连接到数据库”的错误。
  • 定位与解决
    • 检查后端日志:查看是否有数据库连接错误。
    • 解决方案:确认数据库服务运行,并检查连接配置(如用户名、密码、端口)。

8. 请求超时

  • 表现:前端请求长时间无响应,显示超时。
  • 实例:用户请求数据时,页面长时间无反应。
  • 定位与解决
    • 查看网络请求:确认请求是否超时,以及响应时间。
    • 解决方案:优化后端处理逻辑,确保快速响应。

9. 权限问题

  • 表现:用户访问受限资源时返回403或401错误。
  • 实例:用户尝试访问管理页面时,显示未授权。
  • 定位与解决
    • 检查用户状态:确认用户是否已登录及其角色权限。
    • 解决方案:修复权限设置,确保用户具有访问所需资源的权限。

10. JavaScript运行错误

  • 表现:用户在页面操作时,控制台报错,功能无法使用。
  • 实例:用户点击某个按钮时,出现Uncaught TypeError错误。
  • 定位与解决
    • 查看控制台错误信息:确认具体的错误类型和位置。
    • 解决方案:修复代码逻辑,确保所调用的对象或函数正确。

三、日志查询的方法

1. 查看日志文件

  • 使用 lessmore 命令

    less /path/to/logfile.log
    
  • 查看文件的前100行

    head -n 100 /path/to/logfile.log
    
  • 查看文件的后100行

    tail -n 100 /path/to/logfile.log
    

2. 过滤关键字

  • 使用 grep 过滤特定关键字

    grep "关键字" /path/to/logfile.log
    
  • 查看某一特定接口的日志

    grep "/api/specific-endpoint" /path/to/logfile.log
    
  • 查看某一特定用例的日志(假设用例有特定的标识符):

    grep "用例ID" /path/to/logfile.log
    

3. 实时查看日志

  • 结合 tailgrep 实时查看特定关键字的日志
    tail -f /path/to/logfile.log | grep "关键字"
    

推荐阅读:
Postman深入测试接口的详细指南
测试小白–如何写好测试用例–测试用例编写的方法


以上均为本人自我总结,需要帮助请私信我,及欢迎各位前来探讨~

相关文章:

【新手入门软件测试--该如何分辨前后端问题及如何定位日志--前后端问题分辨与日志定位查询问题】

前后端问题分辨与日志定位查询 一、前端问题1. 页面无法加载2. 样式错乱3. API请求失败4. 数据格式错误5. 跨域请求问题 二、后端问题6. 表单验证失败7. 数据库连接失败8. 请求超时9. 权限问题10. JavaScript运行错误 三、日志查询的方法1. 查看日志文件2. 过滤关键字3. 实时查…...

【Java Web】DAO模式及单例模式(含代码示例)

文章目录 JDBC封装DAO模式实体类DAO接口DAO实现类数据源配置基础DAO类业务逻辑层 单例模式饿汉式懒汉式 JDBC封装 JDBC(Java Database Connectivity)封装是一种将 JDBC 的基本操作和常见的数据库访问逻辑封装成易于使用的工具类或框架的方法。这样做的目…...

深入探讨SEO分析技巧助力网站流量提升

内容概要 在当前的数字化时代,SEO分析的重要性不言而喻。它是提升网站流量的关键工具,帮助站长有效地优化网站内容和结构。通过系统的SEO分析,站长可以掌握用户搜索行为和需求,从而制定出更具针对性的内容策略。例如,…...

Chrome 130 版本开发者工具(DevTools)更新内容

Chrome 130 版本开发者工具(DevTools)更新内容 一、网络(Network)面板更新 1. 重新定义网络过滤器 网络面板获新增了一些过滤条件,这些过滤条件是根据反馈重新设计的,特定于类型的过滤条件保持不变&…...

深度学习基础知识-残差网络ResNet

目录 一、ResNet 的核心思想:残差学习(Residual Learning) 二、ResNet 的基本原理 三、ResNet 网络结构 1. 残差块(Residual Block) ResNet 的跳跃连接类型 2. 网络结构图示 四、ResNet 的特点和优势 五、ResNe…...

Linux云计算个人学习总结(二)

高级文件系统 一、RSYNC概述 1、作用:快速的文件复制工具(支持本地和远程),以及删除、查看等基本功能。 2、特点:支持实时(inotify、sersync)的增量备份工具3、模式:检查模式&#…...

Java入门(7)--网络编程

Java网络编程:构建网络应用的基石 🌐 🎯 掌握Java网络编程,打造强大的网络应用! 在上一篇文章中,我们探讨了Java的I/O操作和反射机制。今天,让我们深入学习Java网络编程,了解如何构建…...

[思考记录]思维局限,以为懂了

最近配合整理一些内容,找到较早期的某些产品设计资料在翻阅回顾。在这次回顾过程中,发现当时自己的理解存在很多局限。 以资源体系的设计为例,那时自认为已经“懂了”,对相关的概念、作用关系、组成及实现等都有一定的了解&#x…...

力扣题目解析--最长公共前缀

题目 编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,返回空字符串 ""。 示例 1: 输入:strs ["flower","flow","flight"] 输出:"fl"示例 2&#xff…...

不画饼——研究生学习和赚钱的平衡点

在现代社会中,年轻人面临着学习和赚钱之间的矛盾。尤其是在经济压力日益增大的背景下,如何在这两者之间找到合适的平衡点,成为了许多学生和职场新人面临的重要问题。本文将探讨在何种情况下应该听从老师的建议,专注于学习&#xf…...

华为实时视频使用FLV播放RTSP流

import flvjs from ‘flv.js’; 安装flv <video style"width:100%;height:100%;" ref"videoHWRef" ></video>// src 华为rtsp流 rtsp://admin:Huaweivideo10.10.8.151:554/xxx/trackID1// url 需要后端提供视频源地址playVideo() {if (fl…...

JAVA设计模式之【建造者模式】

1 定义 建造者模式&#xff08;Builder Pattern&#xff09;使用多个简单的对象一步一步构建成一个复杂的对象。这种类型的设计模式属于创建型模式&#xff0c;它提供了一种创建对象的最佳方式。 2 类图 产品类&#xff08;Product&#xff09;&#xff1a;表示被创建的复杂…...

【jvm】为什么Xms和Xmx的值通常设置为相同的?

目录 1. 说明2. 避免性能开销3. 提升稳定性4. 简化配置5. 优化垃圾收集6. 获取参数6.1 代码示例6.2 结果示例 1. 说明 1.-Xms 和 -Xmx 参数分别用于设置堆内存的初始大小&#xff08;最小值&#xff09;和最大大小。2.在开发环境中&#xff0c;开发人员可能希望快速启动应用程…...

windows查看net网络监听端口命令和工具(ipconfig、netstat、tasklist、TCPView)

文章目录 使用命令提示符(CMD)查看网络连接和配置使用 netstat 命令查看监听端口查看特定的端口查看TCP监听端口tasklist查看对应进程ID的程序Get-NetTCPConnection 命令使用 TCPView工具使用命令提示符(CMD) 查看网络连接和配置 ipconfig :显示所有网络 适配器的当前 TC…...

JAVA-数据结构- 二叉搜索树

1.搜索树 前面我们已经使用C语言学习完了二叉树&#xff0c;懂得了一些二叉树的基本性质已经实现方法 https://mp.csdn.net/mp_blog/creation/editor/139572374&#xff0c;本文我们来一起进行二叉树的衍生-二叉搜索树 1.1 概念 二叉搜索树又称二叉排序树&#xff0c;它或者是…...

深入研究 RAG 流程中的关键组件

我们已经看到了整个RAG流程&#xff0c;并获得了第一手的实践经验&#xff0c;您可能会对RAG流程中一些组件的使用和目的存在很多疑惑&#xff0c;比如RunnablePassthrough。在本节中&#xff0c;我们将进一步了解这些关键组件。 RAG的核心模型思想是将一个复杂的任务分解为多…...

新手如何学习python并快速成为高手

英雄Python入门到精通链接&#xff1a;https://pan.quark.cn/s/57162ec366a9 学习Python作为新手&#xff0c;有以下几个步骤&#xff1a; 学习基本概念和语法&#xff1a;首先&#xff0c;你需要学习Python的基本概念和语法。可以通过在线教程、书籍或者视频教程来学习。了解…...

Linux历史命令history增加执行时间显示

Centos系统默认历史命令显示如下 为了更好的溯源&#xff0c;获取执行命令的准确时间&#xff0c;需要增加一些配置 设置环境变量 vim /etc/profile 在最下面添加以下环境配置 export HISTTIMEFORMAT"%Y-%m-%d %H:%M:%S " 立即刷新该环境变量 source /etc/pro…...

从 vue 源码看问题 — 你知道 Hook Event 吗?

前言 在之前的几篇文章中&#xff0c;都有提到 vue 中调用生命周期钩子时是通过 callHook() 方法进行调用的&#xff0c;比如在初始化篇章中调用 beforeCreate 和 created 生命周期钩子方式如下: 那么接下来一起来了解下到底什么是 Hook Event &#xff1f; Hook Event 是什…...

信息安全工程师(68)可信计算技术与应用

前言 可信计算技术是一种计算机安全体系结构&#xff0c;旨在提高计算机系统在面临各种攻击和威胁时的安全性和保密性。 一、可信计算技术的定义与原理 可信计算技术通过包括硬件加密、受限访问以及计算机系统本身的完整性验证等技术手段&#xff0c;确保计算机系统在各种攻击和…...

[特殊字符] 智能合约中的数据是如何在区块链中保持一致的?

&#x1f9e0; 智能合约中的数据是如何在区块链中保持一致的&#xff1f; 为什么所有区块链节点都能得出相同结果&#xff1f;合约调用这么复杂&#xff0c;状态真能保持一致吗&#xff1f;本篇带你从底层视角理解“状态一致性”的真相。 一、智能合约的数据存储在哪里&#xf…...

大语言模型如何处理长文本?常用文本分割技术详解

为什么需要文本分割? 引言:为什么需要文本分割?一、基础文本分割方法1. 按段落分割(Paragraph Splitting)2. 按句子分割(Sentence Splitting)二、高级文本分割策略3. 重叠分割(Sliding Window)4. 递归分割(Recursive Splitting)三、生产级工具推荐5. 使用LangChain的…...

【SQL学习笔记1】增删改查+多表连接全解析(内附SQL免费在线练习工具)

可以使用Sqliteviz这个网站免费编写sql语句&#xff0c;它能够让用户直接在浏览器内练习SQL的语法&#xff0c;不需要安装任何软件。 链接如下&#xff1a; sqliteviz 注意&#xff1a; 在转写SQL语法时&#xff0c;关键字之间有一个特定的顺序&#xff0c;这个顺序会影响到…...

令牌桶 滑动窗口->限流 分布式信号量->限并发的原理 lua脚本分析介绍

文章目录 前言限流限制并发的实际理解限流令牌桶代码实现结果分析令牌桶lua的模拟实现原理总结&#xff1a; 滑动窗口代码实现结果分析lua脚本原理解析 限并发分布式信号量代码实现结果分析lua脚本实现原理 双注解去实现限流 并发结果分析&#xff1a; 实际业务去理解体会统一注…...

【JavaSE】绘图与事件入门学习笔记

-Java绘图坐标体系 坐标体系-介绍 坐标原点位于左上角&#xff0c;以像素为单位。 在Java坐标系中,第一个是x坐标,表示当前位置为水平方向&#xff0c;距离坐标原点x个像素;第二个是y坐标&#xff0c;表示当前位置为垂直方向&#xff0c;距离坐标原点y个像素。 坐标体系-像素 …...

企业如何增强终端安全?

在数字化转型加速的今天&#xff0c;企业的业务运行越来越依赖于终端设备。从员工的笔记本电脑、智能手机&#xff0c;到工厂里的物联网设备、智能传感器&#xff0c;这些终端构成了企业与外部世界连接的 “神经末梢”。然而&#xff0c;随着远程办公的常态化和设备接入的爆炸式…...

docker 部署发现spring.profiles.active 问题

报错&#xff1a; org.springframework.boot.context.config.InvalidConfigDataPropertyException: Property spring.profiles.active imported from location class path resource [application-test.yml] is invalid in a profile specific resource [origin: class path re…...

深度学习习题2

1.如果增加神经网络的宽度&#xff0c;精确度会增加到一个特定阈值后&#xff0c;便开始降低。造成这一现象的可能原因是什么&#xff1f; A、即使增加卷积核的数量&#xff0c;只有少部分的核会被用作预测 B、当卷积核数量增加时&#xff0c;神经网络的预测能力会降低 C、当卷…...

[ACTF2020 新生赛]Include 1(php://filter伪协议)

题目 做法 启动靶机&#xff0c;点进去 点进去 查看URL&#xff0c;有 ?fileflag.php说明存在文件包含&#xff0c;原理是php://filter 协议 当它与包含函数结合时&#xff0c;php://filter流会被当作php文件执行。 用php://filter加编码&#xff0c;能让PHP把文件内容…...

零知开源——STM32F103RBT6驱动 ICM20948 九轴传感器及 vofa + 上位机可视化教程

STM32F1 本教程使用零知标准板&#xff08;STM32F103RBT6&#xff09;通过I2C驱动ICM20948九轴传感器&#xff0c;实现姿态解算&#xff0c;并通过串口将数据实时发送至VOFA上位机进行3D可视化。代码基于开源库修改优化&#xff0c;适合嵌入式及物联网开发者。在基础驱动上新增…...