你是如何找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 认证使用浏览器进行身份验…

详解日志格式配置:XML 与 Spring Boot 配置文件格式

详解日志格式配置:XML 与 Spring Boot 配置文件格式 日志是现代应用程序中不可或缺的一部分,通过定制化日志格式和颜色,开发人员可以更方便地调试和监控应用。本文将深入讲解如何在 XML 配置文件 和 Spring Boot 配置文件 中设置日志格式&am…

KernelShark在ubuntu24.04.01的编译

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

Ionic 8.4 简介

Ionic 是一个用于开发混合移动应用、渐进式Web应用(PWA)以及桌面应用的开源框架。它结合了 Angular、React 或 Vue.js 等现代前端框架与 Cordova/PhoneGap 的力量,允许开发者使用 Web 技术(HTML, CSS, JavaScript)构建…

浏览器数据存储方法深度剖析:LocalStorage、IndexedDB、Cookies、OPFS 与 WASM - SQLite

在当今的 Web 开发领域,选择合适的浏览器数据存储方法对于构建高效、功能丰富的应用程序至关重要。随着 Web 应用的不断演进,从早期的静态 HTML 页面到如今复杂的单页应用和本地优先应用,数据存储需求也日益多样化。本文将深入探讨 LocalStor…

要使用 OpenResty 创建一个接口,返回客户端的 IP 地址,并以 JSON 格式输出

要使用 OpenResty 创建一个接口,返回客户端的 IP 地址,并以 JSON 格式输出 要使用 OpenResty 创建一个接口,返回客户端的 IP 地址,并以 JSON 格式输出方案一解决方案(openresty使用cjson)说明:使…

解决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…

JDK21新特性

目录 虚拟线程(JEP 444): 顺序集合(JEP 431): 字符串模板(JEP 430): 模式匹配的增强(JEP 440、441以及443): 结构化并发和作用域值…

【linux 查看网卡设备信息命令记录】

查看设备信息命令 查看网卡芯片相关platform类型网卡(gmac网卡为例)PCI网卡(rtl8125为例) 查看网卡芯片相关 platform类型网卡(gmac网卡为例) gmac 属于CPU资源的一部分,属于平台设备。下面以FT2004 的CPU为例,自带GMAC0和GMAC1。 1、通过平台设备查看…

字节码

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

nodejs后端项目使用pm2部署

nodejs后端项目使用pm2部署 安装pm2 npm install pm2 -g查看版本号 pm2 --version启动项目 pm2 start app.js# 设置别名 pm2 start app.js --name demo停止项目 pm2 stop [AppName] pm2 stop [ID]# 停止所有项目 pm2 stop all重启项目 pm2 restart [AppName] pm2 re…

运算符与表达式——培训记录

0.引入 1.计算机通过计算去解决问题的。 Q:这个计算到底是按照什么方式去进行计算的? A:通过各种运算符去进行计算。 --->运算符与表达式 1.运算符 1.运算符:用来进行某种运算的符号。如: - * / % 2.几目运算符&#xf…

排查bug的通用思路

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

AI 建站:Durable

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