一文带您了解什么是系统的鲁棒性以及对它的测试方法
鲁棒性定义
鲁棒是Robust的音译,也就是健壮和强壮的意思。它也是在异常和危险情况下系统生存的能力。比如说当我们的系统出现断电、磁盘故障、网络故障或面对有意攻击的情况下依然能不死机、不崩溃,则证明系统的鲁棒性很强。简单的说鲁棒主要是指系统对处理干扰和不确定等因素的一种能力。
鲁棒性和稳定性的区别
通常说鲁棒性即稳健性,但是严格来说二者还是有一定差别的,因为稳定是基础,鲁棒是建立在稳定基础上的。没有稳定的话,一切无从谈起!我们也可以理解,稳定性是系统内部的性质,而鲁棒性是系统对外部扰动的响应能力。
鲁棒测试
鲁棒测试其实就是验证系统发生特殊情况(包括:磁盘故障、网络故障、恶意攻击)时,系统是否能够采取相对应的措施保障系统的健壮性并稳定持续运行。鲁棒测试我们可以理解为以前我们做过的破坏性测试,只不过破坏性测试往往针对的是某个应用,而鲁棒性测试是从系统角度出发进行。
破坏性测试
破坏性测试就是通过有效的测试手段,使软件应用程序出现奔溃或失败的情况,然后测试在这样的情况下,软件运行会产生什么结果,而这些结果又是否符合预期。这里需要注意的是,我们需要使用的测试手段必须是有效的:
第一,破坏性测试的手段和过程,并不是无的放矢,它们是被严格设计和执行的。破坏性测试不等于探索性测试。破坏性测试的结果也都应该是有预期的。
第二,破坏性测试,会产生切实的破坏作用,我们需要权衡破坏的量和度。因为破坏不仅仅会破坏软件,还可能会破坏硬件,一旦硬件部分被破坏,修复成本就会很大。
如何提升系统的鲁棒性
为了提升系统的鲁棒性,近几年技术圈衍生出一个很流行的理论:混沌工程。如果系统应用了混沌工程,那么其鲁棒性就会提升。
具体可以参考文章:
一文带您入门混沌工程并了解测试在混沌工程中的落地方案-CSDN博客
我的每一篇文章都希望帮助读者解决实际工作中遇到的问题!如果文章帮到了您,劳烦点赞、收藏、转发!您的鼓励是我不断更新文章最大的动力!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!