软件测试 - 缺陷管理

news2024/11/19 9:36:15

1. 缺陷的定义

产品不满足用户的需求或者测试执行时实际结果和预期结果不一致都属于缺陷。

2. 缺陷的判定标准及产生原因

软件不满足下述任何一种都算作是软件的缺陷,缺陷的概念是包括bug概念的。

  • 未达到需求说明书指明的功能
  • 出现了需求说明书指明不应该出现的错误
  • 实现了需求说明书之外的功能
  • 未达到需求说明书虽未明确提及但是应该实现的目标(如:性能要求等)
  • 用户角度发现的各种问题与错误

缺陷产生的原因是多方面的,可以总结为以下几种:

  • 需求文档存在错误
  • 程序代码存在错误
  • 同一个项目组的成员信息不同步,比如需求发生变更,但是没有同步到项目组所有成员

3. 缺陷报告

测试人员发现缺陷之后,需要将缺陷同步给项目组的其他成员,为了让其他成员能够清晰的知道软件目前存在的缺陷,就需要对软件缺陷的描述进行规范化,通常来讲测试人员需要将发现的缺陷整理成缺陷报告然后通过一些平台比如禅道或者jira指定给项目组的指定成员,然后由他们进行解决。

缺陷报告首先必须有以下几个核心的内容:

  • 标题:描述缺陷的基本信息,如(输入密码长度为5时,注册成功。)
  • 前置条件:描述缺陷出现依赖的相关基础条件,如(未注册手机号)
  • 复现步骤:测试用例里面的执行步骤
  • 实际结果:执行被测试软件过程中,系统给出的结果
  • 预期结果:参照需求说明书,在测试用例中设计的预期结果
  • 附件:方便开发定位bug的关键信息,包含图片、日志log等

有了上述几个核心内容之后,开发人员基本上可以根据所给信息去定位缺陷,然后进行解决,当然缺陷报告还有一些其他的基本要素:

  • ID编号:缺陷的唯一编号

  • 模块:根据产品进行具体的划分,如登录、注册

  • 缺陷状态:表明缺陷处理进度,通常会使用禅道等工具进行管理,缺陷状态有以下几种

    • new:新建的缺陷
    • open:打开的缺陷
    • fix:已修复的缺陷
    • close:关闭的缺陷
    • reopen:重新打开
    • reject:被拒绝解决的缺陷
    • postpone:延期处理
  • 严重程度:从技术维度来衡量,bug的破坏力

  • 优先级:从业务的角度,决定bug修改的先后顺序

  • 缺陷类别:用于分类整理缺陷,通常缺陷类别可以从以下几个角度进行区分:

    • 功能性错误

    • 非功能性错误

      • 界面错误
      • 兼容性
      • 易用性
      • ...

缺陷报告非常重要,合格的缺陷报告可以帮助解决缺陷的开发人员更快的复现和定位缺陷,因此缺陷报告必须保证能够让开发人员复现缺陷。通常在编写缺陷报告时可以遵循以下书写规范:

  • 标题:应保持简短、准确,提供缺陷的本质信息
  • 复现步骤:应包含如何使别人能够很容易的复现该缺陷的完整步骤
  • 实际结果:是执行复现步骤后软件的现象和产生的行为
  • 预期结果:通常需要列出期望的结果是什么
  • 附件:对缺陷描述的补充说明

4. 缺陷跟踪流程

使用禅道或者jira进行缺陷跟踪时,根据不同的场景会产生不同的缺陷状态。下图是缺陷跟踪流程图,每一条流程表示一种场景。

场景1:确认BUG解决

  • 测试【new】》开发【open】》开发【fix】==》测试【close】
  • 场景2:验证未通过,缺陷仍存在

  • 测试【new】》开发【open】》开发【fix】==》测试【reopen】
  • 场景3:开发延期处理

  • 测试【new】》开发【open】》开发【postpone】
  • 场景4:拒绝处理

  • 测试【new】》开发【open】》开发【reject】

 

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

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

相关文章

cordova-10 打apk

Android升级到api 31后,ionic打出来的release包默认是一个aab文件,要想走以前的手动签名和zipalign的流程我需要打一个没有签名的apk的包,参考以下文章: Android Platform Guide - Apache Cordova Ionic Cordova Build for Andro…

Ubuntu: 搭建 NFS 服务器

文章目录 1. 前言2. 测试环境3. NFS 服务器搭建3.1 安装 NFS 服务3.2 导出 NFS 共享目录3.3 重启 NFS 服务 4. 客户端连接 NFS 服务端5. VMware Ubuntu6. Linux 内核 NFS 支持 1. 前言 限于作者能力水平,本文可能存在谬误,因此而给读者带来的损失&…

Seurat -- 数据集的整合

文章目录 briefPerforming integration on datasets normalized with LogNormalizePerforming integration on datasets normalized with SCTransform brief 这里主要根据seurat的教程走的,描述了多个单细胞数据集的整合,其中数据集的integration并不是…

java的对象模型

背过面试题的朋友都知道,Java对象是保存在堆内存中,在内存中,一个Java对象包含三部分:对象头,实例数据,对其填充。其中对象头是一个很关键的部分,因为对象头中包含锁状态标志,线程持…

使用MindSDK的at-server组件开发从机模组

使用MindSDK的at-server组件开发从机模组 文章目录 使用MindSDK的at-server组件开发从机模组引言AT命令应用场景AT命令技术简介MindSDK中的at-server组件及样例工程at_port.cat_cmd_led.cmain.c 基于AT命令的人机交互应用使用串口调试助手软件发送AT命令使用Python脚本发送AT命…

Java高阶数据结构 并查集 最小生成树

并查集与最小生成树 文章目录 Java高阶数据结构 & 并查集 & 最小生成树1. 并查集1.1 并查集的原理1.1.1 例子:1.1.2 这样存储有什么好处呢? 1.2 并查集的代码实现1.2.1 类的定义与属性1.2.2 构造方法1.2.3 获取下标的方法1.2.4 获得根节点1.2.5 …

1.SpringCloud技术实用02

SpringCloud技术实用02 0.学习目标 1.Nacos配置管理 Nacos除了可以做注册中心,同样可以做配置管理来使用。 1.1.统一配置管理 当微服务部署的实例越来越多,达到数十、数百时,逐个修改微服务配置就会让人抓狂,而且很容易出错。…

ES+Redis+MySQL 高可用架构设计

一、背景 二、ES高可用方案 三、会员Redis缓存方案 四、高可用会员主库方案 五、异常会员关系治理 六、展望:更精细化的流控和降级策略 一、背景 会员系统是一种基础系统,跟公司所有业务线的下单主流程密切相关。如果会员系统出故障,会…

网络安全信息收集初探之域名信息收集

网络安全信息收集初探之域名信息收集 域名信息收集工具oneforall收集子域名扫描单个域名批量扫描域名oneforall 额外参数 google hacking 证书收集子域名证书子域名在线收集网站子域名收集的各种细节 域名信息收集工具 oneforall收集子域名 扫描单个域名 python oneforall.p…

进阶自动化测试,这3点你一定要知道的...

自动化测试指软件测试的自动化,在预设状态下运行应用程序或系统,预设条件包括正常和异常,最后评估运行结果。将人为驱动的测试行为转化为机器执行的过程。 自动化测试框架一般可以分为两个层次,上层是管理整个自动化测试的开发&a…

云渲染农场具有什么特点?

众所周知,渲染农场的出现是为了解决长时间的图像渲染问题。渲染农场的底层搭建原理是利用很多计算机、网络和操作系统来构建一个庞大的计算群组,把一个渲染任务从一台机器分发到这个计算群组,从而达到短时间内能够快速得到渲染结果。 到了20…

分布式搜索引擎es 面试突击

es elastocsearch 倒排索引是在数据查询之前建立,在查询的时候可以直接通过关键词定位到文档内容。用空间换时间 分布式架构原理说一下? es底层是基于lucene来的 大概就是一个用于全文检索的jar包 用es来做分布式的搜索引擎 可以承载一秒钟几千的…

【Vue工程】005-Vue Router

【Vue工程】005-Vue Router 文章目录 【Vue工程】005-Vue Router一、概述1、Slogan2、官网3、参考文章 二、安装三、基本使用1、定义路由2、创建路由实例3、在 main.ts 注册路由4、在 App.vue 定义路由出口 四、嵌套路由1、修改路由2、定义嵌套路由出口 五、配置404页面六、声明…

联合索引该如何选择合适的列?

前面一篇文章,松哥和大家聊了 MySQL 中的索引合并,虽然 MySQL 提供了索引合并机制来提升 SQL 执行的效率,然而在具体实践中,如果能避免发生索引合并是最好的,毕竟这是没办法的办法,是一个下下策。发生索引合…

Wikidata 模型分析+实体抽取+数据处理

Wikidata 数据分析与处理 需求:Wikidata 数据描述了很多实体,以及实体属性。比如某一个公司/组织/机构名称是:阿里巴巴,对数据内该组织的相关属性进行观察、分析、治理、抽取等,最后用图数据库进行存储和展示其关系&am…

为什么半导体FAB生产线需要EAP系统?

在半导体制造中,设备自动化系统EAP(Equipment Automation Program)是不可或缺的重要软件,它是连接MES、RMS、APC、FDC等上层系统和设备层的桥梁,用于管控生产线上的所有机台,并实现设备运行的自动化。 作为…

QT+OpenGL高级数据和高级GLSL

QTOpenGL高级数据和高级GLSL 本篇完整工程见gitee:QtOpenGL 对应点的tag,由turbolove提供技术支持,您可以关注博主或者私信博主 高级数据 OpenGL中的缓冲区 对象管理特定的GPU内存 在将缓冲区绑定到特定的缓冲区目标时候赋予它意义 OpenGL在内部会保…

项目环境配置、不知晓问题自己搜索后得到的解答

目录 Anolis OS龙蜥操作系统 Kernel Selection 4.18.0(RHCK) Compatible with RHEL (kernel-4.18.0) 4.19.91(ANCK) Support Anolis OS verified platform (kernel-4.19.91) 这两个内核选择哪个比较好呢? 我的C盘有些满,我该如何删除一些我需要的东西…

docker网络访问和端口映射

docker网络访问和端口映射 文章目录 docker网络访问和端口映射1.docker容器网络1.1.创建一个centos7的容器1.2.docker网络原理图 2.端口映射2.1.创建一个新的IP2.2.多个IP端口映射2.3.随机端口命令 1.docker容器网络 指定映射(docker 会 自动添加一条iptables规则来…

wisp5.0 学习日记2

学习日记 昨天的报错尝试1,在CCS中设置USB FET尝试2 csdn解决方案1尝试3 查看仿真器的驱动是否安装成功 昨天的报错 MSP430: Error initializing emulator: No USB FET was found 尝试1,在CCS中设置USB FET 打开CCS,选择“Window” -> …