你是如何找bug的?bug分析的正确打开方式

🍅 点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快

Bug严重级别(Severity,Bug级别):是指因缺陷引起的故障对软件产品的影响程度,由测试人员指定。

A-Crash:造成系统或应用程序崩溃、死机、系统挂起,或造成数据丢失
B-Major:系统的主要功能部分丧失、数据不能保存,单个功能失效导致多个相关功能均失效
C-Minor:次要功能没有完全实现但不影响使用
D-Trivial:使操作者不方便或遇到麻烦,但它不影响功能的操作和执行
E-Nice to Have(建议):建设性的意见或建议

Bug对于测试人员来说是司空见惯的东西,毕竟找到软件的bug就是测试人员工作内容的一部分。

但仅仅发现bug是不够的,同时也要避免bug的再次出现,做好软件质量保证工作,所以,做好bug分析就是一件非常重要的事情。

分享一下关于bug分析的正确打开方式。

一、什么是bug?

什么是bug?bug的本意是臭虫、缺陷、损坏、犯贫、窃听器、小虫等意思。现在人们将在电脑系统或程序中,隐藏着的一些未被发现的缺陷或问题统称为bug(漏洞)。

由于现代社会的发展,bug另有一种引申意义,用来形容某事物厉害的超乎想象,bug可以使电脑系统崩溃、容易被施诈者攻击,现有修复漏洞的工具。

而软件bug是由于软件开发者的疏忽和失误造成的。

并且,软件bug是软件生命周期内发现和未被发现的所有问题总和。

软件bug也不单指软件测试阶段发现的软件系统的功能性错误,还包括了软件开发过程中需求、设计、开发等阶段评审过程发现的问题,以及软件发布后客户发现并反馈的问题,同时还包括了那些隐藏在软件内部暂时没有被发现的问题。

二、获取bug具体数据

获取bug数据是进行bug分析的第一步,完整、清晰的bug数据记录是进行bug管理和分析的关键。

将bug按属性进行记录,以适应不同维度、不同指标的分析需要。

软件bug的生存环境和生命周期决定了软件开发过程中的人、过程、组织等各个环节、各种方法和措施都会造成bug的产生。

通过bug分析可以发现软件开发环节、方法和措施的不足,通过多维度、多层次的分析发现bug的产生根源和改进方法,通过改进提高软件产品质量,提升人、过程、组织的能力和适应性。

三、有效的管理bug

管理的目的在于让管理对象能够规范、高效的工作,从管理中能够获取更高的收益。

而软件bug管理的目的在于实现bug管理的标准化、流程化、规范化,使得软件开发过程中发现的bug都能够被完整的记录,可以被有效的跟踪。

同时使用统计分析方法,发现bug产生的原因、研究预防和解决方法、有效实施,实现软件、过程、人和组织的持续改进。

软件bug管理过程和工具应满足信息录入、跟踪查询和统计分析三类主要功能。

四、做好bug分析工作

分析就是将研究对象的整体分为各个部分、方面、因素和层次,分别加以考察、认识。

软件bug分析是将软件生命周期中出现的所有bug作为研究对象,从分析bug产生的阶段、产生的模块、产生的原因,来发现软件生命周期中过程、阶段、技术、人和组织存在的问题。

以及软件开发过程中各关键环节和要素之间的协作问题,通过调整、改进和控制,提高软件质量、节省软件成本,提升组织生产力,交付优质软件成果。

1.bug分析的目的

基本的ug分析是基于测试阶段发现的bug,通过bug的分布和趋势研究,发现bug产生的根源,及早采取调整和控制措施,预防和控制问题的蔓延和新问题的产生,提升软件质量。

深入bug分析是基于软件生命周期中出现的所有bug,使用统计分析方法,通过bug的共性发现软件生命周期中技术、人、过程、项目和组织存在的问题,揭示软件质量、过程质量、人员能力、组织能力之间的关系,加强软件精细化管理,促进人、过程、组织持续性改进。

2.bug分析的根本

软件质量不是检查出来的,而是生产出来的。

人创造了软件,构建了软件质量,同时也产生了大量的bug。需要注意的是,人才是软件生产的主体,众多不同个性和技术能力的人组成了软件组织,人的软件活动构成了软件的生产过程。

所以,最终决定软件质量是人,软件bug分析的根本最终落脚点,在于对人的分析。通过bug分析发现软件生命周期中人的缺陷和不足(技术、沟通、规范性等),制定有针对性的方法和训练提高人员技术能力、沟通能力,增强软件过程人为活动的规范性,减少人为的疏忽和失误,最终构建有效的软件过程,提升组织的综合生产力,提高软件成果交付质量。

五、深入bug分析

1.bug是软件生命周期中很重要的数据,应当被足够重视并得到充分利用。

2.注意组织内bug数据积累,使用标准流程和成熟的缺陷管理工具对Bbug进行管理,并通 过缺陷工具提供的分析方法对bug进行基本分析。

3.深入bug分析,提高bug使用质量,挖掘bug使用价值。

4.基于bug数据统计,加强层次化分析。按项目、过程、阶段、模块、技术、人等不同维度和层次,在同一软件的生命周期内进行纵向关联分析,不同软件之间进行横向对比分析,获取多维度、多层次分析数据,实现精益化软件开发、度量和管理。

5.使用数据挖掘方法,分析bug的产生与软件开发过程中的人、过程、组织间的关联,发现bug产生的深层次原因,研究解决方案,预防和降低bug的产生。形成从bug分析到组织生产能力提升的数据支撑,完成组织生产能力提升到个人素质增长的正向驱动。

6.利用第三方数据分析工具,高效的对bug数据进行统计分析,基于强大的分析功能实现bug分析的多维度、多层次动态分析展示,提升bug的分析效果,实现bug可视化、精细化管理,为软件组织的精益化管理提供多方位的数据支持。

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

​这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。

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

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

相关文章

WGCNA分析流程及内容解读

文章标题:通过 WGCNA 和机器学习识别和验证与免疫和氧化应激相关的糖尿病肾病诊 发表年限:2023年 期刊:Frontiers in Immunology 影响因子:5.7 研究背景: 糖尿病肾病(DN)以蛋白尿、高血压和…

【MySQL 进阶之路】锁详解

MySQL 锁详解 1. 锁的基本概念 锁在数据库中是用来保证数据一致性和防止并发冲突的一种机制。MySQL 中的锁可以分为不同的类型和粒度,每种锁都有特定的使用场景和特点。了解锁的类型、作用以及如何避免锁带来的问题是提升数据库性能和避免数据冲突的关键。 2. 锁…

qsort函数用法,以及模拟实现

函数定义 基于快速排列的一个函数,它的四个参数的含义: 1、void* base,是排序开始的地址 2、size_t num 想要排列的个数 3、size_t size 排列对象,一个占多少空间(字节) 4、int (*comper)(void*,voi…

CentOS7虚拟机 网络适配器 NAT模式和桥接模式区别

一、环境介绍 宿主机:Windows电脑 虚拟机:VMware下的CentOS7 局域网:路由器下的各真实主机组成的网络 内部局域网:宿主机构建的一个内部网路 二、NAT和桥接网络链接模式区别 NAT模式:相当于宿主机构建一个内部局域网&a…

全面解析DApp开发中的智能合约设计

在DApp的开发过程中,智能合约的设计起到了至关重要的作用。智能合约是运行在区块链上的程序,负责处理和执行DApp中的逻辑、交易和数据存储。下面我们将深入探讨智能合约的设计原则、挑战和优化方法,帮助开发者掌握如何设计高效、安全的智能合…

锐捷Web认证

文章目录 Web认证二代 Web 认证配置 🏡作者主页:点击! 🤖Datacom专栏:点击! ⏰️创作时间:2024年12月6日11点40分 Web认证 Portal 认证、Web认证 Web认证的介绍 Web 认证使用浏览器进行身份验…

KernelShark在ubuntu24.04.01的编译

KernelShark在ubuntu24.04.01的编译 写在前面具体过程装ubuntu24.04.01安装depends下载代码如何编译cmake 输出make 输出 如何安装 初步启动Add the User to the perf Group 简单的使用trace-cmd抓包 来看我的文章,必有所得。 平凡中,总有我帮您踩过的坑…

解决Unity编辑器Inspector视图中文注释乱码

1.问题介绍 新创建一个脚本,用VS打开编辑,增加一行中文注释保存,在Unity中找到该脚本并选中,Inspector视图中预览的显示内容,该中文注释显示为乱码,如下图所示: 2.图示解决步骤 按上述步骤操作…

【AIGC半月报】AIGC大模型启元:2024.12(上)

【AIGC半月报】AIGC大模型启元:2024.12(上) (1)OpenAI-12日发布会(持续更新中........)Day01-12.06:o1满血版上线(已发布)Day02-12.07:强化微调&a…

字节码

字节码 1、字节码文件概述 1.1、字节码文件是跨平台的吗? ​ Java 虚拟机不和包括 Java 在内的任何语言绑定,它只与“Class 文件”这种特定的二进制文件格式所关联。 ​ 无论使用何种语言进行软件开发,只要能将源文件编译为正确的Class文件…

排查bug的通用思路

⭐️前言⭐️ APP点击某个按钮没有反应/PC端执行某个操作后,响应较慢,通用的问题排查方法: 从多个角度来排查问题 🍉欢迎点赞 👍 收藏 ⭐留言评论 🍉博主将持续更新学习记录收获,友友们有任何问题可以在评…

AI 建站:Durable

网址:https://app.durable.co 步骤 1) 登录 2)点击创建新业务 3)填写信息后,点击创建 4)进入业务 5)生成网站 6)生成完成后不满意的话可以自己调整 7)点击保存 8)发布 …

部署kafka并通过python操作

目录 一、安装JDK1.81、检查服务器是否已安装JDK2、若已安装JDK,进行卸载3、更新yum源4、搜索JDK1.8安装包5、安装JDK1.86、查看是否安装成功7、配置环境变量 二、安装Kafka1、下载并解压kafka部署包至/usr/local/目录2、修改server.properties3、修改/etc/profile4…

【Linux】 进程池 一主多从 管道通信

目录 1.代码介绍 2.channel 类 3.进程池类编写 4.主函数及其他 5. 源码 1.代码介绍 本文代码采用一主多从式(一个主进程(master)多个子进程(worker))通过管道进行通信,实现主进程分发任务&…

Ubuntu环境安装RabbitMQ

1.安装Erlang RabbitMq需要Erlang语⾔的⽀持,在安装rabbitMq之前需要安装erlang # 更新软件包 sudo apt-get update # 安装 erlang sudo apt-get install erlang 查看erlang版本 : erl 退出命令:halt(). 2. 安装RabbitMQ # 更新软件包 sudo apt-get update # 安装 …

力扣--199.二叉树的右视图

题目 给定一个二叉树的 根节点 root&#xff0c;想象自己站在它的右侧&#xff0c;按照从顶部到底部的顺序&#xff0c;返回从右侧所能看到的节点值。 提示: 二叉树的节点个数的范围是 [0,100] -100 < Node.val < 100 代码 class Solution { public List rightSideV…

Ubuntu Server 22.04.5 LTS重启后IP被重置问题

Ubuntu Server 22.04.5 LTS重启后IP被重置问题 最近在使用Ubuntu Server 22.04做项目开发测试时发现每次重启和关机后&#xff0c;所设置的静态IP地址都会回复到安装系统时所设置的ip Ubuntu Server 22.04 官网下载地址&#xff1a;Ubuntu官方下载地址 对虚拟机下安装Ubuntu感…

kube-proxy的iptables工作模式分析

系列文章目录 iptables基础知识 文章目录 系列文章目录前言一、kube-proxy介绍1、kube-proxy三种工作模式2、iptables中k8s相关的链 二、kube-proxy的iptables模式剖析1.集群内部通过clusterIP访问到pod的流程1.1.流程分析 2.从外部访问内部service clusterIP后端pod的流程2.1…

华为网络设备配置文件备份与恢复(上传、下载、导出,导入)

在日常运维工作中&#xff0c;会经常存在网络割接的情况&#xff0c;为了保证网络割接失败时能重新回退至原有配置&#xff0c;从而不影响原有的办公环境&#xff0c;在网络割接前的备份工作就非常有必要了。 备份方式&#xff1a;FTP 备份技术&#xff1a;PC客户端<---&g…

清风数学建模学习笔记——Topsis法

数模评价类&#xff08;2&#xff09;——Topsis法 概述 Topsis:Technique for Order Preference by Similarity to Ideal Solution 也称优劣解距离法&#xff0c;该方法的基本思想是&#xff0c;通过计算每个备选方案与理想解和负理想解之间的距离&#xff0c;从而评估每个…