什么是MTBF测试

MTBF测试

目前,终端侧的可靠性测试基本上是采用称为”MTBF测试”的专有测试活动来进行的。

 

中国移动2015版的MTBF测试的标准是:每轮测试5台终端并行连续循环执行以下用例7X24小时,期间记录系统级问题,包括死机、重启、白屏、脱 网等严重问题。最终计算终端的无故障运行时间

 

T:T = 5X7X24 /(故障数)

 

如果终端支持稳定性测试中对应的本地及通信类业务,则要求终端对于支持的业务满足稳定性测试中,在 TD-SCDMA、TD-LTE 网络下平均无故障运行时长指标不低于 250 小时。零售价 2500 元以上不低 于 350 小时。

 

北美电信运营商AT&T的MTBF指标是这样定义的:7台手机每天24小时不间断运行AT&T规定的测试,测试内容包括2G/3G语音呼叫、短彩信、浏览器上网、电话本操作。测试过程中出现的测试用例失败情况都会记录下来,然后用7台手机总的运行时间除以全部手机出现的测试失败次数,即得到MTBF值。整个测试过程全部采用自动化方式,并且都在AT&T的现网环境下进行,该测试已经成为所有与AT&T合作的终端厂商都必须通过的测试,而且是所有厂商公认的最难通过的测试。

 

YunOS的MTBF测试是由YunOS系统测试团队执行的,同时制定了更为严格的通过标准。

 

MTBF测试与系统可靠性

可以看出,MTBF测试标准的定义与上文介绍的System Availability的概念不是完全一致,因为移动终端毕竟与服务端从架构,实现方法,到用户群体都不尽相同;严格来讲MTBF测试是终端可靠性测试其中的稳定性测试部分。然而有不少地方是两者是相通和可以借鉴的。比如:

 

MTBF中的故障数可以近似理解为Outage,系统重启属于Total Outage, 模块Crash属于Partial Outage

提升可靠性都是需要降低故障数减小downtime

在系统和应用设计中都需考虑如何减少错误,或者出现错误如何恢复。

终端上的一些后台服务可以近似理解为服务端应用,虽然不能完全照搬上文中提到容灾和恢复的场景,但是可以借鉴其中的一些思路。

终端上可以通过参考DPM的概念增加数据衡量指标,但可能不需要也不现实每个场景都执行100万次操作,可以依据实际情况调整标准要求

可以参考Failover策略中错误探测,隔离,恢复的操作在出现错误时及时发现,快速恢复重新启动来减少对用户造成的负面影响,恢复时间即Failover Recovery Time就成了一个关键指标

### MTBF的定义与含义 MTBF(Mean Time Between Failures)的全称是平均故障间隔时间,它是衡量一个产品(尤其是电器产品)可靠性的重要指标[^4]。具体来说,MTBF是指相邻两次故障之间的平均工作时间,也称为平均无故障工作时间。这个值反映了产品在规定的工作环境条件下从开始工作到出现第一个故障的时间的平均值[^1]。 MTBF的计算公式为: \[ \text{MTBF} = \frac{\sum(T_2 + T_3 + T_1)}{N} \] 其中,\( T_1, T_2, T_3 \) 表示每次测试中的无故障工作时间,而 \( N \) 表示总失效次数。 对于可维护的系统,MTBF可以进一步分解为: \[ \text{MTBF} = \text{MTTF} + \text{MTTR} \] 这里,MTTF(Mean Time To Failure)表示平均失效前时间,即系统正常运行直到发生故障的平均时间;MTTR(Mean Time To Repair)表示平均修复时间,即从检测到故障到完成修复所需的时间[^2]。然而,由于MTTR通常远小于MTTF,因此在许多情况下,MTBF近似等于MTTF,并常被用来替代后者[^2]。 MTBF的单位通常是“小时”,它体现了产品的可靠性和时间质量。MTBF越长,表明产品的正确工作能力和可靠性越高[^4]。 ```python # 示例代码:假设我们有一个设备的无故障工作时间和故障次数数据 def calculate_mtbf(working_times, failure_count): """ 计算MTBF值 :param working_times: list(float) 无故障工作时间列表(单位:小时) :param failure_count: int 故障次数 :return: float MTBF值 """ total_working_time = sum(working_times) mtbf = total_working_time / failure_count if failure_count > 0 else float('inf') return mtbf # 示例数据 working_times = [1000, 1200, 950, 1100] # 每次无故障工作时间(小时) failure_count = 4 # 总故障次数 # 计算MTBF mtbf_value = calculate_mtbf(working_times, failure_count) print(f"MTBF值为: {mtbf_value} 小时") ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值