当测试人员发现一个缺陷,需要填写一份“缺陷报告”来记录这个缺陷,并通过这个缺陷报告告知开发人员所发生的问题–缺陷报告是测试人员和开发人员交流沟通的重要工具。
一、 缺陷报告的八大要素:
缺陷编号
缺陷的唯一标识符,在禅道之类的缺陷管理工具中一般都会自动生成。
缺陷状态
缺陷跟踪过程的进展情况,缺陷工具都会有相应的流程和状态标识。
新建:刚发现的缺陷
已指派:已经由测试人员将缺陷指派给开发人员进行处理
已打开:开发人员正在修复缺陷
已修复:开发人员完成缺陷修复,还未进行回归测试
已拒绝:发开人员拒绝修复
已延期:对缺陷进行延缓处理
已关闭:由测试人员回归测试后,缺陷不存在了
重新打开:由测试人员回归测试后,发现缺陷任然存在,
对于禅道管理软件的Bug状态,目前只有三种:激活、已解决和已关闭
缺陷标题
对缺陷或错误特征的概要描述,可以使用短语或短句,要求简练、准确
重现步骤
一步一步描述再现缺陷的操作步骤,要求开发人员按照步骤能重现Bug。
第一部分,描述该缺陷重现的操作顺序,要求:完整、简洁、准确;第二部分,描述实际出现的结果;第三部分,描述预期想要的结果
严重程度
严重程度一般分为关键的、主要的、次要的和无关紧要的。
“关键的”属于最严重的,主要是缺陷影响关键功能,例如崩溃、死机,主要业务流程不能跑通;
“主要的”意思是缺陷影响主要功能;
“次要的”的意思是缺陷影响次要功能;
无关紧要的”意思是缺陷不影响功能。
优先级
修复缺陷的重要性或紧迫性,即哪些缺陷需要紧急修复,哪些缺陷可以后续再修复。
优先级一般分为紧急、高、中和低
缺陷类型
就是根据缺陷产生的来源和根源划分出的缺陷种类。
缺陷类型按照一般分类可以分为16类,禅道软件中分为10类
测试环境
主要为测试环境的配置,包括操作系统和浏览器
测试环境按照一般分类可以分为操作系统、浏览器和手机型号3类。
对于C/S结构的软件,测试环境只会选择操作系统即可,对于Web软件,测试环境主要选择浏览器,对于移动端软件,相对较复杂,测试环境这三类一般都需要选择。
二、加深理解
1.缺陷的严重程度和优先级是不是成正比关系?
界面问题的严重程度一般比较低,但优先级可能很高—-立即修复
某些重大的功能问题可能暂时解决不了,但不影响其他功能的使用,这时优先级可能定义的比较低—在发布之前修复
2.缺陷的严重程度和优先级确定好后,还能改吗?
严重程度不允许改,优先级可能修改。
测试人员确定一个缺陷为“立即修复”,但开发组认为这个缺陷不好解决,而这个缺陷又不影响其他功能,这时可能 要求在“下一个版本修改”或“发布之前修改”
3.是不是所有已发现的缺陷都会被修复?
有些缺陷修复的成本太高或者由于进度压力可能在发布前得不到修复,这样的缺陷一定要经过项目组的讨论,权衡成本和风险,要确保不会对用户造成重大的影响及法律纠纷。后面再通过升级软件或者打补丁的方式修复缺陷或弥补漏洞
三、缺陷报告的用途
①记录bug
②对bug进行分类(模块、bug状态、严重程度、版本)
③跟踪bug
④对bug进行分析、统计
四、如何识别bug
①通过测试用例的预期结果判断—实际结果与预期结果不一致,就是bug
②看需求(通过缺陷的5点定义识别)
③沟通(开发、需求、用户)
五、写缺陷报告时注意的问题
①一个报告只提交一个缺陷
②缺陷描述清晰、准确、易读,使用最少、必须的步骤,保证缺陷可以再现
③对缺陷的严重性、优先级的划分准确、客观
④在提交缺陷报告之前一定要认真审核,确保提交的缺陷是有效的,而不是因为自己的疏忽或操作不正确造成的“假缺陷”
⑤不要为了引起开发人员的重视而夸大缺陷
⑥小的缺陷也要报告
⑦及时报告缺陷
⑧对于不可重现的缺陷也要报告
⑨不做任何评价
六、软件缺陷分类
七、缺陷报告编写技巧
1、对错误的描述要做到简洁、准确、完整,揭示错误实质
2、尽量使用短语和短句,避免复杂句型句式
3、每个软件问题报告只书写一个缺陷或错误
4、明确指明错误类型和严重程度
5、每一个步骤尽量只记录一个完整操作
6、复现的操作步骤要完整,准确,简短
7、可以附加必要的错误特征图像
8、可以附加必要的测试用例