什么是软件缺陷


软件缺陷(Defect),常常又被叫做Bug。所谓软件缺陷,即为计算机软件或程序中存在的某种破坏正常运行能力的问题、错误,或者隐藏的功能缺陷。缺陷的存在会导致软件产品在某种程度上不能满足用户的需要。IEEE729-1983对缺陷有一个标准的定义:从产品内部看,缺陷是软件产品开发或维护过程中存在的错误、毛病等各种问题;从产品外部看,缺陷是系统所需要实现的某种功能的失效或违背。
在软件开发生命周期的后期,修复检测到的软件错误的成本较高。

类别

缺陷的表现形式不仅体现在功能的失效方面,还体现在其他方面。主要类型有:

  • 软件没有实现产品规格说明所要求的功能模块;
  • 软件中出现了产品规格说明指明不应该出现的错误;
  • 软件实现了产品规格说明没有提到的功能模块;
  • 软件没有实现虽然产品规格说明没有明确提及但应该实现的目标;
  • 软件难以理解,不容易使用,运行缓慢,或从测试员的角度看,最终用户会认为不好。

级别

一旦发现软件缺陷,就要设法找到引起这个缺陷的原因,分析对产品质量的影响,然后确定软件缺陷的严重性和处理这个缺陷的优先级。各种缺陷所造成的后果是不一样的,有的仅仅是不方便,有的可能是灾难性的。一般问题越严重,其处理优先级就越高,可以概括为以下四种级别:
(1)微小的(Minor)。一些小问题如有个别错别字、文字排版不整齐等,对功能几乎没有影响,软件产品仍可使用。
(2)一般的(Major)。不太严重的错误,如次要功能模块丧失、提示信息不够准确、用户界面差和操作时间长等。
(3)严重的(Critical)。严重错误,指功能模块或特性没有实现,主要功能部分丧失,次要功能全部丧失,或致命的错误声明。
(4)致命的(Fatal)。致命的错误,造成系统崩溃、死机,或造成数据丢失、主要功能完全丧失等。

除了严重性之外,还存在反映软件缺陷处于一种什么样的状态,以便于及时跟踪和管理,下面是不同的缺陷状态。

  • 激活状态(Open):问题没有解决,测试人员新报告的缺陷或者验证后缺陷仍旧存在。
  • 已修正状态(Fixed):开发人员针对缺陷,修正软件后已解决问题或通过单元测试。
  • 关闭状态(Close):测试人员经过验证后,确认缺陷不存在之后的状态。
    以上是三种基本的状态,还有一些是需要相应的状态描述,如“保留”,“不一致”状态等。

产生原因及构成

产生原因:在软件开发的过程中,软件缺陷的产生是不可避免的。那么造成软件缺陷的主要原因有哪些?从软件本身、团队工作和技术问题等角度分析,就可以了解造成软件缺陷的主要因素。
软件缺陷的产生主要是由软件产品的特点和开发过程决定的。

构成:从软件测试观点出发,软件缺陷有以下五大类:功能缺陷、系统缺陷、加工缺陷、数据缺陷、代码缺陷

修复代价

在讨论软件测试原则时,一开始就强调测试人员要在软件开发的早期,如需求分析阶段就应介入,问题发现的越早越好。发现缺陷后,要尽快修复缺陷。其原因在于错误并不只是在编程阶段产生,需求和设计阶段同样会产生错误。也许一开始,只是一个很小范围内的错误,但随着产品开发工作的进行,小错误会扩散成大错误,为了修改后期的错误所做的工作要大得多,即越到后来往前返工也越远。如果错误不能及早发现,那只可能造成越来越严重的后果。缺陷发现或解决的越迟,成本就越高
平均而言,如果在需求阶段修正一个错误的代价是1,那么,在设计阶段就是它的3~6倍,在编程阶段是它的10倍,在内部测试阶段是它的20~40倍,在外部测试阶段是它的30~70倍,而到了产品发布出去时,这个数字就是40~1000倍,修正错误的代价不是随时间线性增长,而几乎是呈指数增长的。

步骤

为了有效地再现软件缺陷,除了按照软件缺陷的有效描述规则来描述软件缺陷,还要遵循软件缺陷分离和再现的方法,虽然有时少数几个缺陷很难再现、或者根本无法再现。

  • 1.确保所有的步骤都被记录。
  • 2.特定条件和时间。
  • 3.压力和负荷、内存和数据溢出相关的边界条件。
  • 4.考虑资源依赖性包括内存、嘲络和硬件共享的相互作用等。
  • 5.不能忽视硬件。
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

降温vae+

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值