测试篇(二): 如何合理的创建bug、bug的级别、bug的生命周期、跟开发产生争执怎么办

news2024/11/28 2:49:20

目录

  • 一、如何合理的创建bug
  • 二、bug的等级
  • 三、bug的生命周期
  • 四、和开发产生争执怎么办

一、如何合理的创建bug

创建Bug的目的就是为了能够让其他人可以尝试复现
一个合格的bug应该包含以下一个要素:

  1. 发现问题的版本
    例如Web程序对应的浏览器版本,或某个应用程序的版本(QQ的版本)
  2. 问题出现的环境
    如果是web项目,需要描述浏览器版本,客户机操作系统等,如果是app项目,需要描述机型、分辨率、操作系统版本等。详细的环境描述有利于故障的定位
  3. 错误重现的步骤
    使Bug重现的最短步骤
  4. 预期行为的描述
    用户希望程序所表现出的行为
  5. 错误行为的描述
    描述错误的现象,crash等可以上传log,UI问题可以截图
  6. 其他
    一些其他的要求,例如故障的分类:功能故障、界面故障、兼容性故障等;优先级的分类:严重的Bug优先处理

二、bug的等级

bug等级的定义每个公司都不一致,在定义级别之前需要查看公司规范。但大体上可划分为以下四个等级

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

  2. Critical(严重)
    系统主要功能丧失、数据库保存调用错误、用户数据丢失、一级菜单不能使用但是不影响其他功能的测试。功能设计与需求严重不符,模块无法启动或调用,程序重启、自动退出等,如:软件中数据保存后数据库中显示错误,用户所要求的功能缺失,程序接口错误,数值计算错误,数值计算统计错误

  3. Major(一般)
    功能没有完全实现但是不影响使用,功能菜单存在缺陷但是不影响系统稳定性。如:操作时间过长、查询时间长、格式错误、边界条件错误、删除没有确认框等

  4. Minor(次要)
    界面、性能缺陷、建议类问题、不影响操作功能的执行,可以优化性能的方案等。如:错别字、页面显示重叠、描述不清楚、光标位置不对等

【为什么需要提bug等级?】

首先bug的等级和优先级有关,例如崩溃、严重级别的bug要优先处理,此外出现线上问题需要进行问题定级,定级会涉及到对应的惩罚范围,同时出现线上问题后需要开线上问题复盘会议(批斗大会)

三、bug的生命周期

每个公司、每个工具对bug生命周期的定义都是不一致的,下面只是其中一种
在这里插入图片描述

● New:新发现的Bug,未经评审决定是否指派给开发人员进行修改。
● Open:确认是Bug,并且认为需要进行修改,指派给相应的开发人员。
●Fixed:开发人员进行修改后标识成修改状态,有待测试人员的回归测试验证。
● Rejected:如果认为不是Bug,则拒绝修改。
● Delay:如果认为暂时不需要修改或暂时不能修改,则延后修改。
● Closed:修改状态的Bug经测试人员的回归测试验证通过,则关闭Bug。
●Reopen:如果经验证Bug仍然存在,则需要重新打开Bug,开发人员重新修改。

四、和开发产生争执怎么办

作为一名测试人员,一般会遇到以下几种情况:

  • 这不是bug
  • 这个bug的级别太高了
  • bug影响不大,暂不修改

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

  1. 先检查自身,是否bug描述不清楚
  2. 站在用户的角度考虑问题,反问开发人员,如果你是用户,你能接受这样的实现吗?
  3. bug的定级要有理有据
    bug等级越严重,说明程序员在实现的时候出现的问题比较严重,就可能上升到工作态度和能力问题,bug等级对开发人员来说是非常敏感的
  4. 提高自身的技术和业务水平,不光能提出问题,最好也能提出解决方案
    不仅能提出问题,还能给出解决方案,这样会让人更信服。例如,在工作中,会发现同一个bug,初级测试工程师和资深测试工程师提出,两者结果完全不同,两者的最大的差别在于资深工程师往往能给出解决方案。

案例:
某网站经常隔几天访问时会出现500错误,但是之后就不会复现。
测试人员会提出问题:网站偶发性出现500错误。
开发人员回答:不常见,不影响使用,暂不修改
资深测试人员提出问题:网站偶发性500错误,查看日志,是由于mysql数据库8小时超时问题造成。需要修改连接池配置定期校验连接
开发人员处理:修改xml,增加校验配置项

  1. 组织bug评审
    如果已经经过了多轮沟通,但是开发人员仍然拒不接受,此时可以发起bug评审
    bug评审应该包括如何处理bug和分析bug产生的原因,找出预防的对策
    (1)决定如何处理bug,需邀请测试代表、开发代表、产品经理经理参加;测试代表主要从bug的具体表现,严重程度等方面提供信息,并提出自己对bug的处理意见。需要注意的是,测试人员不应该一味的要求对bug进行修改,因为修改可能带来回归的风险,同时带来的回归测试的工作量,如果时间比较紧迫,修改后剩余的时间若不足以做一次回归测试,可能不修改更好;
    开发代表主要从修改缺陷的难度和风险出发,考虑缺陷修改需要付出的代价,以及可能影响的范围,可能引发的风险等,如果决定修改,还要讨论出修改的初步方案
    产品代表主要从产品的整体计划、用户的要求等方面对缺陷的修改必要性、缺陷修改的时间和版本提出自己的意见
    (2)分析bug产生的原因,找出预防对策
    找出错误的根源,制定出相应的预防措施,确保同类型的bug不再出现

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

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

相关文章

AutoLISP 演练(一)

一、输入左下角点、矩形宽、矩形高后,自动的将图形依所给的条件画出二、变量约定本程序所需的AutoLisp功能函数(setq 变量名 变量值) ⬅ 设定变量值(getpoint [基点] [提示]) ⬅ 请求参考基点输入一个点坐标(getreal […

PyTorch中contiguous、view、Sequential、permute函数的用法

在pytorch中,tensor的实际数据以一维数组(storage)的形式存储于某个连续的内存中,以“行优先”进行存储。 1. tensor的连续性 tensor连续(contiguous)是指tensor的storage元素排列顺序与其按行优先时的元素…

【前端】列表页点进某个详情页,详情页可按顺序跳转到上一条/下一条的实现思路(2种)

需求概述 列表页展示列表,点击某个列表可以跳转到对应的详情页,点击上一页下一页可以按列表顺序跳转到对应详情页。比如点击列表2进入到详情2,我点上一页可以跳转到详情1,点击下一页可以跳转到详情3。难点:详情页如何…

Http客户端 Feign 的使用 (黑马springcloud笔记)

Feign基本使用 目录Feign基本使用一、Feign代替RestTemplate二、自定义配置三、Feign使用优化1. 底层优化2. 日志优化四、最佳实践方式一&#xff1a;继承方式二&#xff1a;抽取一、Feign代替RestTemplate 步骤&#xff1a; 引入依赖 <dependency><groupId>org.s…

UITableView内输入框(UITextView)换行

业务描述&#xff1a; UITableView内存在一个Cell&#xff0c;该Cell内有一输入框可以输入文字&#xff0c;超出输入框宽度则换行展示&#xff0c;即该Cell高度要增加 如图&#xff1a; 解决方法&#xff1a; 思路&#xff1a; 1:取到最大输入框宽度 2:计算当前文字宽度与最…

QT自定义控件工程结构框架

目录前言一、cutewidgets是什么&#xff1f;二、工程结构三、框架的工程配置1 cutewidgets.pro2 cutewidgets.pri2.1 cutewidgetsconfig.pri2.2 cutewidgetsfunctions.pri2.3 cutewidgetsbuild.pri四、源码1 src1.1 src.pro1.2 cutewidgets_global.h1.3 testedit1.4 扩展2 exam…

互联网中断检测技术窥览与讨论

前言&#xff1a; 如其他人造系统一样&#xff0c;互联网的运行也会出现异常甚至中断。仅在2022年就发生了多起影响重大的互联网中断事件&#xff1a;1月15日汤加火山喷发三个小时后&#xff0c;全国断网&#xff0c;和外界的所有电话与网络联系都无法接通&#xff1b;3月28日…

系统分析师案例必备知识点汇总---2023系列文章二

需求获取 1、需求获取的技术&#xff1a; 用户访谈 优点&#xff1a;具有良好的灵活性&#xff0c;有较宽广的应用范围。 缺点是&#xff1a;用户忙&#xff0c;信息量大&#xff0c;记录困难&#xff0c;需要沟通技巧。 问卷调查 优点&#xff1a;短时间内收集数据。 缺点…

Python aiohttp 库是否值得学?那必须要掌握呀

aiohttp 是一个基于 asyncio 的异步 HTTP 客户端/服务器库。它提供了一组用于编写高性能异步网络应用程序的工具&#xff0c;包括基于协程的客户端和服务器。 库的安装使用 pip install aiohttp Python aiohttp 库通过 aiohttp 搭建服务器aiohttp 路由aiohttp 中间件aiohttp 发…

【机器学习之模型融合】Blending混合法

前言 Stacking堆叠法基础知识&#xff1a;http://t.csdn.cn/dzAna 1、Blending的基本思想与流程&#x1f47f; Blending融合是在Stacking融合的基础上改进过后的算法。在之前的课程中我们提到&#xff0c;堆叠法stacking在level 1上使用算法&#xff0c;这可以令融合本身向着损…

好家伙,这几个隐藏功能,太香了

很多小伙伴可能被小畅的问题搞糊涂了&#xff0c;因为很多人只会在电脑上堆砌各种小应用&#xff0c;而忽略了Windows原有的实用功能。 而我们也千万不要小看这些功能&#xff0c;它们说不定能在关键时刻助你一臂之力&#xff0c;帮到你不少忙呢&#xff01; 那么今天小畅就为大…

MobaXterm连接出现 Network error: Connection timed out 问题解决

MobaXterm连接出现 Network error: Connection timed out&#xff1a; 接前文&#xff1a;CentOS安装, 点此查看文章&#xff0c;安装之后的SSH连接&#xff1a; 解决思路如下&#xff1a; 1、检查虚拟机端是否安装ssh 一般情况是可以自动安装的&#xff0c;直接在终端输入s…

系统分析师案例必备知识点汇总---2023系列文章一

一、系统规划 (视频内容&#xff1a;系统分析师-专业知识模块中的系统规划视频) 1 、可行性研究 经济可行性 技术可行性 法律可行性 用户使用可行性 也称为投资收益分析 或成本效益分析&#xff0c;主 要评估项目的建设成 本、运行成本和项目 建成后可能的经济收 益。 技…

eggjs框架源码解读

文章目录前言Egg进程模型Egg应用程序结构egg运行启动的内幕加载插件扩展内置对象加载中间件加载service加载路由加载配置设置应用信息执行业务逻辑文件加载机制结语前言 eggjs 是阿里在 Nodejs 技术上的一大杰作&#xff0c;也是对开源世界的一大贡献。里面包含了很多技术结晶…

Linux---进程概念

目录 1. 什么是进程&#xff1f; 2. 描述进程---PCB task_struct---PCB的一种 task_ struct内容分类 3. 组织进程 4. 查看进程 通过系统调用获取进程标示符 通过系统调用创建进程---fork初识 1. 什么是进程&#xff1f; 其实&#xff0c;我们启动一个软件&#xf…

SLAM本质剖析番外-李群李代数的微分和导数

0. 简介 这几个月&#xff0c;博主已经从SLAM算法的使用向着算法的数学推导进行了记录和分享&#xff0c;之前也分享了李群李代数关注核心一文&#xff0c;从现象中解释了李群和李代数表达的含义。但是这还不够&#xff0c;所以这次作者作为SLAM本质剖析的番外&#xff0c;来介…

基础数字(一)位运算 哈希(数组中元素出现次数)

目录 力扣剑指 Offer II 070. 排序数组中只出现一次的数字 数组中只出现一次的数&#xff08;其它数出现k次&#xff09;_牛客题霸 数组中只出现一次的两个数字_牛客题霸_牛客网 数组中出现次数超过一半的数字_牛客题霸_牛客网 缺失的第一个正整数_牛客题霸_牛客网 力扣剑指…

[杂记]算法:前缀和与差分数组

这篇讲一下前缀和与差分数组的关系 1. 前缀和 1.1 一维数组前缀和 前缀和在处理数组中的连续子数组的某一段加和的问题中很有用, 因为是拿空间换时间, 可以将线性复杂度降低为常数时间复杂度. 前缀和的道理很简单, 对于数组arr[i],i0,...,n−1arr[i], i 0, ..., n - 1arr[i…

《Linux Shell脚本攻略》学习笔记-第四章

4.1 简介 本章主要介绍sed、awk、grep、cut等命令&#xff0c;这些工具可以相互结合以满足文本处理需求。 正则表达式是一种基础的模式匹配技术。 4.2 使用正则表达式 正则表达式是由字面文本和具有特殊意义的符号组成的。 1&#xff09;位置标记 位置标记锚点是标识字符串位置…

Anaconda安装、opencv环境配置、jupyter notebook使用虚拟环境

目录一、Anaconda 的安装二、opencv 3.4.1.15版本安装三、jupyter notebook使用虚拟环境四、运行报错-缺库一、Anaconda 的安装 Anaconda官网&#xff1a;Anaconda Installers Anaconda历史版本&#xff1a;Anaconda Index of 这边建议和我装一样anaconda3 python3.7&#xf…