!!!定位bug之前要确定自己对用例的理解是否有问题(在工作中,很多测试结果错误都是因为自己对用例的理解没有到位,以致于操作错误导致结果不符合预期)


一般来说bug分为前端bug和后端bug,前端bug为请求数据错误,后端bug为响应数据错误

前端bug

根据运行结果与预期不符的步骤进行定位,然后抓包,一般来说主流浏览器(Chrome,firefox等)自带抓包插件。其他常用抓包软件:fiddler,burpsuite,wireshake等。

1.抓包:

在网页先打开f12开发者工具,NetWork中查看发送的请求是否正确,包括状态码,URL,请求参数等。如果错误,需对其错误进行进一步分析。

常见状态码错误:

  • 400 :语义有误,当前请求无法被服务器理解;
  • 403 (禁止) 服务器拒绝请求。
  • 404 (未找到) 服务器找不到请求的网页。
  • 412 (未满足前提条件) 服务器未满足请求者在请求中设置的其中一个前提条件。
  • 500 (服务器内部错误) 服务器遇到错误,无法完成请求。
  • 502 (错误网关) 服务器作为网关或代理,从上游服务器收到无效响应。

ps:抓包时需要关闭浏览器其他插件,排除工具的干扰。

2.兼容性相关bug

2.1浏览器本身不兼容的问题,会导致无法加载页面的情况,报错信息一般也可以通过抓包和通过控制台查看错误行号和附近代码

2.2浏览器的版本更新,导致产品原本的功能无法使用,这时就需要确定多个浏览器是否都是这个情况。

后端bug

若前端请求数据没问题,那就需要定位是否为后端bug。

1.接口查看:在网页先打开f12开发者工具,查看响应数据,对比通过后端接口拿到的数据和前端显示的数据,来确认问题出在哪里。

2.查看报错日志,通过日志分析发生问题的位置。

3.查看缓存是否正确。

4.查看数据库确认数据的是否正确。

ps:确定为bug后。对比软件的上一个版本测试一下bug是否能够重现,如果上个版本也会出现bug,说明可能是软件本身的代码问题。若不能重现,可能是这个版本的某些功能改动导致的bug。


自动化测试定位bug:根据报错的代码位置进行定位检查

  • 检查方法用法是否正确
  • 检查传参是否正确
  • 单步调试错误代码(这是个很重要也是很有效的方法,边调试和边查看控制台能够准确定位错误原因)

写自动化测试用例之前先看一下手动测试结果有没有问题!!!

若手动测试用例没有问题,而自动化测试的结果有问题或者不稳定,先检查自动化代码逻辑是否正确。若正确,则可判断出用例不适合做自动化。

ps:如何证明自动化代码逻辑正确?在代码中添加可以覆盖到所有情况的代码,进行测试是否全部通过。若不通过,则为代码逻辑问题。

关于调试代码的时候会出现的问题:如果有些代码的方法使用发生了错误,有可能是产品其他部门的功能更新了,这个时候就需要跟其他部门的人沟通确定一下。

web测试中如何简单定位bug相关推荐

  1. 001-你在测试中发现了一个 bug ,但是开发经理认为这不是一个 bug ,你应该怎样解决...

    你在测试中发现了一个  bug ,但是开发经理认为这不是一个  bug ,你应该怎样解决 1.将问题提交到缺陷管理库里面进行备案. 2.要获取判断的依据和标准: 根据需求说明书.产品说明.设计文档等, ...

  2. Web测试中定位bug方法

    原文:https://www.jianshu.com/p/696474d96bde 在web测试过程中,经常会遇到页面中内容或数据显示错误,甚至不显示,第一反应就是BUG,进一步了解这个BUG的问题出 ...

  3. 测试使用linux日志定位BUG,Web测试中定位bug方法

    在web测试过程中,经常会遇到页面中内容或数据显示错误,甚至不显示,第一反应就是BUG,进一步了解这个BUG的问题出在那里,是测试人员需要掌握的,可以简单的使用浏览器自带开发者工具.数据库工具配合去排 ...

  4. web测试中的测试点和测试方法总结

    测试是一种思维,包括情感思维和智力思维,情感思维主要体现在一句俗语:思想决定行动上(要怀疑一切),智力思维主要体现在测试用例的设计上.具有了这样的思想,就会找出更多的bug. 一.输入框 1.字符型输 ...

  5. 软件功能测试Checklist 在 Web 测试中的重要性

    Checklist(检查清单)从名字字面意思即可理解,是用于检查的一系列条目.之所以需要 Checklist,是因为人们的记忆会有疏忽,可能遗漏一些需要注意的事项,还因为人们的经验和水平有限,能够思考 ...

  6. 测试工程师用 Shell 定位 Bug 的正确姿势 | 福利

    Shell 作为一门最常见的脚本语言,是测试工程师日常工作的重度依赖工具.相对 Python.Ruby 等其他脚本语言,Shell 就像一把趁手的军用匕首,轻量敏捷,是深入分析待测系统的利器,也是自动 ...

  7. [转]Web测试中的界面测试用例设计

    一.文本框.按钮等控件测试 1.文本框的测试 如何对文本框进行测试: a.输入正常的字母或数字: b.输入已存在的文件的名称: c.输入超长字符.例如在"名称"框中输入超过允许边界 ...

  8. 理解DNS记录以及在渗透测试中的简单应用

    前言 DNS (Domain Name System, 域名系统 ),万维网上作为域名和IP地址相互映射的一个 分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串.通 ...

  9. Web测试中容易被忽略的Charset问题

    今天继续进行一个更综合的脚本制作,录制设置.进行录制.脚本修改,一切都轻车熟路,进行得很顺利.经过近一个小时的对比和修改,OK,脚本大功告成,终于可以小试牛刀了,嘿嘿.     运行,replay l ...

  10. Web测试中新增修改功能测试

    每个系统基本功能中,增删改查都是是最基础的功能,如何测试新增与修改功能,以下整理出一些参考测试点(整理自互联网),希望对大家测试设计有帮助 1.特殊键:(1)是否支持Tab键 (2)是否支持回车键 2 ...

最新文章

  1. 用男女朋友关系解释计算机常用概念
  2. YCSB benchmark测试mongodb性能——和web服务器测试性能结果类似
  3. 2017-11-15 软件包 java.io学习
  4. Protocol Buffer基本语法
  5. python矩阵分解
  6. 为什么你学C++就那么难?
  7. 飞鸽传书2008一种重要心态
  8. python数据库操作批量sql执行_利用Python如何批量修改数据库执行Sql文件
  9. python发布_python如何发布模块
  10. 挖矿赚加密货币?不如出租GPU计算机获取加倍的利润
  11. java子字符串查找位置_初学者求教,如何在字符串中查找多个子字符串的位置...
  12. CCCC-GPLT L3-015. 球队“食物链” 团体程序设计天梯赛
  13. NullableTypes for .NET
  14. 风格迁移篇-AdaIN --使用自适应实例规范化实时传输任意样式
  15. oracle 罗马数字处理,阿拉伯数字转罗马数字(Roman Numeral Converter)
  16. OSChina 周二乱弹 —— 怎么让可爱的女孩子吃药
  17. Kotlin编译与Intrinsics检查
  18. DHCP 解决单位网络私接路由器的办法
  19. 大众点评评论标签替换文字问题
  20. 拍照打卡签到活动到达地点拍照上传管理document.getElementById(“myP“).innerHTML=“拍照“;

热门文章

  1. 简单突破数据库备份路径拿shell
  2. win7win8 64位汇编开发环境合集安装与设置
  3. 怎样找一张图片的原图、出处?最全搜图网站+具体案例分享
  4. adb inputswipe shell_adb shell 基本使用
  5. ChromeOS+Win双系统安装教程
  6. oracle 12c中文手册,oracle Database12c 官方手册:《Oracle Database12c DBA官方手册(第8版)》.pdf...
  7. 模拟量输入输出配置及数值的规范化
  8. Revit二次开发——视图
  9. 使用GPG实现密码学应用
  10. 基于物联网的多传感器远程温度监测系统