缺陷报告是测试人员和开发人员沟通的重要渠道
1、缺陷编号(defect id)
2、缺陷标题(summary)
3、缺陷的发现者(detected by)
4、发现缺陷的日期(detected on date)
5、发现缺陷的功能模块(subject)
6、指派给(assigned to)
7、发现缺陷的版本(detected in release)
(1)说明:不仅指最后的发布版本,也指软件开发过程中出现的“临时版本”
(2)回归测试:在新版本中对原来版本测试过的内容再重新测试一遍
原因:1、新功能对原有功能可能有影响
2、缺陷修改后也有可能对原有功能产生影响
为了提高回归测试的效率,很多企业使用自动化工具做回归测试
8、缺陷的状态(status)最常见的考试题**
(1)说明:指明缺陷当前所需什么处理和缺陷当前处于什么处理状况
(2)缺陷的处理过程:重点
步骤1:测试人员将缺陷报告提交给开发经理,
将缺陷报告状态设置成:New(新的缺陷)
步骤2:开发经理验证缺陷:
情况1:如果验证是缺陷,将缺陷指派给相应的开发人员,
并将缺陷状态设置成open
open:(打开的缺陷,被开发方承认的缺陷)
情况2:如果验证不是缺陷,开发经理会拒绝此缺陷,将缺陷
状态设置成:rejected。(一般要汇报给测试组长或
测试经理,有时会邀请开发人员参加,开讨论会解决)
步骤3:开发人员要修改缺陷,修改完成后,将缺陷状态设置成:fixed
fixed:(修改过的缺陷,即待返测的缺陷)
步骤4:测试人员返测开发人员更改过的缺陷
情况1:返测通过,将缺陷状态设置成:closed
closed:(关闭的缺陷,可归档)
情况2:返测没通过,将缺陷状态设置成:reopen
reopen:(重新打开的缺陷)
开发人员继续修改缺陷直到缺陷被返测成功为止。
9、缺陷的严重程度(severity) 【说明缺陷有多糟糕或者对软件的影响有多大】
严重程度的级别:
(1)urgent:造成死机,系统崩溃等致命问题
(2)very high:非常严重的问题
(3)high:严重的问题
(4)medium:中等程度的问题
(5)low:小问题
发现问题:级别定义是泛泛的笼统的,容易引发争议,需要制定详细的标准
注意:每个级别的含义,不同企业、不同项目组都可能不同,需要在专门的
文档中定义好细则,在缺陷报告中作为参考。
10、缺陷的优先级(priority)
希望程序员在什么时间内或者在程序的哪个版本中解决该缺陷(Bug)
优先级的级别:
(1)urgent:立即修改,否则会影响开发或测试的进度
(2)very high:本版本中解决
(3)high: 下一版本中解决
(4)medium:发布之前解决
(5)low:尽量在发布之前解决
注意:对于每个级别的具体定义,不同公司不一定完全相同,
实际工作中要注意参考公司的文档。
影响优先级的因素:
(1)考虑缺陷的严重程度:一般是越严重,优先级别越高
(也不是绝对的,有时严重级别低,但优先级高,例如:界面错字)
(2)缺陷影响的范围:一般影响范围越大,优先级越高
(3)开发组的任务压力:进度压力越小,优先级越高
(4)解决缺陷的成本(时间):成本越低,优先级越高 (例如:改错字)
11、缺陷的描述(description)
描述缺陷产生的 *** 作过程,使程序员能重现缺陷。(缺陷报告不是必须
要遵守什么写法和规则,只要程序员能看明白能重现缺陷就可以)
1、缺陷报告的用途
(1)记录缺陷(2)跟踪管理缺陷
(3)可以对缺陷进行分类,并很容易实现对缺陷的总结,统计
2、怎样识别缺陷?
(1)参考测试用例的预期结果,如果实际执行结果与预期结果不一致就是缺陷
(2)参考需求文档-----与需求不符就是bug
(3)参考缺陷定义的五条
(4)与开发人员、产品人员、客户沟通确定是否是缺陷
3、写缺陷报告的注意事项
(1)一个报告只提交一个缺陷
(2)缺陷描述清晰、准确、易读,使用最少、必须的步骤,保证缺陷可以再现
(3)对缺陷的严重性、优先级的划分准确、客观
(4)在提交缺陷报告之前一定要认真审核,确保提交的缺陷是有效的,
而不是因为自己的疏忽或 *** 作不正确早成的“假缺陷”
(5)不要为了引起开发人员的重视而夸大缺陷
(6)小的缺陷也要报告
(7)及时报告缺陷
(8)对于不可重现的缺陷也要报告
(9)不做任何评价
1、什么是随机缺陷:
不可重现的缺陷也叫随机缺陷,按照指定的步骤执行时有时无。
随机缺陷在提交时要明确说明这是不可重现的随机缺陷。
尽量提供关于此缺陷的信息,包括提供截图、错误消息、还有缺陷所在模块
如果确定不了所在模块,可以建议采用白盒测试确定。
2、缺陷的严重程度和优先级是不是严格的正比关系?
答:不一定严格成正比关系。
例如:界面错别字,严重级别低,但优先级别高
3、缺陷的严重程度和优先级确定之后,还可以改吗?
答:严重程度一般不改;优先级有时会改,一般是拖延处理
4、是不是所有已发现的缺陷,在发布时都会被修复?
答:在软件发布之前,不是所有已经发现的缺陷都被修复了;对于
不予修复的缺陷,要通过全组的缺陷讨论,权衡解决缺陷的
成本和不解决的风险。后期一般通过打补丁或升级的方式解决。
缺陷管理流程图
在 QC 中,缺陷的管理流程:
流程中的角色: 1、 测试人员:进行测试的人员,缺陷的发起者; 2、 开发人员:执行开发任务的人员,完成实际的设计和编码工作; 3、 评审委员会:对缺陷进行最终确认,在项目成员对缺陷达不成一致意见时,行使仲裁权力。
缺陷的状态 1、 New:缺陷的初始状态; 2、 Open:开发人员开始修改缺陷; 3、 Fixed:开发人员修改缺陷完毕; 4、 Closed:回归测试通过,关闭缺陷; 5、 Reopen:回归测试失败; 6、 postpone:推迟修改; 7、 Rejected:开发人员拒绝缺陷; 8、 Duplicate:已提交的Defect重复; 9、 Abandon:放弃
Bug****严重级别(Severity,Bug级别) :是指因缺陷引起的故障对软件产品的影响程度,由测试人员指定。
| A-Crash | 造成系统或应用程序崩溃、死机、系统挂起,或造成数据丢失 |
| B-Major | 系统的主要功能部分丧失、数据不能保存,单个功能失效导致多个相关功能均失效 |
| C-Minor | 次要功能没有完全实现但不影响使用 |
| D-Trivial | 使 *** 作者不方便或遇到麻烦,但它不影响功能的 *** 作和执行 |
| E-Nice to Have(建议) | 建设性的意见或建议 |
Bug的严重等级定义:
1)使用频率
2)影响程度
3)出现概率
****Bug的优先级定义:****
1)对其他模块的影响
2)对自身模块的影响
3)对当前功能点的影响
单元测试能发现约80%的软件缺陷。请判断这句话的正确与否。是对的。
单元测试(unit testing):是指对软件中的最小可测试单元进行检查和验证。对于单元测试中单元的含义
一般来说,要根据实际情况去判定其具体含义,如c语言中单元指一个函数,Java里单元指一个类,图形化的软件中可以指一个窗口或一个菜单等。
总的来说,单元就是人为规定的最小的被测功能模块。
单元测试是在软件开发过程中要进行的最低级别的测试活动,软件的独立单元将在与程序的其他部分相隔离的情况下进行测试。
这是软件工程长期的历史数据统计和测试经验总结得来的。
当然要发现这80%的缺陷也是要依靠设计出良好的测试用例。
另外顺便提下,软件测试行业有个二八原则,就是软件80%的缺陷存在与20%的代码中。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)