软件测试 - 缺陷管理
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】
软件测试 - 缺陷管理相关推荐
- 软件测试缺陷管理工具
软件测试的项目有哪些常用的缺陷管理工具? 1.QC QC的全称Quality center, 质量中心的意思,它是一款缺陷管理工具,可以组织和管理一个项目所有的测试阶段. 2.Bugzilla Bug ...
- 禅道-软件测试缺陷管理工具
1. 禅道的下载:http://www.zentao.net 进入首页,选择开源版就好(作为学习用途的情况下) 2. 点击要下载的类型,进入下载页面,可以看到有许多版本可供选择,选择自己电脑对应的操作 ...
- 软件测试-缺陷管理流程图
- 常见的软件测试缺陷分类:遇到测试缺陷怎么处理?
什么是软件测试缺陷呢?通俗来说,就是bug管理.在软件系统或者程序研发过程中,程序员编码.系统设计架构不合理都可能产生错误,影响程序的正常运行.而软件测试的目的之一,就是通过软件测试工具执行操作,找到 ...
- 目前流行的Bug缺陷管理工具
目前流行的缺陷管理工具(2009-09-2309:31:13) 标签:杂谈 分类:软件测试 缺陷管理工具: 1. Bugzilla 2. Bugfree 3. TestDirector (Qua ...
- 软件测试基础 第二篇 软件测试管理概述
1 软件测试管理概述 1.1软件测试管理基础 1,软件测试管理目标:软件测试管理的目标是通过系统的.高效的.适用的技术.方法和体系来监督.促进和达到这个软件测试的目标. • 可用测试资源 • 使用适当 ...
- React.Children 详解
React.Children 详解 React.Children提供了处理 this.props.children 的 API,this.props.children 支持任何数据(组件.字符串.函数 ...
- 软件测试学习笔记_第1周第5天——缺陷管理、术语
Day5 练习题讲解 销售出库 一.缺陷的管理流程 1.定义 (1)概述 内部视角 研发维护中存在的错误 外部视角 系统功能失效和违背 静态表现为错误 错误被激活呈现为故障 故障引发的结果就是功能失效 ...
- 银行系统软件测试的目的,商业银行软件缺陷管理与风险评估
银行软件的专业性.复杂性和银行业务的特殊性质使得银行软件系统上线后面临种种风险.防范软件风险的重要手段之一是执行有效的软件测试.在软件测试过程中,对软件缺陷的管理是发现软件风险.保证软件测试有效性的关 ...
最新文章
- 阿里大佬分享API网关在微服务架构中的应用
- linux内网机器访问外网代理设置squid
- vue+webpack (vue-cli + vuex + vue-resource + vue-router) web工程搭建
- 软件工程导论 银行储蓄系统_银行计算机储蓄系统
- @transactional注解失效情况
- .NET Nancy 详解(三) Respone 和 ViewEngine
- 判断端口是否能用_扫描器篇(八)之python+scapy构造TCP协议包扫描主机端口
- pymavlink 源码剖析(一)之XML文件的数据解析
- 华为再发行30亿元超短期融资券
- 铁芯用matlab怎么仿真,Simulink的BLDC建模与仿真
- 关于Python学习的一点说明
- ActivityGroup简介1
- uiniapp实现微信授权登录
- python画球面_matplotlib中的球面坐标图
- 编译原理——设计一个词法分析程序,实现对C程序设计语言的源程序(自定)的词法分析
- [闲聊篇]这个世界所谓的28定律
- 开发一款系统软件大概需要多少钱呢
- PVE 天龙八部TLBB服务端搭建(一)--linux环境搭建
- bootstrap4 input-spinner数字增减框的使用
- 攻防世界-web xff_Referer