我们生活在一个用户依赖于对服务的一致访问的可靠性时代。在相互竞争的服务之间进行选择时,对用户来说,没有比可靠性更重要的特性了。但是可靠性是什么意思呢?

为了回答这个问题,我们将根据可靠性工程中的其他度量来分解可靠性:可用性和可维护性。区分这些术语并不是语义问题。了解这些差异可以帮助您更好地将开发工作的优先级放在客户的满意度上。

可用性

可用性是可靠性最简单的组成部分。此度量描述服务运行的时间百分比,这也被称为服务的“正常运行时间”。可用性可以通过连续查询服务并以预期的速度和准确性确认返回的响应来监控。

服务的可用性是用户感知可靠性的主要因素。考虑到这一点,设定一个100%正常运行时间的目标是很诱人的。但是SRE告诉我们失败是不可避免的;导致停机的事故总是发生在工程预期之外。可用性通常用“9”表示,表示正常运行时间的百分比可以达到多少位小数。一些主要的软件公司会吹嘘自己的“5个9”或者99.99%的正常运行时间,但永远不会有可确保的100%的正常运行时间。

此外,用户是可以容忍甚至无法注意到服务的某些领域出现宕机。致力于改善超出预期的可用性的开发资源并不会增加客户的满意度,把这些资源用在可维护性上会更好。

可维护性

可靠性的另一个主要组成部分是可维护性。通过描述停机时间的产生和解决方式,将可维护性因素考虑到可用性中。当发生导致停机的事件时,可维护服务可以快速修复。事件越早得到解决,服务就越快恢复可用。

可维护性有两个主要组成部分:主动式可维护性和反应式可维护性。

主动式可维护性包括构建易于理解和更改的代码库。随着开发的进行,会出现与现有代码不兼容的问题。如果工程师写的是面条式代码,而不是优先考虑可维护性,就容易出问题,并且很难发现和解决问题。主动维护还包括质量保证和测试等程序。

反应式可维护性描述了服务在事故发生后被修复的能力。这受服务的事故响应过程的影响。大型事故的反应和防范是必要的,如果事故响应程序可靠,团队将迅速解决事件。适当的事故反应也有助于减少复发。高度可维护的服务允许工程师有效地汲取这些经验教训。

可维护性反映在可用性指标中。缩短停机时间或停机频率可以提高可用性。但是,可维护性不是实现可用性的唯一手段。采取这种方法可能导致发展资源分配不当。在可维护性方面的投资可能不会立即带来更好的正常运行时间。当您重构旧代码以解决技术债务时,服务的功能将与以前相同,并具有相同的可用性。直到事件发生,您才会看到这种高可维护性的好处。可维护性应该被看作是可靠性方面的投资,而不仅仅是可用性的一个组成部分。
可靠性
可靠性可以定义为当用户访问服务时,服务按预期运行的可能性。这似乎与我们定义可用性的方式相同,但有关键的区别。可用性检查服务是否工作,用户是否正在访问它。如果用户在所有时间、所有功能上统一访问服务,可用性将决定可靠性。一般情况下,这不可能发生。
以两种情形为例:

服务A:
用户登录页面的可用性为97%
目录搜索的可用性为97%
站点设置页面的可用性为97%

服务B:
用户登录页面具有可用性为99%
目录搜索的可用性为98%
网站设置页面的可用性为90%

仅从可用性度量来看,服务A胜出。但是如果登录页面被100%的用户使用,目录搜索被90%的用户使用,而站点设置页面只有30%的用户使用,那么服务B就会被认为更可靠。可靠性需要考虑实际使用情况,将可用性指标转化为客户满意度的度量指标。
通过理解系统的可靠性,开发人员可以避免浪费时间来改进超出客户预期的可用性。服务级别指标将延迟和可用性等指标捆绑到更有效的度量中。然后将服务水平目标设定在顾客不满意的阈值。这种方法从客户的角度来看可靠性,因为对他们来说,服务的可靠性比它的可用性更重要。

可维护性也可以通过这种标准来评估。响应事件所花费的时间耗尽了服务正常运行时间的错误预算……SLI和SLO可以帮助分配开发工作,以改进可维护性和最影响客户满意度的事件响应过程。

可靠性不仅仅是度量的集合或代码库的质量。这是一个全局概念,包含了用户的观点、变化和增长的必然性以及开发代码的人员。这种整体方法是SRE的基础,是实践的集合,也是提高服务可靠性的文化课程。

最后;

如果你不想再体验一次自学时找不到资料,没人解答问题,坚持几天便放弃的感受的话,可以关注我一起讨论。

给大家推荐一个软件测试技术交流群:810119819 群友福利免费领取

【软件测试流程图总结】

公众号【程序员阿沐】

加油吧,测试人!路就在脚下,成功就在明天!

未来的你肯定会感谢现在拼命的自己!

愿你我相遇,皆有所获! 欢迎关注微信公众号:程序员阿沐
1.免费领取一份216页软件测试工程师面试宝典文档资料。

2.软件测试学习路线以及相对应的视频学习教程免费分享!

软件测试中的可用性、可维护性、可靠性有什么区别?相关推荐

  1. 服务器的可维护性,可靠性和可维护性

    可靠性和可维护性 可靠性一直是戴尔服务器产品线的一大亮点,R515也不例外.如内部结构所示,当你打开R515机箱的时候,你可以很明显地看到风扇的数量.分布的各个组件和双电源机箱.你也可以感觉出从中取出 ...

  2. 心理软件测试自学,软件测试中的心理学

    能做一名软件测试人员不容易,要做一个名合格的软件测试人员更是不容易,因为软件测试人员要运用的知识很广,当然心理学也不例外. 测试执行得差,其中一个主要的原因在于大多数的程序员一开始就把这个术语的定义搞 ...

  3. 什么是软件测试中的人工智能(AI)?

    软件开发行业最近最热门的词汇之一就是人工智能.但它的真正含义是什么?软件测试自动化背景下的人工智能与其更广泛的定义有何不同? 当我们谈论人工智能及其姊妹词机器学习时,我们是什么意思?我想我会澄清我们的 ...

  4. 论黑盒测试与白盒测试在软件测试中的不同作用

    一.引言: 黑盒测试着眼于外部结构,不考虑内部结构,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明:而白盒测试着眼于内部结构,对软件的过程性细节做细致的检查.随着软件市场的成熟,人们对 ...

  5. 敏捷开发中的可用性测试

    陈 序明, 资深研发工程师及售前工程师, IBM 王 建芳, 资深软件测试工程师, IBM 李 雨恭, 软件工程师, IBM 简介: 近年来有两个词语在软件行业迅速"走红",一个是 ...

  6. 软件测试中重点测什么,在软件测试中,测试员到底扮演着一个什么样的角色?...

    原标题:在软件测试中,测试员到底扮演着一个什么样的角色? 在工作中经常遇到产品上线出了bug后,第一个受到指责的是测试人员,"测试为什么当初没有发现这个问题呢",这种情况在现实工作 ...

  7. 露露给我上了一堂7万的课_我在软件测试中的前10堂课

    露露给我上了一堂7万的课 "Lessons Learned in Software Testing" is a book. An excellent book! <软件测试中 ...

  8. 什么是软件测试中的人工智能?

    什么是软件测试中的人工智能? 近日,由人工智能实验室OpenAI开发的全新"对话机器人"ChatGPT在各大中外媒体平台掀起了一阵狂热之风.从正式发布到风靡全球,不过100天,用户 ...

  9. 转:2020-21软件测试中的重要趋势及应对措施

    个人理解: QA团队正在转型为质量的协调者 -- 大QA,人人皆为QA,为质量负责 利用AI技术进行测试的比例在上升,但是仍然需要更多进展./ 自动化测试在整个QA生命周期中的比重不断上升,但自动化测 ...

  10. 软件测试中排错的基本方法

    软件测试中,排错(即调试)与成功的测试形影相随.测试成功的标志是发现了错误.根据错误迹象确定错误的原因和准确位置,并加以改正的主要依靠排错技术. 1.排错过程 如下图所示,排错过程开始于一个测试用例的 ...

最新文章

  1. LeetCode实战:不同路径
  2. 十个经典的学生上课插嘴ZT
  3. 从FTP建立连接模式想到的TCP SYNFlood防御
  4. C++ 20 是近十年来影响最大的一个版本,新的特性众多
  5. php 导出csv 转义 逗号转义,在csv php中转义换行符
  6. 数据库存在即更新的并发处理 - 转
  7. 在WEB自定义控件中实现自动回传功能
  8. 一个DotNetNuke 皮肤设计参考网站
  9. 中科大 计算机网络3 网络边缘Edge
  10. Synchronized 关键字的用法
  11. 2019有的图纸打印出来看不清楚_CAD制图初学入门:CAD打印实用技巧
  12. 实验总结:Java+oracle数据库实现图书馆管理系统
  13. 零延时RS-485接口电路的设计与应用
  14. APISpace 全国行政区查询API
  15. [转]被历史歪曲得最多的皇帝--隋炀帝杨广简介
  16. 【C语言】输入一个正整数 n,输入 n 个数,生成一个 n*n 的矩阵, 矩阵中第 1 行是输入的 n 个数,以后每一行都是上一行循环左移一个元素。
  17. 色环电阻的识别和检测
  18. 关于SVM一篇比较全介绍的博文
  19. KNN(k-nearest neighbor的缩写)最近邻算法原理详解
  20. 【小沐学C++】C++17实现文件操作<filesystem>

热门文章

  1. 机器学习与数据挖掘 编程实现k均值算法
  2. java视频插件,5+最佳javascript视频背景插件
  3. 一些常用外设DHT11,sg90
  4. 计算机动画设计论文,计算机动画设计论文.docx
  5. eNSP模拟不同用户无线上网实验(AC+AP)
  6. 支招功能最强人工智能围棋软件_AI智能棋盘全新上线,围棋的奥秘原来在这里?...
  7. LS-DYNA 学习总结与感悟 以EM模块为主
  8. ArcFace: AdditiveAngularMarginLossforDeepFaceRecognition
  9. 典型平面阵列分布的3D方向图
  10. Ubuntu18.04 ibus 中文输入法崩溃解决实录