Web测试中的BUG定位与分析

在Web测试过程中,页面内容或数据显示错误、不显示等问题是常见的挑战。为了高效地定位并解决这些问题,我们可以利用浏览器自带的开发者工具、数据库等工具进行排查和分析定位BUG。

一、发现BUG

  1. 保存现场并复现:遇到问题时,首先截图保存现场,并尝试复现问题至少三次,确保问题的稳定性和可复现性。
  2. 排除低级问题
    • 确认被测程序的版本、配置项、网络环境等是否正确。
    • 验证是否因为对需求的理解错误导致的误解。
  3. 注重性价比:如果短时间内无法定位问题,及时与开发团队沟通,说明当前情况,并请求协助。
  4. 建设bug知识库:建立和维护一个BUG历史知识库,便于温故知新,提升问题排查效率。

二、WEB项目BUG定位策略

  1. 区分浏览器端与服务端问题
    • 使用Fiddler或开发者工具查看HTTP请求和响应内容,判断问题来源。
  2. 浏览器端问题定位
    • 利用开发者工具进一步分析,如控制台(Console)查看JS报错信息。
    • 对于页面元素问题,如图片不显示,可通过检查元素(Inspect)功能定位问题。
  3. 服务端问题定位
    • 观察后台日志,分析接口返回内容,缩小问题范围。
    • 如有必要,使用JPDA等工具进行远程调试。

三、bug定位常用工具介绍

  • 开发者工具:浏览器自带的开发者工具,功能强大,包括Element、Console、Sources、Network等标签页,用于查看HTML结构、JS报错、资源文件、网络请求等。
    • Element标签:该标签使用来查看页面的HTML标签元素的,能够也就是查看源码,我们可以看到布局,可以看到用到的样式,还有用到的链接等等。
    • console标签:这个就是一个web控制台,可以查看网页运行后提示的消息,错误或者警告以及输出内容等
    • sources标签:这个是显示资源文件的,可以查看运行的脚本,调试一般都是在Sources调试的
    • Network标签:这个就是抓包常用的工具,可以看到网页加载的脚本和资源的时间,还可以看到某些不能加载成功的资源。那么这个页面就是用于抓包的页面,我们需要分析页面的请求,比如模拟登陆什么的都需要去分析程序是怎么在后台执行的,接下来就,我们可以看到Headers(请求消息头) Preview(预览) Response(响应) Timing(请求时间)Cookie这些东西。
  • 后台日志:记录服务端运行情况的日志,是定位服务端问题的重要工具。
  • Fiddler:网络抓包工具,可以捕获浏览器发出的所有HTTP请求和响应,帮助分析网络问题。
  • 数据库:直接查询数据库可以验证数据是否正确写入或读取,对于排查与数据相关的问题非常有用。

四、浏览器端问题定位与分析

浏览器端的问题主要涉及功能、界面和兼容性等方面,与JS、CSS、HTML等前端技术紧密相关。

bug类型:

1、JS写的有问题,这个可以按F12 打开控制台,在console中查看报错信息,一般浏览器都会显示报错的jS ,对于出错的js可以在Sources下查看对应报错的资源文件,基本上都可以找到错误原因:变量未定义,参数未定义等。 

2、页面中的bug,现在做web项目基本上没有做静态页面的都是动态的,页面报错的话,在控制台是可以看到错误行号和附近代码的。

3、图片不显示,谷歌浏览器右键点击图片,点击【检查】(火狐浏览器右键点击【使用firebug查看元素】)在打开的控制台上找出图片的属性,输入到浏览器的地址内,如果能打开图片,那么不显示图片的问题就是后台的问题;如果浏览器内不能打开图片,那么就是前端的问题。。

五、服务端问题定位与分析

接口信息定位:

通过抓包软件或者开发者工具抓取接口信息,然后根据响应的值判断一些bug:

1、响应中没有数据,则是后端数据没有返回,前端展示为空,则为后端问题。例如:列表中新增一个数据,没有显示,通过请求中可以看到数据total为0,则是后端数据没有返回。

2、响应中有数据,但是前端显示错误了,可以根据字段值判断是否前端显示中取错了字段显示,可以判断是前端问题。例如:B端显示内容错误了,把登录用户名显示了登录帐号,则可以在响应中看数据是否返回正确,返回正确而显示错误,则有可能是前端绑定字段错误。

3、响应中有数据,但是跟自己操作的结果不一致,可以根据数据库查询,如果数据库中也没有记录,可能是代码有问题,没有记录你的操作。例如:注册了一个帐号,但是登录时提示帐号或密码错误,这就可以在数据库表中查看是否有注册的数据。

其它:

根据后台日志文件查找错误 后台涉及到servlet,jms,ejb,还有很多框架,struts,hibernate,spring,ibatis等。主要就是看控制台报错,然后定位错误行号。如果配置文件没有问题,那么一般的报错就是空指针,或者是数组下标越界。

注意: jsp分不清前后台的,因为这里涉及到一个运行时刻的问题,它们的运行时刻是不同。用户发出请求后,服务器解析用户请求,转至对应的jsp,这个时候可以说是整个jsp都是后台程序。而Jsp做出响应后,把响应的内容返回给浏览器,这个时候浏览器就只看见html,css,javascript,这个时候所有的程序又都是前台程序。                                                                                                                                                                                                                      

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/13751.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

cPanel中如何移除之前添加的域名

我这边想要移除我之前绑定到主机的域名,但是不知道如何在主机上面进行移除,由于我使用的Hostease的Linux虚拟主机产品默认带普通用户权限的cPanel面板,但是不知道如何在cPanel上操作移除域名,因为也是对于Hostease主机产品不是很了…

技术驱动创新:淘宝扭蛋机小程序的技术实现与挑战

随着科技的飞速发展和人们生活方式的转变,小程序已经成为人们日常生活中不可或缺的一部分。淘宝扭蛋机小程序,作为一种集购物、娱乐于一体的新型电商模式,凭借其独特的创意和便捷的使用体验,受到了广大用户的喜爱。然而&#xff0…

Linux磁盘高级操作

RAID RAID存储系统是一种数据存储虚拟化技术,它将多个物理磁盘驱动器组合成一个或多个逻辑单元,以提供数据冗余和/或提高性能。 1. RAID 0 无奇偶校验与冗余(磁盘容错)的条带存储(带区卷/条带卷) 由两块…

基于windows通过kind部署轻量级便携式k8s集群

感谢老师的视频教程: 基于windows通过kind部署轻量级便携式k8s集群 wsl windows下的linux wsl --set-default-version 2 wsl --help wsl --list --online wsl --install -d Ubuntu wsl -l -v (看看版本是不是2,否则docker那边识别不到&…

从零开始:在线教育系统源码与知识付费小程序开发指南

开发一个功能完善的在线教育系统和知识付费小程序并不是一件简单的事情。今天,小编将从零开始,详细介绍如何开发在线教育系统和知识付费小程序。 一、需求分析与系统设计 在开始编写代码之前,首先需要进行需求分析和系统设计。这一步非常关键…

理解Apache Storm的实际用途和应用场景

学习目标: 理解Apache Storm的实际用途和应用场景 学习内容: 1. 实时数据处理和分析 1.1 实时日志分析 公司可以使用Storm来实时处理和分析服务器日志。例如,电商网站可以实时监控用户行为日志,以检测异常活动(如DD…

汽车摄像头智能画质增强解决方案,高品质车载视觉系统

在数字化与智能化浪潮的推动下,汽车行业正经历着一场前所未有的技术革命。其中,车载摄像头作为智能驾驶与安防监控的核心部件,其画质的高低直接关系到行车安全与驾驶体验。美摄科技,作为行业领先的智能图像技术解决方案提供商&…

网上的面经【面试准备】

网上的面经【面试准备】 前言版权推荐网上的面经【面试】腾讯广告后台开发一面字节跳动日常实习一面凉经数字马力 后端开发 一面二面面经(社招)阿里后台面试最新Java后端面经合集 | 阿里腾讯百度字节]最后 前言 2023-07-15 18:39:29 公开发布于 2024-5…

机器学习圣经PRML作者Bishop推出重磅教材

图1 书籍《Pattern Recognition and Machine Learning》 只要学人工智能的人,必然学机器学习。 只要学机器学习的人,必然看PRML。 PRML为何物? PRML全名《Pattern Recognition and Machine Learning》,一部机器学习领域的内功…

数据库系列之MySQL数据库中内存使用分析

在实际系统环境中,MySQL实例的内存使用随着业务的增长缓慢增长,有些时候并没有及时的释放。本文简要介绍下MySQL数据库中和内存相关的配置,以及分析内存的实际使用情况,以进行应急和调优处理。 1、MySQL内存结构 在MySQL中内存的…

Docker run 语句用法详解

docker run 是 Docker 命令中最核心的指令之一,用于根据指定的镜像创建并启动一个新的容器。本文将深入解析 docker run 的使用方法,包括其基本语法、选项参数以及一些高级用法,帮助你更高效地管理和运行 Docker 容器。 基本语法 docker ru…

MySQL索引和视图

MySQL索引和视图是关系型数据库MySQL中的两个重要概念。索引用于优化数据库的查询性能,而视图用于提供一个逻辑上的表结构,方便用户查询和操作数据。 索引是一种数据结构,可以加速对数据库表中的数据进行查询的速度。通过创建索引&#xff0…

激光雷达SLAM算法综述

大家好呀,我是一个SLAM方向的在读博士,深知SLAM学习过程一路走来的坎坷,也十分感谢各位大佬的优质文章和源码。随着知识的越来越多,越来越细,我准备整理一个自己的激光SLAM学习笔记专栏,从0带大家快速上手激…

BEVFusion的相机工作流中,图像编码之后FPN+ADP网络的作用

在BEVFusion的相机工作流中,图像编码之后会经过一个FPNADP的网络,那么这个结构的作用是什么呢 FPN大家都很熟悉,就是特征金字塔。但是这里还是贴一些来自GPT的废话 在Bird’s Eye View (BEV) 算法中使用的特征金字塔网络(FPN, Feature Pyrami…

Clean Code 阅读笔记

初期未记录,待二次阅读。。。 Concurrency Keep your concurrrency-related code separate from other code.Take data encapsulation to heart; severely limit the access of any data that may be shared.Attempt to partition data into independent subsets …

Redis 缓存失效策略及其应用场景

Redis,作为一款高性能的键值存储系统,广泛应用于缓存、消息队列、计数器等多种场景中。其高效的数据管理和过期策略是保证系统稳定运行的关键因素之一。本文将深入探讨Redis中缓存失效的几种策略——定时删除、惰性删除、定期删除,以及如何结…

三十岁,不能再需要依靠,因为你是所有人的依靠

在这个世界的某个角落,有一个被岁月轻抚过的门槛,跨过了它,便是三十岁的风景。人们常说,三十而立,仿佛在这一刻,生命被赋予了新的重量,不再是那片随风飘荡的云,而是成为了大地的一部…

视频监控管理平台LntonCVS监控视频汇聚融合云平台主要功能应用场景介绍

随着网络技术的不断发展和万物互联时代的到来,视频融合在一些系统集成项目及综合管理应用中变得日益重要。本文以LntonCVS视频融合云平台为案例,探讨视频融合的对象及其应用场景。 1. 视频监控设备 视频监控摄像设备是各种视频应用项目的基础部分。在视…

【Andoird开发】android获取蓝牙权限,beacon,android-beacon-library

iBeacon 最先是苹果的技术,使用android-beacon-library包可以在android上开发iBeacon 技术。 iBeacon的发明意义重大。它是一种基于蓝牙低功耗(Bluetooth Low Energy, BLE)技术的定位系统,通过向周围发送信号来标识其位置。这项技…

【NumPy】关于numpy.arange()函数,看这一篇文章就够了

🧑 博主简介:阿里巴巴嵌入式技术专家,深耕嵌入式人工智能领域,具备多年的嵌入式硬件产品研发管理经验。 📒 博客介绍:分享嵌入式开发领域的相关知识、经验、思考和感悟,欢迎关注。提供嵌入式方向…