美文网首页软件测试测试员的那点事
软件测试入门:定位缺陷

软件测试入门:定位缺陷

作者: 三心二意的Tester | 来源:发表于2019-07-19 16:22 被阅读1次

一、导言

上半年公司来了几名测试实习生(95后的小哥哥和小姐姐们),发现问题之后却不知将bug提给哪位开发(后端/前端/运维),BUG被转来转去,开发/运维大佬们无力吐槽,实习生们也身心疲惫,而我们这些测试老人也被指责教导不力,故编写此文,希望能够帮助准备入门测试的小哥哥小姐姐们。

二、必备工具

1.浏览器自带的开发者工具,F12调用
2.业内常用抓包工具,如Fidller,Charles等
3.服务器访问工具,如xshell,secureCrt等
4.公司的异常监控系统,如cat等

二、必备基础知识

软件系统的体系结构:C/S B/S
协议:HTTP、HTTPS

image.png
思考1:前端和后端分别对应的上述结构中哪一端呢?
1.前端做了
呈现数据: 页面布局(字体、样式、按钮行为等)、和后端交互
2.后端做了
处理数据:与数据库交互:数据增删改查; 逻辑运算:不同业务场景下分别运算数据
3.运维做了
维护服务:服务器的搭建、应用部署、应用监控等等
思考2:前端、后端和运维分别会出现什么问题?
1.1 前端常见问题
页面/静态问题:样式错乱、按钮点击无反应、文字错误、提示语不友好
交互问题:未正确发送请求、未正确展示后台返回的数据等(抓包)
1.2 后端常见问题
未正确处理请求,数据保存错误,数据查询错误等(抓包、数据库表、服务器日志)

三、定位BUG

1. 根据前后端分工定位bug

样式问题-->前端开发
业务逻辑问题-->后端开发

2. 根据请求和返回定位bug

2.1 HTTP状态码

根据常见HTTP状态码进行判断

  • 4XX 请求错误---前端
    400 Bad Request
    请求有误,后台服务器无法识别
    404 Not Found
    请求的资源未被在服务器上发现
  • 5xx, 6xx 服务器错误---后端
    500 Internal Server Error
    服务器遇到了异常,导致了它无法完成对请求的处理。一般来说,在服务器端的源代码出现错误时出现。
    502 Bad Gateway
    网关或代理服务器响应异常。一般来说,发布分支或重启服务器时,应用无法处理请求,就会出现此异常。
    处理方法:遇到此问题,先静待2-5分钟等应用起来,起不来再反馈开发

2.2接口文档

接口文档会定义请求参数和返回结果,测试通过抓包分析是前端传参错误还是后台返回异常。
常见方法:

  • web应用,按键盘F12打开开发者工具,看请求和响应

  • APP应用,安装Fidller,通过抓包,看请求和响应

如果是后台开发问题,一般需要提供应用日志给开发加强定位后端

四、问题定位举例

问题:购物车页面,无法加载数据
分析:

  1. 根据前后端分工判断为非样式问题,可能是交互出现了问题
  2. 抓包,查看状态码,4xx是前端,5xx是后端,200继续分析
  3. 查看接口请求值和返回值,和接口定义文档对比,请求错为前端,返回错为后端,返回对页面不展示给前端开发
  4. 如果后端问题,继续提供证据,查看关联应用是否正常启动,接着连接服务器查看日志,有报错确认是后台问题,未报错但应用起不来找运维。

五、总结:

如果是测试应用出现问题,大部分是前后端的代码问题,小部分是环境/运维问题。测试定位环境问题难度较高,一般是将问题反馈给开发,让开发和运维确认。
如果是ops使用上出现问题,如发包不成功、推包不成功、合并主干不成功等等,需要运维解决和需要开发解决的问题比例大约为6:4,需要另行分析,此文不详诉。

相关文章

  • 软件测试入门:定位缺陷

    一、导言 上半年公司来了几名测试实习生(95后的小哥哥和小姐姐们),发现问题之后却不知将bug提给哪位开发(后端/...

  • MantisBT管理缺陷

    软件测试就是为了发现软件中的缺陷,软件测试实质上是围绕着缺陷展开,报告缺陷、跟踪缺陷、分析缺陷等,所以缺陷的管理自...

  • 白盒测试快速入门2-静态测试

    白盒测试快速入门2-静态测试 什么是静态测试? 通过静态测试我们无需实际执行就可以检查软件中的缺陷。 进行静态测试...

  • 软件测试概述

    软件测试学习笔记 第一部分:软件测试概述 什么是软件缺陷 软件缺陷来源 软件测试对象 软件测试过程模型 测试生命周...

  • 软件测试流程

    一、前言 1.1 软件测试的目的 测试的目的就是发现软件中的各种缺陷。 测试只能证明软件存在缺陷,不能证明软件不存...

  • 1.软件测试概述

    软件测试概述 什么是软件测试1.发现软件的缺陷:修正软件2.评估软件的质量:改进软件 什么是软件缺陷 1.功能缺失...

  • C++面向对象多线程学习笔记_测试多线程应用程序

    1. 软件测试的目标 软件测试核心工作围绕发现和防止软件缺陷与软件故障为中心。 最常见形式的软件故障或缺陷在软件开...

  • 软件测试的原则

    测试显示缺陷的存在 测试可以显示缺陷的存在,但不能证明系统不存在缺陷。测试可以减少软件中存在未被发现缺陷的可能...

  • 软件测试中影响软件需求质量的因素有哪些?

    软件的开发和上线应用,离不开软件测试这一过程,软件测试是分析者用来发现软件缺陷的过程。没有任何软件是完全无缺陷的,...

  • 【软件测试】 {1} 你需要了解的软件测试基础知识

    软件测试基础 一、 软件缺陷的概述 1、什么是软件缺陷 2、软件缺陷的类型 (1)软件未实现产品说明书要求的功能。...

网友评论

    本文标题:软件测试入门:定位缺陷

    本文链接:https://www.haomeiwen.com/subject/tffllctx.html