软件产品的 MTBF

软件测试 压力测试
2022-02-03 23:15:43

我们的最终客户要求我们软件的 MTBF(平均故障间隔时间)估计。我知道 MTBF 依赖于不适合软件的模型,它使用机械模型,其中零件具有固有的物理寿命,并且在损坏时被更换。使用 MTTF(平均故障时间)稍微好一些,但仍然有其缺点。

有人报告了软件的可靠性估计或有关于应该如何做的指针吗?

3个回答

如果您正在运行服务或平台(例如操作系统),那么 MTTF 和 MTBF 是软件中非常重要的因素,并且已经使用了相当长的一段时间来评估可靠性,通常通过某种形式的压力测试。

压力测试的主要目的之一是找到通常由于内存泄漏、资源容量、带宽等原因而发生的 MTTF(平均时间故障)。简单地说,压力测试可以帮助我们确定软件的平均时间量在崩溃或挂起之前使用。

MTBF 尤其是。对服务和服务器很重要,因此公司知道服务器何时下线需要多少秒、多少分钟才​​能“重新启动”软件(假设没有硬件故障)。

能够预测 MTTF 和 MTBF 有助于服务负载平衡并执行定期维护。

话虽如此,许多人经常混淆 MTBF 和 MTTF。所以,如果你不明白你的客户想要什么,你应该要求他们澄清他们将如何使用这些信息。我怀疑他们可能正在寻找可靠性数据,其中 MTBF、MTTF 只是 2。

维基百科对此有最佳答案。

可靠性工程师/设计工程师,经常使用可靠性软件根据各种方法/标准(MIL-HDBK-217F、Telcordia SR332、Siemens Norm、FIDES、UTE 80-810 (RDF2000) 等)计算产品的 MTBF。然而,这些“预测”方法并不旨在反映通常认为的现场 MTBF。这些工具的目的是将设计工作集中在设计中的薄弱环节上。

因此,在软件中,MTBF 通常用作服务可靠性指标,而不是工程目标。

您可以使用物理产品(例如汽车零件或硬盘驱动器)计算 MTBF,您可以进行物理测试直到出现故障,并进行足够的次数以统计得出 MTBF。

维基百科页面也有这个公式。

MTBF = 多次测试的(停机时间开始 - 正常运行时间开始)之和除以故障数。

Bishop 和 Bloomfield 提出了一种预测软件长期可靠性增长的方法。它基于对故障的初步评估。他们的工作很容易理解和遵循,后来的工作着眼于通过各种方法估计软件缺陷。

在这里可以找到他们的大量论文

此处列出了可能有帮助或提供良好起点的论文:

长期可靠性增长预测的保守理论 PG Bishop 和 RE Bloomfield,1996

从代码覆盖率 PG Bishop 估计残余故障

基于残余缺陷先验估计的最坏情况可靠性预测 PG Bishop, RE Bloomfield