软件测试--缺陷和缺陷报告
缺陷的基本概述
定义:软件未实现产品说明书要求的功能
软件出现了产品说明书指明不应该出现的功能
软件实现了产品说明书未提及的功能
软件未实现产品说明书虽未说明单应该实现的目标
软件难以理解、不易使用、运行缓慢或者(从测试的角度看)最终用户会认为不好
缺陷的定义和属性
1、缺陷的定义
2、缺陷的属性
缺陷类型:缺陷类型是根据缺陷的自然属性划分的缺陷种类
缺陷严重程度:缺陷严重程度是指因缺陷引起的故障对软件产品的影响程度
缺陷优先级:缺陷的优先级是指缺陷必须被修复的紧急程度
缺陷状态:缺陷状态是指缺陷通过一个追踪修复过程的进展情况
缺陷起源
缺陷来源
缺陷根源
缺陷类型:
功能Function、用户界面UI、文档Documentation、
软件包Package、性能Performance、系统/模块接口Interface
注意:
需求分析、设计阶段,文档类型的缺陷较多;
集成测试阶段,一般接口类型的缺陷较多;
系统测试阶段,功能和界面类型的缺陷较多;
验收测试阶段,更多的关注性能缺陷;
软件实施过程中,可能会遇到一些软件包的缺陷
缺陷的严重程度:
致命:系统任何一个主要功能完全丧失,用户数据受到破坏,系统崩溃、悬挂、死机,或者危及人身安全
严重:系统主要功能部分丧失,数据不能保存,系统的次要功能完全丧失,系统所提供的功能或者服务受到明显影响
一般:系统的次要功能没有完全实现,但不影响用户的正常使用。例如:提示信息不正确或用户界面差、操作时间长等问题
较小:是操作者不方便或者遇到麻烦,但不影响功能的操作和执行,如个别不影响产品理解的错别字。文字排列不争气等一些小问题。
结合缺陷的影响程度、结合软件的具体功能(业务或者流程)。
缺陷修复的优先级:
立即解决:缺陷导致系统几乎不能使用或测试不能继续,需立即修复(很大程度取决于缺陷对测试工作的影响)
例如:电商系统的用户注册无法使用
(登陆功能、购买、结算、支付、下订单、物流跟踪、收货)都无法使用,就必须立即修复;
电商系统中关于用户购买流程帮助说明的网页链接点击后404页面。
高优先级:缺陷严重,影响测试,需要优先考虑
正常排队:
低优先级:
衡量优先级的技巧:一般可以根据测试软件系统的全业务流程划分,在划分的过程中,软件的基本功能的缺陷,优先级高,甚至需要立即解决;
软件的备选流程和基本功能测试中反向测试的内容,优先级较低,甚至可改可不改;
面试提问:
缺陷的严重程度和缺陷的修复优先级有什么关系?
1、二者之间没有任何直接的关系。
2、不要认为严重的缺陷优先级就高!!!
3、如果碰到优先级和严重程度都高的缺陷,也只是偶然。
例如:QQ的帮助按钮会引起软件闪退,说明严重程度很高、但是优先级很低。
网站的logo被篡改,说明严重程度很低,但是优先级很高!!!
提交缺陷时,能不能夸大或者降低缺陷的严重程度、或者优先级?不能
缺陷的状态:
发现缺陷是缺陷处理的前提条件,但是还没有缺陷的处理流程。
- 激活或者打开(新建):由测试人员进行标注;
- 确认状态:确认新提交的缺陷是一个真实有效的缺陷,一般由测试主管或者质量保障人员(QA)、产品经理进行。经确认后,有效的缺陷会指派给相关人员进行处理。
- 已修复:在缺陷被修复后,一般由开发人员进行。
- 关闭/非激活:缺陷被修复完成后,经过测试人员的验证后,没有问题。
- 重新打开:经过测试人员验证后,缺陷没有修复成功,就需要重新打开,再次处理。
- 推迟状态:缺陷现在不能修复,推迟到下一个版本或者状态。测试要和开发或者其他管理人员进行确认。
- 保留缺陷:缺陷暂时修复不了,一般也是开发人员去设定。测试要和开发或者其他管理人员进行确认。
- 不能重现:开发按照缺陷的复现步骤不能再次发现缺陷。一般闪退、崩溃的缺陷具有类似的特征。或者由于操作系统的差异或者浏览器缓存等问题,出现的问题。所以作为测试人员,提交bug之前要再三的确认bug。
- 需要更多信息:作为测试人员,提交bug的时候,要尽可能把相关的文件一起提交(图片、视频)。
- 重复:测试中,一定要避免这种情况的出现。尤其在软件的某一个功能频繁被多个模块调用、多个模块被不同人员测试的情况下。
- 不是缺陷:一定不要在测试工程师的工作生涯中被开发标注缺陷状态为不是bug。
- 需要修改软件规格说明书:缺陷不是技术造成的,而是由于需求不明确或者设计不明造成的。
缺陷的起源:
缺陷的来源:
缺陷的根源:
缺陷的生命周期
发现缺陷----提交缺陷----确认缺陷----分配缺陷----修复缺陷----验证缺陷----关闭缺陷
或者从验证缺陷再次到提交缺陷,适用于缺陷未修复的状态
- 发现缺陷。由测试人员,开发也能知道自己哪里写错了,但是不会广而告之;
- 提交缺陷。由测试人员,开发更不可能提交bug;
- 确认缺陷。一般由测试主管或者质量保证人员、产品经理进行确认;
- 分配缺陷。一般由谁确认的就由谁分配,分配的对象可能是开发、也可能是UI,产品经理;
- 修复缺陷。一般主要是开发修复,也有可能是产品经理修复需求问题、文档问题等;也有可能是UI去修复问题;
- 验证缺陷。测试去验证缺陷是否修复成功。
- 关闭缺陷。只能是测试人员进行。否则出了问题,测试人员一律不背锅。
面试提问:
你工作中发现的bug,说说这个bug的处理过程?考的就是生命周期中,每个环节都是做什么?......
缺陷的识别
- 通过测试用例中的预期结果进行识别
- 通过需求规格说明书进行识别
- 通过用户手册以及其他文档进行识别
- 通过同行业相类似的商业软件进行识别
- 通过和开发人员的沟通进行识别
- 通过和有经验的测试人员进行识别
- 参考同行业隐式需求进行识别
依据:
需求文档、用户手册、设计文档、产品原型、测试用例,都是客观的依据;
同行业类似的成熟软件、和开发人员沟通(下下策)、跟有经验的测试人员沟通、同行业隐形需求进行分析,这些都是带有主观色彩的依据
测试人员在识别缺陷的时候,要很灵活的对待。
缺陷报告
- 缺陷编号:Bug_项目名称_模块名称_功能名称_0001
- 所属模块:一级模块/二级模块/三级模块
- 优先级:缺陷的修复紧急程度;P1>P2>P3(参考PPT中优先级)
- 严重程度:S1>S2>S3>S4(参考PPT中严重程度)
- 缺陷概述:用一句话去描述缺陷的基本情况
- 缺陷描述:将缺陷的复现步骤、预期结果和实际结果描述出来
- 提交人:测试人员
- 备注:产生该缺陷的特殊情况,将bug的截图作为备注信息。
编写目的:
- 易于搜索软件测试报告的缺陷
- 报告的软件缺陷进行了必要的隔离,报告的缺陷信息更具体准确
- 软件开发人员希望获得缺陷的本质特性和复现步骤
- 市场和技术支持等部门希望获得缺陷类型分布以及对市场和用户的影响程度。
展现缺陷的详细信息、展现缺陷的影响程度和方式
预期读者:
开发人员、质量管理人员、市场人员、运维人员
编写准则:
Correct(准确):每个组成部分的描述准确,不会引起误解
Clear(清晰):每个组成部分的描述清晰,易于理解
Concise(简洁):只包含必不可少的信息,不包含任何多余的内容
Complete(完整):包含复现该缺陷的完整步骤和其他本质信息
Consistent(一致):按照一致的格式书写全部缺陷报告
缺陷描述的准则:
单一准确、可以再现、完整统一、短小简练、特定条件、补充完善、不做评价
可以再现:针对大多数的缺陷都是如此。但是一些小的缺陷是难以做的(类似闪退、崩溃这种不可再现的缺陷,无法做到。针对可以重复重新的闪退缺陷,也要进行步骤的详细描述)
不做评价。不对缺陷出现的严重程度和缺陷表现出来的效果进行主观测断。
缺陷报告本身保证没有任何表述性的错误。
禅道
软件测试--缺陷和缺陷报告相关推荐
- 软件测试梳理 第九节 缺陷和缺陷报告
缺陷的基本概述 缺陷的定义 软件未实现产品说明书要求的功能 软件出现了产品说明书指明不应该出现的功能 软件实现了产品说明书未提到的功能 软件未实现产品说明书虽未明确提及但应该实现的目标 软件难以理解. ...
- 软件测试——缺陷(缺陷的基本概、缺陷的生命周期、缺陷的识别)
缺陷 一.缺陷的基本概述 1.缺陷的定义 软件未实现产品说明书要求的功能 软件出现了产品说明书指明不应该出现的功能 软件实现了产品说明书未提到的功能 软件未实现产品说明书虽未明确提及但应该实现的目标 ...
- 软件测试执行与缺陷记录
缺陷和错误的联系和区别: 1.缺陷报告是描述软件缺陷现象和重现步骤的集合.软件缺陷报告Sofeware Bug Report(SBR) 2.软件问题报告Sofeware Problem Report( ...
- 软件测试——功能测试(缺陷)2
功能测试--缺陷 缺陷 1.定义: 2.缺陷知识点 3.缺陷编写 3.1 缺陷报告示例 3.2 缺陷的跟踪流程 3.3 提交缺陷注意事项 3.4编写规范 3.5 缺陷类型 3.6 工作流程 4.缺陷管 ...
- 软件测试怎么跟踪缺陷,也谈软件测试缺陷跟踪管理
缺陷跟踪管理是软件测试工作的一个重要部分,软件测试的目的是为了尽早发现软件系统中的缺陷,因此,对缺陷进行跟踪管理,确保每个被发现的缺陷都能够及时得到处理是测试工作的一项重要内容. 1. 缺陷跟踪管理的 ...
- 软件测试——缺陷密度、缺陷数据分析的重要性、缺陷数据分析的数据指标
缺陷密度 基本的缺陷测量是以每千行代码的缺陷数(个/KLOC)来测量的称为缺陷密度,其测量单位是defects/KLOC.可按照以下步骤来计算一个程序的缺陷密度: 累计开发过程中每个阶段发现的缺陷总数 ...
- 软件测试怎么跟踪缺陷,软件测试缺陷跟踪管理
缺陷跟踪管理是工作的一个重要部分,的目的是为了尽早发现软件系统中的缺陷,因此,对缺陷进行跟踪管理,确保每个被发现的缺陷都能够及时得到处理是测试工作的一项重要内容. 1.缺陷跟踪管理的目标 软件缺陷能够 ...
- 内核二分缺陷_缺陷跟踪
1. 内核二分缺陷_缺陷跟踪 1.1 二分缺陷 # 利用git log 查看提交的历史记录 root@mouse:~/linux# git log --oneline 56e337f2cf13 (HE ...
- 汇智动力2021年度软件测试学员就业分析报告
终于,赶在了春节长假之前,如约在这里和大家一起盘点"汇智动力2021年度的教学成果". 回首2021年,疫情对各行业的反复袭扰未曾停歇,互联网行业也经历着较大规模的整改和阵痛期-但 ...
最新文章
- SpringMVC异常报406 (Not Acceptable)的解决办法
- HTTP协议 ----响应消息
- MIPS介绍与MIPS汇编的常用指令
- 消除左递归c++代码_【每日算法Day 85】图解算法:一行代码解决约瑟夫环的变体...
- web developer tips (78):使用文档大纲导航
- android数据库可视化工具
- LPDDR4协议规范之 (四)命令和时序
- 百度常用搜索语法 超详解
- mysql查询结果数量_sql语句统计查询结果数量怎么写?
- ajax errorthrown属性,【技术】error:function (XMLHttpRequest, textStatus, errorThrown)
- Don't let the things you own end up owing you
- DL2 - Improving Deep Neural Networks- Hyperparameter tuning, Regularization and Optimization
- 华为服务器做系统密码,华为服务器默认密码是多少
- 【算法设计与分析】HDU-1108 C++诡异的楼梯(BFS迷宫最短路径)
- xRM 扩展性及产品组合
- 人类一败涂地做图教程_人类一败涂地地图制作教程 创意工坊自制地图方法
- 计算机二级c语言考试总结,计算机二级考试C语言知识点总结 .doc
- 微信小程序中播放海康萤石云HLS '.m3u8'视频 video标签
- oracle grid的概念和asm的配置
- 如何自学Python,需要多久?【建议收藏】