【软件测试】Bug 篇

哈喽,哈喽,大家好~ 我是你们的老朋友:保护小周ღ  

今天给大家带来的是 【软件测试】Bug 篇首先了解, 什么是Bug如何定义一个Bug, 如何描述一个 Bug, Bug的级别, 和 Bug 的生命周期, 以及测试人员跟开发人员产生争执如何处理,.等问题. 一起来看看叭~


本期收录于博主的专栏: 软件测试_保护小周ღ的博客-CSDN博客

适用于编程初学者,感兴趣的朋友们可以订阅,查看其它 “软件测试内容”。

更多精彩敬请期待:保护小周ღ *★,°*:.☆( ̄▽ ̄)/$:*.°★* ‘


一、Bug 的定义

  1. 当且仅当产品规格说明书存在且正确时, 程序的实现与规格说明书要求不匹配的时候, 就是软件错误. 简单说就是程序的功能实现与需求说明书不符合, 即可认定为 Bug.

  2. 当产品规格说明书没有提到的功能时, 以用户为准, 当程序没有实现其用户合理预期 (测试人员需具备良好的产品思维) 的要求时, 就是软件错误.

1.1 如何描述Bug

描述一个 Bug 的要素:

  1. 标题:简洁明了地概括问题

  2. 问题出现的版本: 浏览器、应用版本等相关信息

  3. 问题出现的环境: 操作系统, 设备等

  4. 出现步骤: 详细描述重现Bug的操作步骤

  5. 预期结果: 说明在正常情况下应该出现的结果。

  6. 实际结果: 描述实际遇到的错误或问题q

提 Bug : 博主网站登录界面,图形验证码,输入大写验证码, 导致验证码校验错误。

针对上述问题描述一个 Bug:

标题

登录时,进行图形验证码的校验,输入大写字母,导致验证码校验不通过, 进而用户无法登陆成功.

问题出现的版本:

Microsoft Edge版本 128.0.2739.9 (正式版本) stable应用,beta频道 (64 位)

出现问题的环境:

Windows 11 家庭中文版

问题出现的步骤:

  1. 启动 Microsoft Edge 浏览器, 地址栏输入 : http://127.0.0.1:18080(博主自己启动的程序)

  2. 页面自动跳转至登录界面, 输入用户名, 密码, 输入图形化验证码与之对应的文本 - YT65.

  3. 点击登录

  4. 提示验证码输入错误

预期结果: 验证码登录成功, 登录成功

实际结果: 验证码输入错误

Bug 归属: 后端问题 (我知道的) Bug 等级: (后面再详细讲解, 根据每个公司的设定来)

在测试的过程中: 如果我们测试的产品有很多版本, 只需要关注用户使用较多的版本(通常企业都会有数据健康后台, 能够监控到使用当前产品的用户所使用到的版本 / 环境), 我们的设备信息在http/ https 请求头中有所表现.


二、Bug 的级别

bug的定义每个公司都不一致,在定义级别之前需要查看公司规范。 以下为样例:

  1. 崩溃(Blocker):严重影响系统的主要功能,导致应用崩溃或无法运行, 阻碍开发或测试工作的问题. 例如 : 造成系统崩溃、死机、死循环,导致数据库数据丢失,与数据库连接错误,主要功能丧失,基本模块缺失等问题。如:代码错误、死循环、数据库发生死锁、重要的一级菜单功能不能使用等.

  2. 严重(Critical):影响主要功能,但可以通过某些方式绕过或暂时解决. 例如 : 系统主要功能部分丧失、数据库保存调用错误、用户数据丢失. 功能设计与需求严重不符,模块无法启动或调用,程序重启、自动退出,关联程序间调用冲突,安全问题、稳定性等。

  3. 一般(Major):对功能有一定影响,但不会严重阻碍使用,可能需要修复但不是紧急的. 例如:操作时间长、查询时间长、格式错误、边界条件错误等.

  4. 次要(Minor):影响较小的功能或用户体验,不会影响主要功能的使用,通常作为未来版本的改进点处理. 例如 : 界面、性能缺陷,建议类问题,不影响操作功能的执行,可以优化性能的方案等。如:错别字、界面格式不规范,页面显示重叠、不该显示的要隐藏,描述不清楚,提示语丢失,文字排列不整齐,光标位置不正确,用户体验感受不好,可以优化性能的方案等 .

在实际的工作中, 崩溃, 严重的bug 并不常见, 公司针对于不同的 Bug 等级, 对相关人员的惩罚机制也不一样, 同时 bug 的产生/等级也跟开发人员的技术水平有关.

如果程序有明显的/ 主功能问题, 或者主流程走不通, 测试人员进行项目打回, 开发人员应在提交代码前进行充分的单元测试, 集成测试等, 检查项目是否具备可测性.


三、Bug 的生命周期

同样, 每一个公司对于 bug 的生命周期的定义是不一致的.

测试人员在执行测试的过程中, 如果发现有 bug , 需要在对应的 bug 管理平台来创建 bug -- bug 的生命起源.

以下是常见的例子:

Bug 状态变更流程每个项目团队的实际做法可能不大一样。并且需要结合实际的开发流程和协作流程来 使用。 例如,测试人员新发现的Bug,由测试组长评审后才决定是否Open并分派给开发人员。测试人员 Open的Bug可以直接分派给Bug对应的程序模块的负责人,也可以要求都先统一提交给开发主管,由开 发主管审核后再决定是否分派给开发人员进行修改。 Bug的跟踪以及状态变更应该遵循一些基本原则: 测试人员对每一个缺陷的修改必须重新对一个包含更改后的代码的新版本进行回归测试,确保相同 的问题不再出现,才能关闭缺陷。 对于拒绝修改和延迟修改 Bug,需要经过包含测试人员代表和开发人员代表、用户方面的代表 (或代表用户角度的人)的评审。


3.1 测试的执行和BUG管理

  1. 打开待测试的系统

  2. 打开测试管理工具用例模

  3. 发现bug!进行复现并确认

  4. 记录bug

  5. 与开发人员沟通bug

  6. 验证修复后的bug

  7. 确认本次测试完成

  8. 编写测试报告


四、测试人员跟开发人员产生争执如何处理

软件测试的目的, 为了保障产品的质量, 但有些时候, 在开发人员眼中, 你就像是故意挑他刺, 开发人员直接否定三连: 这不是问题, 我没错, 不是我写的~

遇到争执不要怕,记住批判性思维:清楚--准确、切题--深刻,有意义,有逻辑性--公正、全面

  1. 检查自身:在报告 bug 时,要确保描述清楚,多反思自己,是不是 Bug 创建的时候描述不太清楚。如果发现描述不足或难以表达,立即找相关开发人员解释,避免等待他们主动联系你。

  2. 站在用户角度:让开发人员理解 bug 对用户的影响,增加解决问题的紧迫感。可以问:“如果你是用户,你能接受吗?”

  3. 合理定级:确定 bug 级别时 ,不仅要看 bug 的严重性,还要考虑其对用户流程的影响。站在用户角度来定级。

  4. 提升技术水平:除了提出问题,还能提出解决方案,这样更具说服力。资深测试工程师通常会提供解决思路,增加权威性。

  5. 处理拒绝:如果开发人员拒绝接受 bug,可以发起 bug 评审,避免争吵,寻找更客观的解决方式。


好了,到这里, 【软件测试】Bug 篇 博主已经分享完了,这只是简单的概念性的理解,希望对大家有所帮助,如有不妥之处欢迎批评指正。 

感谢每一位观看本篇文章的朋友,更多精彩敬请期待:保护小周ღ *★,°*:.☆( ̄▽ ̄)/$:*.°★* 

遇见你,所有的星星都落在我的头上……

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

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

相关文章

【Linux】常用指令【更详细,带实操】

Linux全套讲解系列,参考视频-B站韩顺平,本文的讲解更为详细 目录 一、文件目录指令 1、cd【change directory】指令 ​ 2、mkdir【make dir..】指令​ 3、cp【copy】指令 ​ 4、rm【remove】指令 5、mv【move】指令 6、cat指令和more指令 7、less和…

【设计模式】万字详解:深入掌握五大基础行为模式

作者:后端小肥肠 🍇 我写过的文章中的相关代码放到了gitee,地址:xfc-fdw-cloud: 公共解决方案 🍊 有疑问可私信或评论区联系我。 🥑 创作不易未经允许严禁转载。 姊妹篇: 【设计模式】&#xf…

多模态大模型应用开发技术学习

前篇提到多模态模型应用是未来的应用方向,本篇就聊聊技术学习方面的内容。 应用场景 多模态大模型技术的应用场景非常广泛,涵盖了从日常生活到专业领域的各个方面。以下是一些主要的应用场景: 办公自动化:多模态大模型可以用于…

计算机网络-小型综合网络的搭建涉及到无线路由交换安全

目录 1 拓扑架构 2 做项目的思路 3 做配置 3.1先做核心交换 3.2 防火墙的配置 4 ac 和ap 的配置 4.1 ac上配置安全的东西 5.1 测试​编辑 1 拓扑架构 要求看上面的图 2 做项目的思路 这张网很明显是一个小综合,设计到我们的无线交换,路由…

jdk11特性介绍

JDK 11(也称为Java 11)是Java平台的一个重要版本,它引入了许多新特性和改进,旨在提高开发者的生产力和Java平台的性能。以下是一些JDK 11的主要特性: 局部变量类型推断(Local-Variable Syntax for Lambda P…

linux中vim编辑器的应用实例

前言 Linux有大量的配置文件,其中编辑一些配置文件,最常用的工具就是 Vim ,本文介绍一个实际应用的Vim编辑器开发文档的实例。 Vim是一个类似于Vi的著名的功能强大、高度可定制的文本编辑器,在Vi的基础上改进和增加了很多特性。…

【C语言零基础入门篇 - 17】:排序算法

文章目录 排序算法排序的基本概念冒泡排序选择排序插入排序 排序算法 排序的基本概念 1、什么是排序? 排序是指把一组数据以某种关系(递增或递减)按顺序排列起来的一种算法。 例如:数列 8、3、5、6、2、9、1、0、4、7 递增排序…

如何防止SQL注入

目录 SQL注入 1、 什么是SQL注入 2、 避免SQL注入 PreparedStatement【重点】 SQL注入 1、 什么是SQL注入 select * from tb_user where username 111 and password 111select * from tb_user where username 111 and password 111 or 11 用户输入的数据中有SQL关键词…

java日志框架之Log4j

文章目录 一、Log4j简介二、Log4j组件介绍1、Loggers (日志记录器)2、Appenders(输出控制器)3、Layout(日志格式化器) 三、Log4j快速入门四、Log4j自定义配置文件输出日志1、输出到控制台2、输出到文件3、输出到数据库 五、Log4j自…

【HTTPS】中间人攻击和证书的验证

中间人攻击 服务器可以创建出一堆公钥和私钥,黑客也可以按照同样的方式,创建一对公钥和私钥,冒充自己是服务器(搅屎棍) 黑客自己也能生成一对公钥和私钥。生成公钥和私钥的算法是开放的,服务器能生产&…

基于阿里云免费部署Qwen1-8B-chat模型并进行lora参数微调从0到1上手操作

文章目录 一、申请资源二、创建实例三、克隆微调数据四、部署Qwen1-8B-chat模型1、环境配置2、模型下载3、本地模型部署 五、模型微调1、拉取Qwen仓库源码2、微调配置3、合并微调参数4、本地部署微调模型 一、申请资源 阿里云账号申请PAI资源详细教程我已于部署ChatGLM3时写过…

MAC如何获取文件数字签名和进程名称

1、安装需要查看数字签名和进程名称的软件包 2、打开终端命令行(Terminal) 3、查找数字签名 在终端命令行中输入: codesign -dvv 安装的软件路径 2>&1 | grep "Authority" | head -n 1 | cut -d -f2”回显即为进程的数…

Unity 百度AI实现无绿幕拍照抠像功能(详解版)

目录 一、前言 1.抠像效果 2.去哪找百度ai抠图 3.基础流程跳过 二、获取AccessToken 1.什么是Token 2.为什么要获取Token 3.如何获取token 4.解析json 5.完整代码 三、抠像 1.准备地址 2.建立链接,和基本配置 3.图片格式转换 4.开始上传 5.获取回复…

Highcharts甘特图基本用法(highcharts-gantt.js)

参考官方文档: https://www.highcharts.com/docs/gantt/getting-started-gantt https://www.highcharts.com/demo/gantt/project-management https://www.hcharts.cn/demo/gantt 链接在下面按需引入 https://code.highcharts.com/gantt/highcharts-gantt.js htt…

[笔记]23年度展会信息— 吊钩 起升机构

1.吊钩的规格参数 5吨吊钩重26公斤 10吨64公斤。 另外一套型号,更轻: 不确定是结构设计还是用钢材质达到了减重效果。 看看重载双滑轮吊钩: 50吨,400公斤,只是吊钩。 然后是行车吊钩与钢丝绳的直径。这在计算空载吊…

faiss安装 (CPU版本)

faiss版本 faiss-v1.7.4 cd faiss-v1.7.4cmake -B build . -DBUILD_TESTINGOFF -DFAISS_ENABLE_GPUOFF -DFAISS_ENABLE_PYTHONOFFmake -C build -j faiss; 默认安装路径如下 -- Installing: /usr/local/lib64/libfaiss.a -- Installing: /usr/local/include/faiss…

耦合微带线单元的网络参量和等效电路公式推导

文档下载链接:耦合微带线单元的网络参量和等效电路资源-CSDN文库https://download.csdn.net/download/lu2289504634/89583027笔者水平有限,错误之处欢迎留言! 一、耦合微带线奇偶模详细推导过程 二、2,4端口开路 三、2端口短路、3端口开路 四…

LeetCode 热题 100 回顾16

干货分享,感谢您的阅读!原文见:LeetCode 热题 100 回顾_力code热题100-CSDN博客 一、哈希部分 1.两数之和 (简单) 题目描述 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标…

win系统接入google_auth实现动态密码,加强保护

开源代码地址:windows动态密码: 针对win服务器进行的动态密码管控,需要配合谷歌的身份认证APP使用 (gitee.com) 为什么要搞个动态密码呢? 首先云服务器启用了远程访问,虽然更换了端口以及初始用户名,不过还是是不是被…

CleanClip For Mac 強大的剪貼簿助手Paste替代工具 v2.2.1

软件介绍: CleanClip是一款专为Mac设计的强大剪贴板管理工具,旨在提升用户的工作效率和生产力。这款应用完全采用原生Swift编写,为Mac用户提供了流畅、快速且直观的使用体验。CleanClip不仅支持文本内容的管理,还能处理图片、文件…