软件缺陷的描述是软件缺陷报告的基础部分,需要使用简单、准确、专业的术语来描述缺陷。否则,它就会含糊不清,可能会误导开发人员,影响开发人员的效率,也会影响测试人员自身的声誉,准确报告缺陷是非常重要的。
清晰准确的软件缺陷描述可以减少开发人员退回来的缺陷数量,可以节省开发人员和测试人员的时间。
- 提高软件缺陷修复的速度,使项目组能够有效地工作。
- 提高测试人员的可信任程度,可以得到开发人员对有效缺陷的及时响应。
- 加强开发人员、测试人员和管理人员的协同工作,让他们更好的工作。
一、报告缺陷注意事项
尽量确保缺陷可以重现。
- 如果提交的缺陷无法重现,会影响开发人员的工作效率。
简洁、准确、完整
- 测试人员在提交缺陷报告时,要站在开发人员的角度上思考问题,要确保开发人员能迅速定位问题,而不会产生理解上的歧义。
一个缺陷一个报告
有的测试人员喜欢在一个缺陷报告里提交多个缺陷,这种习惯不提倡,原因有以下两点:
不便于分配。
- 比如缺陷报告有2个缺陷,分别属于不同的开发人员,到底该分配给谁呢?
不便于验证。
- 比如一个缺陷报告里面有2个缺陷,缺陷1已经解决,缺陷2还没有解决,那么这个缺陷报告该不该关闭呢?
二、缺陷书写规范
标题:应保持简短、准确,提供缺陷的本质信息
- 尽量按缺陷发生的原因与结果的方式书写;
- 避免使用模糊不清的词语,例如:“功能中断,功能不正确,行为不起作用”等。应该使用具体文字说明缺陷的症状;
- 为了便于他人理解,避免使用俚语或过分具体的测试细节。
复现步骤:应包含如何使别人能够很容易的复现该缺陷的完整步骤。
为了达到这个要求,复现步骤的信息必须是完整的、准确的、简明的、可复现的。
常见问题:
包含了过多的多余步骤,且句子结构混乱,可读性差,难以理解;
包含的信息过少,丢失了操作的必要步骤;
- 复现步骤的正确书写方式:
- 提供测试的环境信息;
- 简单地一步步引导复现该缺陷,一个步骤包含的操作不要多;
- 每个步骤前使用数字对步骤编号;
- 尽量使用短语或短句,避免复杂句型句式;
- 复现的步骤要完整、准确、简短;
- 将常见步骤合并为较少步骤;
- 按实际需要决定是否包含步骤执行后的结果。
实际结果:是执行复现步骤后软件的现象和产生的行为。
实际结果的描述应向标题信息那样,要列出具体的缺陷症状,而不是简单地指出“不正确”或“不起作用”。
期望结果:描述应与实际结果的描述方式相同。通常需要列出期望的结果是什么。
附件:对缺陷描述的补充说明
可以是以下一些类型:
- 缺陷症状的截图;
- 测试使用的数据文件;166 199 188
其它:
- 选择合适的缺陷严重性属性;
- 按相应的规定,填写相应的字段信息
避免常见的错误:
- 避免使用我、你等人称代词,可以直接使用动词或必要时使用“用户”代替
- 避免使用情绪化的语言和强调符号;
- 避免使用诸如“似乎”、“看上去可能”等含义模糊的词汇,而需要报告确定的缺陷结果;
- 避免使用自认为比较幽默的语句,只需客观地描述缺陷的信息;
- 避免提交不确定的测试问题,自己至少需要重现一次再提交。
反面的示例:
上海人:哪能查询到的结果和查询条件不搭噶的。
北京人:哥们好不容易输入一堆个人详细信息后,点击保存后全瞎了。
三、缺陷处理流程
四、缺陷跟踪
新提交的缺陷为新建状态,确认有效后为打开状态,经开发人员修改后,缺陷变为已修复(待验证)状态。此时就需要测试人员对缺陷进行回归测试,验证问题是否修复。
- 如果问题仍然存在,则测试人员将该缺陷的状态修改为重新打开;
- 如果问题已经修复,则测试人员将该缺陷的状态置为关闭状态(验证通过),同时添加回测说明如“该缺陷已解决”。
还有一种情况:开发人员认为缺陷在当前版本可以暂不修改,而考虑在后续版本中再做修正,缺陷的对应状态为延期。
- 对于这种情况,项目负责人应召集开发人员、测试人员和其他项目相关人员进行讨论,如果讨论结果为同意则延期,如果不同意,则重新打开缺陷。
Bug统计
五、缺陷密度
基本的缺陷测量是以每千行代码的缺陷数(个/KLOC)来测量的。称为缺陷密度,其测量单位是defects/KLOC。可按照以下步骤来计算一个程序的缺陷密度:
- 累计开发过程中每个阶段发现的缺陷总数。
- 统计程序中新开发的和修改的代码行数。
- 计算每千行的缺陷数=1000*缺陷总数/代码行数。
例如:一个29.6万行的源程序总共有145个缺陷,则缺陷密度为:
缺陷密度=1000*145/296000=0.49 个/KLOC。
软件测试基础入门
最新软件测试视频教程,软件测试基础入门到项目实战(涵盖软件测试基础+黑马头条项目实战)
Linux系统2天快速入门Linux系统操作教程2天快速入门linux项目搭建
MySQL数据库软件测试工程师必备MySQL数据库,mysql系统精讲+课后练习
Python自动测试教程 黑马程序员Python自动测试教程,python从基础到UnitTest框架管理测试用例
自动化测试
Web自动化软件测试web自动化测试,Web自动化流程精讲和移动自动化测试环境
Appium框架视频 零基础入门移动自动化测试——Appium框架
Appium进行IOS真机自动化测试 轻松教你使用Appium进行IOS真机自动化测试【黑马程序员】
接口测试4天玩转接口测试,接口重点全解析+传智健康项目实战(包含requests库,集成UnitTes,Dubbo等诸多工具)
性能测试性能测试全套教程,4天快速入门性能测试+项目商城实战(含JMeter工具等)
综合项目强化
微信小程序自动化测试软件测试微信小程序自动化测试实战
金融项目功能测试软件测试4天快速搞定金融项目功能测试实战教程
一键收藏不谢