软件失效:是指软件运行时产生的一种不希望或不可接受的外部行为,偏离了用户需求。
软件故障:在一个计算机程序中出现的不正确的步骤、过程或数据定义常称为故障。是指软件运行时丧失了在规定的限度内执行所需功能的能力,执行输出错误结果,导致失效。
失效 故障 面向用户 面向开发者 软件运行偏离用户需求 程序执行输出错误结果 可根据对用户应用的严重性等级分类 可根据定位和排除故障的难度分类 如,登录功能失效。 如,数据越界,程序崩溃,功能失效。
软件缺陷:软件缺陷是存在于软件(文档、数据、程序)之中的那些不希望或不可接受的偏差。缺陷是错误的结果(缺陷是错误的表现),缺陷很难捕获。
软件缺陷的主要特征:
- 软件未达到软件产品需求说明书指明的要求。
- 软件出现了软件产品需求说明书中指明不应出现的错误。
- 软件功能超出软件产品说明书指明的范围。
- 软件未达到软件产品说明书未指明但应达到的要求。
- 软件测试人员认为难以理解、不易使用、运行速度慢或最终用户认为不好。
软件错误:软件错误即人为错误,指软件开发人员在开发软件的过程中无意间犯下的技术错误,正是这些错误导致软件工作产品的缺陷,相对于软件本身是外部行为。错误在整个软件开发周期很可能扩散,需求阶段发生的错误在设计期有可能被放大,在编写代码时还会进一步扩大。编写代码时有可能出现错误,这种错误叫做bug。
- 软件错误是一种人为错误。一个软件错误必定产生一个或多个软件缺陷。
- 当一个软件缺陷被激活时,便产生一个软件故障;同一个软件缺陷在不同条件下被激活,可能产生不同的软件故障。
- 软件故障如果没有容错措施加以处理,便不可避免地导致软件失效;同一个软件故障在不同条件下可能产生不同的软件失效。
#需求分析:实现两个数的加法 public class Test { public static void main(String[] args) { Scanner sc = new Scanner(System.in) int a = sc.nextInt(); int b = sc.nextInt(); System.out.print(a-b); } }
【软件错误】由于程序员粗心,将a+b,写成了a-b。
【软件缺陷】应该计算加法,结果确是减法。
【软件故障】用户使用了这个程序(输入:1和2),触发了激活了缺陷,产生了故障,输出(-1)。
【软件失效】用户使用软件没能满足自己的需求(应该为3,但是结果却是-1),软件失效。