软件缺陷的概述

网友投稿 1205 2022-11-29

本站部分文章、图片属于网络上可搜索到的公开信息,均用于学习和交流用途,不能代表睿象云的观点、立场或意见。我们接受网民的监督,如发现任何违法内容或侵犯了您的权益,请第一时间联系小编邮箱jiasou666@gmail.com 处理。

软件缺陷的概述

1、什么是软件缺陷

软件缺陷就是软件产品中所存在的问题,最终表现为用户所需要的功能没有完全实现,不能满足或不能全部满足用户的需求。

IEEE(电气电子工程师协会)对软件缺陷有一个标准的定义:

从产品内部看,软件缺陷是软件产品开发或维护过程中所存在的错误、误差等各种问题。

从外部看,软件缺陷是系统所需要实现的某种功能的失效或违背。

2、软件缺陷的类型

(1)软件未实现产品说明书要求的功能。

(2)软件出现了产品说明书不应该出现的错误。

(3)软件实现了产品说明书未提到的功能。

(4)软件未实现产品说明书虽未明确提及但应该实现的功能。

(5)软件难以理解、不易使用、运行缓慢——从测试员的角度看——最终用户会认为不好。

3、软件缺陷的案例

(1)千年虫问题(产生约1974年)

(2)爱国者导弹防御系统(1991年)

(3)英特尔奔腾浮点除法缺陷(1994年)

(4)“冲击波”病毒(2003年)

(5)诺基亚手机平台缺陷(2008年)

4、软件缺陷的产生原因

·需求不明确

· 软件结构复杂

· 开发人员水平有限

· 项目期限短

· 使用新技术

· 其他原因

5、软件缺陷的分类

6、软件缺陷的处理流程

每个公司的软件缺陷处理流程不尽相同,但是它们遵循的最基本流程是一样的,都要经过提交、分配、确认、处理、复测、关闭等环节。

提交:测试人员发现缺陷之后,将缺陷提交给测试组长。

分配:测试组长接收到测试组员提交的缺陷之后,将其移交给开发人员。

确认:开发人员接收到移交的缺陷之后,会与团队甚至测试人员一起商议,确定该缺陷是否是一个缺陷。

拒绝:如果经过商议之后,缺陷不是一个真正的缺陷则拒绝处理,关闭缺陷。如果经过商议之后,确定其是一个真正的缺陷,则可以根据缺陷的严重程度或优先级等立即处理或延期处理。

复测:开发人员修改好缺陷之后,测试人员重新进行测试(复测),检测缺陷是否确实已经修改。如果未被正确修改,则重新提交缺陷。

关闭:测试人员重新测试之后,如果缺陷已经被正确修改,则将缺陷关闭,整个缺陷处理完成。

7、多学一招:缺陷报告(由测试人员完成)

测试人员在提交软件测试时都会按照公司规定的模板(Word、Excel、缺陷管理软件等)将缺陷的详细情况记录下来生成缺陷报告,每个公司的缺陷报告模板并不相同,但一般都会包括缺陷的编号、类型、严重程度、优先级、测试环境等,有时还会有测试人员的建议。

8、常见软件缺陷管理工具

(1)Bugzilla

Bugzilla是Mozilla公司提供的一款免费的软件缺陷管理工具。

Bugzilla能够建立一个完整的缺陷跟踪体系,包括缺陷跟踪、记录、缺陷报告、处理解决情况等。

使用Bugzilla管理软件缺陷时,测试人员可以在Bugzilla上提交缺陷报告,Bugzilla会将缺陷转给相应的开发者,开发者可以使用Bugzilla做一个工作表,标明要做的事情的优先级、时间安排和跟踪记录。

(2)JIRA

JIRA是Atlassian公司开发的项目与实务跟踪工具,被广泛用于缺陷跟踪、客户实务、需求收集、流程审批、任务跟踪、项目跟踪和敏捷管理等工作领域。JIRA配置灵活、功能全面、部署简单、扩展丰富、易用性好,是目前比较流行的基于Java架构的管理工具。

JIRA软件有两个认可度很高的特色:第一个是Atlassian公司对该开源项目实行免费提供缺陷跟踪服务;第二个是用户在购买JIRA软件同时将源代码也购置进来,方便做二次开发。

9、修复软件缺陷的成本

软件开发过程是使用软件工程的方法,在整个过程中,都有可能出现各种各样的软件缺陷。软件BUG随着开发时间的推移,软件缺陷修复成本呈倍数的增长。假如早在进行分析时发现相关功能缺失,立即补上就可以了,可以说付出的代价小得几乎忽略不计。如果在发布时发现缺失某个功能,那么此时加上一个功能,相当于重新开发一样,这时的修补费用可以说高了许多。因此要尽早进行测试。

上一篇:软件测试之什么时候该自动化和不应该
下一篇:软件测试基本认知之正反思维
相关文章

 发表评论

暂时没有评论,来抢沙发吧~