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

bug定位策略

前提--用户环境层面

  • hosts异常:hosts文件主要是加快某个域名或者网站的解析速度,从而达到快速访问的作用,也可以屏蔽网站。hosts异常可能会导致部分网页无法访问,能够加载,但是网页无法正常显示;
  • 测试环境脏数据:遇到服务端报500错误,查看日志后,报空指针,很有可能是数据库中关联表的数据被人为删掉导致的(脏数据:从目标中取出的数据已经过期、错误或者没有意义);
  • 测试环境切了分支;
  • 项目配置开关;
  • 操作不正确;
  • 网络是否ping通;
  • ip和端口配置是否正确;

前端bug

  • 页面布局类问题;(css样式问题)
  • 交互类问题:按钮无法点击(前端按钮没有加对应的接口,导致接口没有被调用)、没有拖拽事件等;(js交互问题)
  • 文本的展示(html文本问题)
  • 兼容性问题;

后端bug

  • 业务逻辑类问题:如正确的用户名和密码无法登录,支付后扣款成功,但是显示支付失败等

  • 数据类问题:了解所测功能的数据表结构,测试中查看数据库中数据是否正确;如新增成功的数据没有显示、注册成功但登陆失败,通过查询数据库用户表,发现没有插入注册成功的数据等;

  • 性能类问题:如页面、表单打开缓慢,提交表单一直显示提交中等;

  • 安全类问题:如越权、sql注入等;

抓包工具+报文分析

  • 报文中前端没有发出请求,前端bug;
  • 报文中前端发出请求,请求参数异常,前端bug;
  • 报文中前端发出请求,请求参数正常,后端响应数据正常,前端界面没有正常显示,前端bug;
  • 报文中前端发出请求,请求参数正常,后端没有响应数据,后端bug;
  • 报文中前端发出请求,请求参数正常,后端响应数据错误,后端bug;

分析日志

  • 复现bug时抓取后端服务器的日志并分析后端的日志;
  • 如果操作没有日志产生,则这个属于前端bug,因为没有和后端进行交互;
  • 如果日志有相关信息产生,可以进一步分析日志是否有报错信息,如果有报错信息,则为后端bug;
  • grep精确查找(服务/日志文件名/关键字/如订单号)
  • tail动态查找

查看数据库

查看缓存

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • python连接kafka生产者发送消息
  • Memcached vs Redis——Java项目缓存选择
  • 数据结构-C语言-排序(2)
  • excel系列(二) - 利用 easypoi 快速实现 excel 文件导入导出
  • QQ频道导航退出
  • CV09_深度学习模块之间的缝合教学(4)--调参
  • 自定义 Java ClassLoader:深入探索
  • 13 IP层协议-网际控制报文协议ICMP
  • 人工智能算法工程师(中级)课程13-神经网络的优化与设计之梯度问题及优化与代码详解
  • 【正点原子i.MX93开发板试用连载体验】录音小程序采集语料
  • C++客户端Qt开发——常用控件(多元素控件)
  • 数据库管理1
  • 【Linux】centos7安装PHP7.4报错:libzip版本过低
  • 计算机网络入门
  • Ubuntu 磁盘扩容
  • 【Redis学习笔记】2018-06-28 redis命令源码学习1
  • Java 实战开发之spring、logback配置及chrome开发神器(六)
  • javascript数组去重/查找/插入/删除
  • Material Design
  • Median of Two Sorted Arrays
  • Selenium实战教程系列(二)---元素定位
  • SQLServer之索引简介
  • Stream流与Lambda表达式(三) 静态工厂类Collectors
  • Theano - 导数
  • 纯 javascript 半自动式下滑一定高度,导航栏固定
  • 从重复到重用
  • 第2章 网络文档
  • 利用DataURL技术在网页上显示图片
  • 那些被忽略的 JavaScript 数组方法细节
  • 如何合理的规划jvm性能调优
  • 如何用vue打造一个移动端音乐播放器
  • 使用Swoole加速Laravel(正式环境中)
  • 【云吞铺子】性能抖动剖析(二)
  • ​Base64转换成图片,android studio build乱码,找不到okio.ByteString接腾讯人脸识别
  • ​HTTP与HTTPS:网络通信的安全卫士
  • #if #elif #endif
  • #在 README.md 中生成项目目录结构
  • (12)Linux 常见的三种进程状态
  • (Note)C++中的继承方式
  • (八)Spring源码解析:Spring MVC
  • (附程序)AD采集中的10种经典软件滤波程序优缺点分析
  • (附源码)springboot车辆管理系统 毕业设计 031034
  • (免费领源码)Java#ssm#MySQL 创意商城03663-计算机毕业设计项目选题推荐
  • (十六)视图变换 正交投影 透视投影
  • (原创)攻击方式学习之(4) - 拒绝服务(DOS/DDOS/DRDOS)
  • (转)德国人的记事本
  • (转)平衡树
  • (自用)gtest单元测试
  • **python多态
  • .NET 设计模式—适配器模式(Adapter Pattern)
  • .Net6使用WebSocket与前端进行通信
  • 。Net下Windows服务程序开发疑惑
  • /etc/fstab和/etc/mtab的区别
  • @KafkaListener注解详解(一)| 常用参数详解
  • @Value获取值和@ConfigurationProperties获取值用法及比较(springboot)