可靠性定义为在特定环境中指定时间段内无故障软件运行的概率。
在这个机械化的世界里,现在人们盲目地相信任何软件。用户认为显示的数据是正确的,软件将始终正确运行。这就是需要进行可靠性测试的地方。
什么是可靠性测试?
可靠性测试就是为了评估产品在规定的寿命期间内,在预期的使用、运输或储存等所有环境下,保持功能可靠性而进行的活动。是将产品暴露在自然的或人工的环境条件下经受其作用,以评价产品在实际使用、运输和储存的环境条件下的性能,并分析研究环境因素的影响程度及其作用机理。通过使用各种环境试验设备模拟气候环境中的高温、低温、高温高湿以及温度变化等情况,加速反应产品在使用环境中的状况,来验证其是否达到在研发、设计、制造中预期的质量目标,从而对产品整体进行评估,以确定产品可靠性寿命。
不同类型的可靠性测试:
下面讨论了各种类型的可靠性测试以供您参考:
1.功能测试:
此测试确定适用性,即它测试应用程序是否按预期用途执行。在这里,它将检查应用程序的互操作性,以测试它与其他组件以及与应用程序交互的系统。
它确保了系统在Beta测试期间检查是否没有发现错误的准确性。
它还测试某种安全性和合规性。安全测试与防止有意或无意地未经授权访问应用程序有关。在合规性方面,我们将检查应用程序是否遵循某些标准,例如标准、规则等。
2.负载测试:
负载测试将检查系统与竞争系统或性能相比的性能。它还基于正在使用系统的并发用户数以及系统对用户的行为。
系统必须以更短的响应时间(例如5秒)响应用户命令并满足用户的期望。
3.回归测试:
在回归测试中,我们将检查系统是否运行良好,以及是否没有由于在软件中添加新功能而引入错误。当错误已修复并且测试人员需要测试时,也会执行此操作。
可靠性特性:
执行可靠性测试是为了确保软件是可靠的,它满足其目的,在给定的环境中指定的时间量,并能够呈现无故障运行。
上述定义,有三个要素要考虑:
规定的条件包括使用时的环境条件和工作条件;比如某些设备中的某些零件在高海拔或者潮湿环境,它的实际寿命要小于规定寿命;在比如网络流量监控软件,监控视频监控环境下流量使用情况,这样的话,流量监控软件的规定环境其实就是视频监控的环境;又比如同一型号的汽车在高速公路和在崎岖的山路上行驶,其可靠性的表现就不大一样。要谈论产品的可靠性必须指明规定的条件是什么。
规定的时间,指产品规定了的任务时间;随着产品任务时间的增加,产品出现故障的概率将增加,而产品的可靠性将是下降的。比如服务类型的软件,如7*24*365全天候的服务。
规定的功能,指产品规定了的必须具备的功能及其技术指标;所要求产品功能的多少和其技术指标的高低,直接影响到产品可靠性指标的高低。比如某软件的主要功能是增删改查,那么规定的功能是四者都要,还是只需要增删查,所得出的可靠性指标是不一样的;又比如CPU在规定的温度条件下,持续续航不降频。
成熟性(maturity):指软件产品为避免由软件中错误而导致失效的能力。比如遇到支付失败的问题,软件要有成熟的处理手段。比如我们用支付宝对公交卡进行充值,因为支付宝某个模块出现问题导致充值失败的问题。
容错性(faulttolerance):指在软件出现故障或者违反指定接口的情况下,软件产品维持规定的性能级别的能力。现在,用户可以在微信充值交通卡,每次用户支付后,微信都会给交通公司一个反馈,那么如果有意外出现,比如本来要返回给交通公司一个状态码,现在给了一个文本文件,那么交通公司的相关接口要处理这种意外情况的能力。不能因为某个节点出现问题,导致整个系统瘫痪。
易恢复性(recoverability):指在软件失效(崩溃)的情况下,软件产品重建规定的性能级别并恢复首直接影响的数据的能力。比如系统突然蓝屏,我们正在编辑的Word,在系统重启后内容是否还存在。Word是有这个功能的;又比如Google浏览器发现浏览器异常关闭,再重启后会提示是否打开原来的那些窗口。一般的比如服务器都会有主备两套服务,来避免主机突然挂掉而影响业务。
可靠性的依从性(reliabilitycompliance):指软件产品遵循与可靠性相关的标准、约定或法规的能力。比如有些车辆的召回,不同的国家有不同的相关规定,那么如果车辆出现问题,在召回的时候,各国的召回情况也有所不同。这就是可靠性要依从各个规定、标准。