站在测试角度理解可靠性
2022-01-04 14:21:53 22 举报
AI智能生成
从测试的思维理解可靠性
作者其他创作
大纲/内容
对于可靠性,用户关心什么?
系统是否能稳定运行
业务系是否失效/异常
业务失效/异常后是否可以尽快回复
如果无法回复,是否可以及时告警上报
AWS架构六大支柱
良好的运营
安全性
可靠性
设计原则
自动恢复故障
不仅仅是恢复故障而已,而是通过一些智能监控的方式,在关键性能指标出现异动时,<br>
针对恢复过程的测试
通过自动化的方式,来复现验证曾经出现的过的故障;或者验证系统应当具备的恢复能力<br>
水平扩展以提高集群负载和可用性
需要注意多个组成节点,不应具有公共故障点,即同一个故障不会导致节点大面积故障
按需调整所需资源
配合监控措施,监控硬件资源使用情况,按需自动扩容和削减资源<br>
变更管理自动化
包括需求变更和自动化用例变更
性能提升
成本控制
稳定性
关于自动化
自动化的优势
提升效率
不需要人工操作并检查数据
减少重复投入
架构产生变化后,适应能力强
可以应对复杂的系统
减小杀虫剂效应
自动化的困难点
平台能力的缺失
用例生成管理
监控能力
告警能力
检验能力的缺失
规范/标准待完善
可依赖平台
用例自动编排
故障域<br>
故障权重
用例管理、执行
自动化管理
需求(标准、规范)管理
性能压测平台
故障注入工具
分析、核对、监控、报告
现状分析<br>
待补充
关于可靠性的不同定义
AWS
The reliability pillar encompasses the ability of a workload to perform its intended function correctly and consistently when it’s expected to<br>可靠性支柱包括工作负载在预期情况下正确、一致地执行其预期功能的能力。<br>
软件可靠性测试
可靠性是指产品在<b>规定的条件</b>下和<b>规定的时间</b>内完成<b>规定功能</b>的能力<br>
1983年美国IEEE计算机学会<br>
在规定的条件下,在规定的时间内,软件不引起系统失效的概率;<br>
在规定的时间周期内,在所述条件下程序执行所要求的功能的能力;<br>
从定义剖析可靠性因子<br>
无效时间
运维时间<br>
各种升级方式支持
故障时间
RTO
RPO
正常运行时间
N个9
根据历史数据统计
根据架构类比估计
组合计算
共因
单个组件可用性
正确性(规定时间、条件)
数据一致性
事务成功率
数据正确性验证
基础性能指标
监控
智能(算法)监控
告警,通知<br>
弹性扩缩容<br>
故障自动恢复
节点冗余
服务治理
熔断
过载保护
可靠性应该关心什么
运维监控能力
监控能力
升级能力
告警能力
弹性扩缩容能力
可用性
RTO
RPO
自我修复能力(容错性)
数据一致性/事务成功率
可靠性测试的意义/目的
检验
量化
评估
指导
调优
分析方法<br>
失效模式影响分析法(Failure Mode and Effects Analysis)
步骤
列出(拆分)组件
对于每个组件,列出所有已知的失效模式
对于每个组件/失效模式,列出其对更高层次上的影响
对于每个组件/失效模式,列出影响的严重程度
局限性
由于每个组件都单独进行分析,因此导致严重问题的<b>组合</b>所产生的复合失效未得到辨识。
在容错系统中,共因失效很少被识别出来
在FMEA期间,操作和维护错误也很难分析
组件的所有故障模式都必须已知,否则会被忽略
辨识人员的技能和态度对于FMEA的质量非常重要
故障树分析法
步骤
列出已知或者预期的问题<br>
推演可能产生相关问题的所有可能
制定相关场景
局限性
需要先了解潜在或者已知的问题(对经验的要求)
原因的分析可能会产生很多的分叉和不确定性,最终结果可能会产生较大偏差<br>
待补充。。。
可靠性测试过程
确定可靠性目标(规范、标准)
环境规划、准备
设计测试用例
实施可靠性测试
分析测试结果
收藏
收藏
0 条评论
下一页