错误是程序中的缺陷,当在特定条件下执行时,该缺陷会导致程序运行结果与其要求不同。这是导致软件无法执行其所需功能的情况。
以下是用于减少软件故障的技术:
- 故障预防–
故障预防/避免策略确定了可能发生故障的所有潜在区域并缩小了差距。这些预防策略可解决系统要求和规格,软件设计方法,可重用性或形式化方法。在软件开发阶段使用它们来避免或防止错误发生。通过对系统要求,编程方法和软件可重用性的严格规范,它们有助于提高系统的可靠性。但是很难量化故障避免策略对系统可靠性的影响。因此,尽管进行了故障预防工作,但仍会创建故障,因此需要排除故障。
- 故障排除–
故障排除策略是在验证和确认过程中采用的可靠性增强技术。通过检测现有故障并消除有缺陷的故障,它们可以得到改善。在软件开发阶段之后使用它们,以有助于软件的验证。常见的故障排除技术涉及测试。随之而来的是,最小化组件尺寸和相互关系可以最大程度地提高准确度。测试程序中遇到的困难通常与过高的成本和详尽的测试有关。因此,故障排除是不完善的,因此需要容错。
- 容错–
容错包括可靠性增强技术,该技术在软件验证期间用于估计故障的存在。它用于减少系统设计故障并增强软件的可靠性。在软件的开发阶段采用了容错技术,该技术使系统能够容忍在其开发后残留在系统中的故障,并且即使出现故障也可以提供符合要求规格的操作。因此,当发生故障时,可以防止系统故障。
故障预防,故障消除和故障消除代表了抵御软件系统故障的偶然性及其对系统的影响的连续防御线。尽管事实是,每种技术的好处都是非凡的,但收益递减法则主张,应统一使用每种技术,无论哪种技术最有效。