• 0
  • 0
分享
  • 什么是高可用测试 ?谈谈我的看法——软件测试圈
  • 恬恬圈 2023-08-04 16:54:55 字数 995 阅读 1665 收藏 0

  前言

  现今的互联网产品越来越注重可靠性,尤其是在生产环境中使用的系统,对高可用性都有一定的要求。而作为产品的提供方,在交付产品之前,也会对高可用进行验收测试。近期跟进过两个产品曾有高可用测试的需求,在此简单的总结分享下。

  在介绍产品之前,先简单的介绍下高可用和高可用测试:

  高可用:指的是系统如何保证比较高的服务可用率。在系统的某个部分因为各种原因而失效时,能保证系统整体的服务正常运行。

  高可用测试:通过模拟系统出现异常的情况,验证系统是否能正常提供服务(或降级提供服务),并验证系统在异常恢复后,能否恢复至异常出现之前的运行状态。

  产品A:云计算PAAS层组件

  产品A为云计算的PAAS层组件,各服务部署在云主机以及物理机上,大致架构如下:

1-1.png

  从产品架构来看,对A产品做高可用测试,需要分别确保LVS集群和Tengine集群的高可用。因此,需要根据LVS集群和Tengine集群的原理以及运行特性,分别制定高可用测试方案

  LVS运行物理机上,OSPF协议实现多节点互备,因此设计高可用测试方案如下:

-2.png

  从网络方面验证高可用,配置iptables规则实现端口丢包,模拟网络不可用的情况

  在进程方面验证高可用,分别使用stop、kill -9、kill -19模拟进程停止、崩溃、假死时的情况

  在机器方面验证高可用,通过关机、重启模拟物理机宕机时的情况

  Tengine运行在云主机上,通过LVS的健康检查实现服务保证,因此设计高可用测试方案如下:

-3.png

  产品B:数据可视化产品

  产品B为数据可视化产品,采用物理机+docker容易进行私有化部署,大致架构如下:

1-4.png

  从产品架构来看,对B产品做高可用测试,主要分为功能容器不可用、基础设施容器不可用、节点网络异常、机器异常情况下的高可用:

1-5.png

  由于功能容器无状态,因此对功能容器做高可用测试时只需要模拟容器不可用的情况即可。

  而基础设施容器和功能容器不同,其中mysql等容器涉及到数据写入,因此在做高可用测试时需要考虑异常发生时的主从切换,以及异常恢复后的主从同步。

  节点网络异常和物理机异常会影响到节点上的所有服务,因此也要验证节点出现网络异常和物理机异常以及异常恢复后的数据一致性。


作者:Edisonyao    

来源:http://www.51testing.com/html/66/n-7793466.html

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   软件测试和软件开发同属于计算机软件行业,属于技术活。  当你的技术掌握很精通、实际工作经验积累足够,怎么会有青春饭的想法呢?  各个行业都有自己的技术点,俗话说 一技之长、衣食无忧。  现在的状况是,就业工作几年的人容易安逸,容易被现实所屈服,安于现在,觉得测试没有什么高级的发展空间等,这些是那些已经丧失了毕业刚就业那股冲劲、丧失激情的人所展现的姿态。  绝不适用刚毕业的学生,你们就没有觉得很很兴奋、很有冲击性吗?  技术学习在于自身,如今的软件行业从业者每年增加,如果只是从一些年久的老同事那边接收到测试、开发等都是青春饭什么的,完全不要往心里去。每个人的性格特点都不一样,有些的人想法格局...
            0 0 2088
            分享
          •   先来跟大家同步下我们的大背景。我们按照功能方向分成若干开发小组。每个开发小组有两到三位产品经理,有六七位研发和两位测试,形成一个相对稳定的交付小组。禅道软件团队的迭代速度比较快,都是以周为单位进行迭代。目前由于回归测试的压力比较大,所以是双周对外发布版本。产品目前主要是项目管理软件的开源版、企业版和旗舰版三个大的方向。  我们以时间线来讲一下产品团队的日常。我们从周一下午开始讲起,按照流程的先后顺序讲会比较顺。  周一下午到周二的这一天半左右的时间里,产品经理团队要着手准备后面两个迭代的用户故事列表。这一天半时间中,搭档的两位产品经理会进行各种讨论交流,也会和研发骨干进行沟通交流,确认一些...
            0 0 735
            分享
          • 前言今年是笔者本科毕业的第6年,在接近三十而立的年龄里,回首自己从毕业到现在的职业生涯,可以说是一波三折。趁着自己现在有时间,就做一个复盘和总结,分享给曾经和我一样迷茫的朋友,希望能够带给你一些启发。一、考研失利,“捡到”一个国企的offer笔者是某末流211大学电子信息工程专业科班出身的,大四那年有些不知道“天高地厚”地拒绝了本校保研,准备跨考复旦大学的金融专业研究生,结果当然是华丽丽地当了一回“分母”。话说那时候考研还不是很卷,如果我坚持考自己专业,应该也是可以上岸一所不错的学校的,但是造化弄人.......于是乎,完美地错过了当时的秋招,只能急匆匆地追赶春招的步伐。地球人都知道春招无论是...
            11 11 1026
            分享
          • 软件测试分类按测试用例的设计方法,软件测试分为白盒测试和黑盒测试。按测试策略和过程,软件测试分为单元测试、集成测试、确认测试和系统测试。按软件系统工程,测试是软件质量保证的最后的一关。高质量的程序取决于以下几个方面:高质量的设计规范的编码有效的测试开发部的测试 效果不好:为什么?没有时间测试不知道怎样测试不好组织缺乏方法和工具这种情况下,往往把单元测试的任务堆积到系统测试阶段。如果把单元测试的任务堆积到系统测试阶段,将会怎样?大量的故障堆积在项目中后期:项目后10%的工作,占用了项目90%的时间。故障难以定位故障飘忽不定开发、测试人员疲于奔命软件缺陷的修复费用单元测试(why)最高的成本收益比...
            10 10 1532
            分享
      • 51testing软件测试圈微信