本文主要是介绍聊一聊稳定性测试,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
聊一聊稳定性测试
什么是稳定性测试?
关于稳定性测试,我们内部是这么定义的:被测试系统在特定硬件、软件、网络环境条件下,给系统加载一定业务压力,使系统运行一段较长时间,以此检测系统是否稳定,一般稳定性测试时间为 n*12 小时。
为什么要进行稳定性测试?
首先我们来列举下网上的关于未进行稳定性测试的1个例子:
例子1:爱国者导弹稳定性受质疑 媒体:美军在冒险
在海湾战争期间,萨达姆部队总共发射了大约47枚“飞毛腿”,但只有4枚被“爱国者”击落。1991年2月25日,一枚伊拉克飞毛腿导弹成功躲过爱国者导弹防御系统,导弹击中了美军在沙特阿拉伯达兰地区的兵营,造成28名士兵死亡。最终分析发现症结在于一个软件缺陷,系统时钟的一个很小的计时错误积累起来到14小时后,跟踪系统不再准确。
可见我们需要进行稳定性测试的重要性。
而我们内部为什么需要进行稳定性测试?也给出了答案:其目的在于验证产品基于一定业务量基础上长时间运行时,检查业务功能是否可正常使用,属于功能测试的大范畴,而外界关于稳定性测试的事实标准,一般属于性能测试的大范畴。
进行一定时间的稳定性测试以后,能够大大提升发现软件的出错机率、性能劣化趋势等。进而大大减少软件上线后的崩溃卡死等现象,为软件的逐步优化提供方向及验证。
怎么做稳定性测试?
既然稳定性测试如此重要,那我们需要如何进行稳定性测试呢?
归结起来,做好稳定性测试主要需要实现2个方面:
- 稳定业务:
稳定业务就是指在给定的特定环境中,部署了对应的产品或者解决方案,根据模拟客户使用的常用业务以及一定的业务压力下进行稳定性测试。
这里指的业务压力一般会有两种施压模式:即恒定业务压力和波浪式业务压力。其中波浪式业务压力比较符合真实客户使用场景,但模拟构造波浪式业务压力比较繁琐,性价比比较低,具体实施过程中需要根据产品或项目组一起确定的施压方式来进行。如无特殊指明,施压方式一般指的是恒定业务压力 。
示例说明:
恒定业务压力
xx产品或项目在n24小时稳定性测试中任一单位时间内,业务压力都是相同的。假如XX产品门禁系统,任一单位时间内,刷卡量都是相同的。
波浪式业务压力
xx产品或项目在n24小时稳定性测试中,根据产品业务特性,不同时间段内业务量是不同的。假如XX产品门禁系统,上下班时间段和非上下班时间段,刷卡量是不一样的。 - 资源和业务监控:
资源监控就是指在上述稳定业务执行期间,对资源指标、中间件指标和业务请求API时延进行监控,使得监控的数值未超过我们预设的上下线阈值,如若超出阈值,需要进行合理的问题定位和分析并进行问题修复,以便后续产品或者解决方案能够在相同或者更高的业务压力下,被监控的对象能够符合指标预期。
这篇关于聊一聊稳定性测试的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!