测试中的Bug

文章目录

    • 软件测试的生命周期
      • 软件测试的各个阶段
      • 线上环境
    • 测试中的BUG
    • 描述测试BUG
    • BUG的级别
      • 为啥要定义BUG的级别?
      • BUG有哪些级别呢?
    • BUG的生命周期
    • 测试与开发发生争执怎么办?
      • 测试与开发会发生啥争执?
      • 为啥会发生这样的争执?
      • 测试与开发发生争执怎么办呢?
      • BUG评审
        • BUG评审的三个代表
        • BUG评审要解决的两个问题

软件测试的生命周期

在这里插入图片描述

有人看完上面这个图就会想,这不是和前面说过的软件生命周期差不多吗?没错,就是因为软件测试贯穿软件的整个生命周期,所以在软件开发的每个阶段,对应的都有测试需要干的工作

软件测试的各个阶段

阶段内容
需求分析看看软件需求设计上是否存在业务逻辑错误、冗余、冲突等问题
测试计划制定测试计划:什么时候开发测试,什么时候结束测试,耗时多久
测试设计与开发编写测试用例
确定测试方法,测试工具,测试形式等等
测试执行充分利用测试用例和测试工具对项目尽可能做到全方面的测试覆盖
测试评估产出一个测试报告
上线测试线上环境
运行维护由于测试人员对项目产品的业务和操作非常了解,加上测试人员的沟通表达能力一般都比较强,所以测试人员可以参与用户使用软件的培训,在试运行项目时收集问题并及时反馈给相关负责人

线上环境

实际在工作中,上线要分成多个步骤:沙盒、小流量、全流量、全线上。
为什么又要细分这几个阶段呢?因为上线的过程中也可能会存在问题,即使线下测试没有问题,如果直接推到线上可能会发现问题。

  • 沙盒:企业内部的线上环境,可以供内部人员进行测试;
  • 小流量:部分线上真实的用户可以使用到,测试人员要在线上手动测试,还要观察有没有错误日志,还要接收用户在使用过程中发现的问题;
  • 全线上:所有的真实用户都可以使用到

线上环境和线下测试环境并不是完全一样的,因此每一步都需要跟进测试。

测试中的BUG

测试中的BUG和我们开发中的BUG有些不一样

  1. 首先,如果你程序中实现的功能和软件需求中提到的功能不一样,那不管它有没有报错,它就是BUG!
  2. 如果用户用的不舒服,即使程序完全符合软件需求,这也是BUG
    比如下面这个例子,软件需求中没有规定按钮的大小,但是用户看着不好看,这也算BUG
    在这里插入图片描述

描述测试BUG

描述bug的基本要素:问题出现的版本、问题出现的环境、问题出现的步骤、预期结果、实际结果

举个例子,看下面的网页,在谷歌浏览器上呈现出来,它的二维码会被登录界面遮住。这个问题应该怎么描述呢?
在这里插入图片描述
在这里插入图片描述

BUG的级别

为啥要定义BUG的级别?

  1. 同时存在多个BUG,我要优先修复级别更高的BUG
  2. 评价一个程序员的绩效,不仅要看他工作中出现BUG的数量,还要看他搞出来的BUG的级别,搞出BUG越严重,那他就越菜

BUG有哪些级别呢?

bug级别一般分为:崩溃、严重、一般、次要

BUG的生命周期

在这里插入图片描述

测试与开发发生争执怎么办?

测试与开发会发生啥争执?

  • 测试说:你这个BUG的级别是崩溃级别
  • 开发说:我觉得我这个BUG不至于级别那么高

为啥会发生这样的争执?

  • 测试找的BUG越多,绩效越高
  • 开发出现的BUG越多,绩效越少

测试与开发发生争执怎么办呢?

  1. 先反思自己BUG描述得清不清楚
  2. 从用户使用感受的角度说明问题
  3. 根据公司BUG定级文档,给出自己BUG定级的依据
  4. 不仅指出问题,最好还要给出解决方案
  5. 如果前面四条不管用,就发起BUG评审,让第三方来评判

BUG评审

BUG评审的三个代表
  1. 测试代表
  2. 开发代表
  3. 产品代表
BUG评审要解决的两个问题
  1. 如何解决这个BUG
  2. 如何预防这个BUG

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

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

相关文章

aws共享一个镜像并有画图功能

这样可以方便的把系统安装好,不会重复劳动了。 这个是frequi 单独安装 wget https://github.com/freqtrade/frequi/releases/download/2.0.7/freqUI.zip freqtrade install-ui pip install -U -r requirements-plot.txt 在AWS上把已经安装好的环境共享给其他用户。…

C语言---goto语句

文章目录基本语法代码示例goto 的常见用途(尽管不推荐)为什么 goto 声名狼藉?(goto的缺点)如何避免使用 goto?(替代方案)goto 语句是一种无条件跳转语句,它用于将程序的控…

Flask框架的简单了解

🤟致敬读者 🟩感谢阅读🟦笑口常开🟪生日快乐⬛早点睡觉 📘博主相关 🟧博主信息🟨博客首页🟫专栏推荐🟥活动信息 文章目录1. 前言2. 简介3. 核心特点4. 代码实例5. 主要…

——贪心算法——

目录 1 柠檬水找零 2 将数组和减半的最少操作次数 3 最大数 4 摆动序列 5 最长递增子序列 6 递增的三元子序列 7 最长连续递增序列 8 买卖股票的最佳时机 9 买卖股票的最佳时机 II 10 K 次取反后最大化的数组和 11 按身高排序 12 优势洗牌 13 最长回文串 14 增减…

网络操作系统与分布式操作系统的区别

网络操作系统与分布式操作系统的区别架构设计网络操作系统(NOS)基于客户端-服务器模型,通过共享资源(如文件、打印机)提供服务,各节点保留独立的管理和数据处理能力。分布式操作系统(DOS&#x…

RabbitMQ—运维篇

RabbitMQ安装 RabbitMQ需要依赖erlang,如果普通安装需要安装erlang并保证二者兼容,因此选择较为简单的docker安装方式 1.获取rabbitmq镜像 docker pull rabbitmq:3.11.19-management #rabbitmq-management表示带有客户端(控制台) …

【学习K230-例程21】GT6700-UDP-Client

B站视频 UDP 简介 UDP 是 User Datagram Protocol 的简称,中文名是用户数据报协议,是 OSI(Open SystemInterconnection,开放式系统互联)参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送…

LazyLLM教程 | 第9讲:微调实践:让大模型和向量模型更懂你的领域

前面教程中,我们通过优化检索策略、召回重排略以及基于大模型的查询重写策略来提升了RAG系统的检索精度,但最终回复的结果还需要经过大模型的融合和处理,模型能力的强弱直接影响到最终的结果。这就好比一道好的菜不仅需要有高质量的食材&…

六、vue3后台项目系列——页面自适应设计+pinia,vuex的使用

前言:在页面加入自适应是提高用户体验的一种形式,甚至有时候是手机用户,我们就需要做一个自适应处理,其中肯定会涉及一些状态条件的判断,而这些关键的条件就是我们用来切换样式的关键,所以我们需要使用状态…

视频讲解|Python用ResNet残差神经网络在大脑出血CT图像描数据预测应用

全文链接:https://tecdat.cn/?p43843 原文出处:拓端抖音号拓端tecdat 分析师:Zikun Zhang 视频讲解Python用ResNet残差神经网络在大脑出血CT图像描数据预测在临床医疗影像诊断中,大脑出血的快速准确识别直接关系到患者的救治效率…

Mysql中有那些锁

按照锁的力度分:1.行级锁2.表级锁3.全局锁4.页级锁innodb不支持页锁全局锁全局锁指的是对整个数据库实例加锁,一般用于数据库的表级锁表锁 是对整张表进行加锁。表级锁还有以下几种:意向锁:意向锁是指,我们在事务请求表…

基于 CoT 思维链协调多 MCP 工具:依托亚马逊云科技服务打造全流程智能的 Amazon Redshift 运维体系

基于 CoT 思维链协调多 MCP 工具:依托亚马逊云科技服务打造全流程智能的 Amazon Redshift 运维体系 新用户可获得高达 200 美元的服务抵扣金 亚马逊云科技新用户可以免费使用亚马逊云科技免费套餐(Amazon Free Tier)。注册即可获得 100 美元的…

手机群控平台的智能管控技术深度解析

手机群控平台作为数字化运营的核心工具,正在重塑移动设备管理的技术边界。其核心价值在于通过集中化控制实现批量化操作,同时借助智能化算法提升管控效率。本文将深入探讨其技术架构与实现方案。平台架构与核心技术手机群控平台采用分布式架构设计&#…

Spring Boot 生命周期与核心扩展点全解析(含实操案例)

在Spring Boot开发中,理解应用的生命周期是实现优雅启动、资源管理与故障处理的关键。不同于传统Spring框架需要繁琐的XML配置,Spring Boot通过自动配置简化了开发流程,但其生命周期的底层逻辑仍延续并增强了Spring的核心机制。本文将从“生命周期阶段划分”“核心扩展点原理…

69-SQLite应用

1. SQLite操作 1.1了解数据库1.2 操作数据库步骤# -*- coding: utf-8 -*- """ Project : 01-python-learn File : 03_SQLite3添加数据.py IDE : PyCharm Author : 刘庆东 Date : 2025/9/15 14:05 """ # 1. 导入模块 import sqlite3 …

Nginx - 正向vs反向代理

参考: https://blog.csdn.net/william_n/article/details/127387009 AI问答​​ Nginx 正向代理 vs 反向代理详解​​ ​​1. 正向代理(Forward Proxy)​​ ​​定义​​ ​​客户端主动配置​​的代理服务器,代表客户端向外部服务器发送请…

装饰器模式在Spring中的案例

设计模式-装饰器模式 装饰器模式所解决的问题是,在不改变原来方法代码的情况下对方法进行修饰,从而丰富方法功能。 Spring架构中的装饰器模式 在Spring架构中,以线程池进行举例。 线程池 线程池是一个对线程集中管理的对象,集中管…

云原生与 AI 驱动下的数据工程新图景——解读 DZone 2025 数据工程趋势报告【附报告下载】

在 AI 技术从“实验性”走向“企业级落地”的关键阶段,数据工程作为底层支撑的重要性愈发凸显。近日,DZone 发布的《2025 数据工程趋势报告》(Scaling Intelligence with the Modern Data Stack)通过对全球 123 位 IT 专业人士的调…

9.5 机器翻译与数据集

语言模型是自然语言处理的关键,而机器翻译是语言模型最成功的基准测试,因为机器翻译正是将输入序列转换成输出序列的序列转换模型的核心问题。序列转码模型在各类现代人工智能应用中国呢发挥着至关重要的作用,因此我们将其作为本章剩余部分和…

Linux 内核镜像与启动组件全解析:从 vmlinux 到 extlinux.conf

🧠 Linux 内核镜像与启动组件全解析:从 vmlinux 到 extlinux.conf 在嵌入式 Linux 系统中,启动流程涉及多个关键文件和机制。不同的镜像格式和配置文件承担着不同的职责,从内核编译到 bootloader 加载,再到系统启动。本…