【新手入门软件测试--该如何分辨前后端问题及如何定位日志--前后端问题分辨与日志定位查询问题】
前后端问题分辨与日志定位查询
- 一、前端问题
- 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. 查看日志文件
-
使用
less或more命令: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. 实时查看日志
- 结合
tail和grep实时查看特定关键字的日志: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ÿ…...
不画饼——研究生学习和赚钱的平衡点
在现代社会中,年轻人面临着学习和赚钱之间的矛盾。尤其是在经济压力日益增大的背景下,如何在这两者之间找到合适的平衡点,成为了许多学生和职场新人面临的重要问题。本文将探讨在何种情况下应该听从老师的建议,专注于学习…...
华为实时视频使用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 定义 建造者模式(Builder Pattern)使用多个简单的对象一步一步构建成一个复杂的对象。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 2 类图 产品类(Product):表示被创建的复杂…...
【jvm】为什么Xms和Xmx的值通常设置为相同的?
目录 1. 说明2. 避免性能开销3. 提升稳定性4. 简化配置5. 优化垃圾收集6. 获取参数6.1 代码示例6.2 结果示例 1. 说明 1.-Xms 和 -Xmx 参数分别用于设置堆内存的初始大小(最小值)和最大大小。2.在开发环境中,开发人员可能希望快速启动应用程…...
windows查看net网络监听端口命令和工具(ipconfig、netstat、tasklist、TCPView)
文章目录 使用命令提示符(CMD)查看网络连接和配置使用 netstat 命令查看监听端口查看特定的端口查看TCP监听端口tasklist查看对应进程ID的程序Get-NetTCPConnection 命令使用 TCPView工具使用命令提示符(CMD) 查看网络连接和配置 ipconfig :显示所有网络 适配器的当前 TC…...
JAVA-数据结构- 二叉搜索树
1.搜索树 前面我们已经使用C语言学习完了二叉树,懂得了一些二叉树的基本性质已经实现方法 https://mp.csdn.net/mp_blog/creation/editor/139572374,本文我们来一起进行二叉树的衍生-二叉搜索树 1.1 概念 二叉搜索树又称二叉排序树,它或者是…...
深入研究 RAG 流程中的关键组件
我们已经看到了整个RAG流程,并获得了第一手的实践经验,您可能会对RAG流程中一些组件的使用和目的存在很多疑惑,比如RunnablePassthrough。在本节中,我们将进一步了解这些关键组件。 RAG的核心模型思想是将一个复杂的任务分解为多…...
新手如何学习python并快速成为高手
英雄Python入门到精通链接:https://pan.quark.cn/s/57162ec366a9 学习Python作为新手,有以下几个步骤: 学习基本概念和语法:首先,你需要学习Python的基本概念和语法。可以通过在线教程、书籍或者视频教程来学习。了解…...
Linux历史命令history增加执行时间显示
Centos系统默认历史命令显示如下 为了更好的溯源,获取执行命令的准确时间,需要增加一些配置 设置环境变量 vim /etc/profile 在最下面添加以下环境配置 export HISTTIMEFORMAT"%Y-%m-%d %H:%M:%S " 立即刷新该环境变量 source /etc/pro…...
从 vue 源码看问题 — 你知道 Hook Event 吗?
前言 在之前的几篇文章中,都有提到 vue 中调用生命周期钩子时是通过 callHook() 方法进行调用的,比如在初始化篇章中调用 beforeCreate 和 created 生命周期钩子方式如下: 那么接下来一起来了解下到底什么是 Hook Event ? Hook Event 是什…...
信息安全工程师(68)可信计算技术与应用
前言 可信计算技术是一种计算机安全体系结构,旨在提高计算机系统在面临各种攻击和威胁时的安全性和保密性。 一、可信计算技术的定义与原理 可信计算技术通过包括硬件加密、受限访问以及计算机系统本身的完整性验证等技术手段,确保计算机系统在各种攻击和…...
【kafka】Golang实现分布式Masscan任务调度系统
要求: 输出两个程序,一个命令行程序(命令行参数用flag)和一个服务端程序。 命令行程序支持通过命令行参数配置下发IP或IP段、端口、扫描带宽,然后将消息推送到kafka里面。 服务端程序: 从kafka消费者接收…...
论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(二)
HoST框架核心实现方法详解 - 论文深度解读(第二部分) 《Learning Humanoid Standing-up Control across Diverse Postures》 系列文章: 论文深度解读 + 算法与代码分析(二) 作者机构: 上海AI Lab, 上海交通大学, 香港大学, 浙江大学, 香港中文大学 论文主题: 人形机器人…...
逻辑回归:给不确定性划界的分类大师
想象你是一名医生。面对患者的检查报告(肿瘤大小、血液指标),你需要做出一个**决定性判断**:恶性还是良性?这种“非黑即白”的抉择,正是**逻辑回归(Logistic Regression)** 的战场&a…...
自然语言处理——循环神经网络
自然语言处理——循环神经网络 循环神经网络应用到基于机器学习的自然语言处理任务序列到类别同步的序列到序列模式异步的序列到序列模式 参数学习和长程依赖问题基于门控的循环神经网络门控循环单元(GRU)长短期记忆神经网络(LSTM)…...
USB Over IP专用硬件的5个特点
USB over IP技术通过将USB协议数据封装在标准TCP/IP网络数据包中,从根本上改变了USB连接。这允许客户端通过局域网或广域网远程访问和控制物理连接到服务器的USB设备(如专用硬件设备),从而消除了直接物理连接的需要。USB over IP的…...
回溯算法学习
一、电话号码的字母组合 import java.util.ArrayList; import java.util.List;import javax.management.loading.PrivateClassLoader;public class letterCombinations {private static final String[] KEYPAD {"", //0"", //1"abc", //2"…...
JVM虚拟机:内存结构、垃圾回收、性能优化
1、JVM虚拟机的简介 Java 虚拟机(Java Virtual Machine 简称:JVM)是运行所有 Java 程序的抽象计算机,是 Java 语言的运行环境,实现了 Java 程序的跨平台特性。JVM 屏蔽了与具体操作系统平台相关的信息,使得 Java 程序只需生成在 JVM 上运行的目标代码(字节码),就可以…...
VM虚拟机网络配置(ubuntu24桥接模式):配置静态IP
编辑-虚拟网络编辑器-更改设置 选择桥接模式,然后找到相应的网卡(可以查看自己本机的网络连接) windows连接的网络点击查看属性 编辑虚拟机设置更改网络配置,选择刚才配置的桥接模式 静态ip设置: 我用的ubuntu24桌…...
算法—栈系列
一:删除字符串中的所有相邻重复项 class Solution { public:string removeDuplicates(string s) {stack<char> st;for(int i 0; i < s.size(); i){char target s[i];if(!st.empty() && target st.top())st.pop();elsest.push(s[i]);}string ret…...
【版本控制】GitHub Desktop 入门教程与开源协作全流程解析
目录 0 引言1 GitHub Desktop 入门教程1.1 安装与基础配置1.2 核心功能使用指南仓库管理日常开发流程分支管理 2 GitHub 开源协作流程详解2.1 Fork & Pull Request 模型2.2 完整协作流程步骤步骤 1: Fork(创建个人副本)步骤 2: Clone(克隆…...
