• 0
  • 0
分享
  • 谷歌云删库宕机一周,技术负责人当场被裁——软件测试圈
  • 曼倩诙谐 2024-05-21 11:39:40 字数 3343 阅读 715 收藏 0

  谷歌云服务近期发生了一起重大配置错误事故,导致澳大利亚UniSuper基金的云订阅账户被意外删除,造成了超过50万UniSuper基金会员在一周内无法访问自己的退休金账户,涉及的资产高达1250亿澳元(约合9037.5亿元人民币)。这次服务中断始于5月2日,直到5月9日相关服务才基本恢复,但部分账户信息未能完全更新。幸运的是,尽管账户被删除,UniSuper基金投资者账户中的资金未遭受影响。

  谷歌云首席执行官托马斯·库里安(Thomas Kurian)表示,此次服务中断是由一系列前所未见的事件引起的,在配置UniSuper的私有云服务期间,一个不经意的错误配置最终导致UniSuper的私有云订阅被删除。谷歌云以前从未发生过这种误删事故,这次事件是一次“独一无二的事件”,全球任何Google Cloud客户都未发生过这种情况。

  尽管UniSuper在谷歌云的两个云区域中做了数据备份,但本次重大事故是账户被删除引起的,导致两份备份同时丢失,没有起到保护作用。然而,UniSuper还在另一家存储服务商处进行了数据备份,这在最大程度上减少了本次事故带来的损失,并加速了UniSuper恢复谷歌云上数据的过程。

  此次事件引起了对云服务安全性和稳定性的广泛关注和担忧,同时也凸显了数据备份和恢复策略的重要性。超级基金负责人与Google Cloud全球首席执行官联合发布声明,为这一“极其令人沮丧和失望”的故障表示道歉,并表示为此次中断向会员们致歉。

  谷歌云已确认本次事故的具体原因,并已采取措施来保证不会再次出现同类型事故。这次事件对谷歌云的声誉带来了沉重打击,同时也为整个云服务行业敲响了警钟。对于企业而言,无论规模大小,都应该充分认识到数据备份的必要性,并制定合理的备份和恢复计划,以应对可能出现的各种风险。

  作为软件测试工程师,要善于从每一次Bug中吸取经验,此次宕机时间,给到我们的启示有很多。软件测试工程师在软件开发生命周期中扮演着关键角色,负责确保软件产品的质量、稳定性和安全性。

  1. 质量保证:软件测试工程师负责通过各种测试方法(如单元测试、集成测试、系统测试和验收测试)来验证软件的功能和性能是否符合预期。

  2. 风险识别:他们需要识别和评估软件中可能存在的缺陷和风险,包括配置错误、数据丢失等,以确保在软件部署前这些问题得到解决。

  3. 灾难恢复和备份:软件测试工程师还可能参与灾难恢复计划和备份策略的测试,以确保在出现故障时数据能够被正确恢复。

  4. 用户影响评估:在测试过程中,测试工程师需要评估软件故障对用户可能造成的影响,以及如何通过设计来减轻这些影响。

  5. 合规性和标准:测试工程师还需确保软件遵守相关的行业标准和法规要求,这在金融服务行业尤为重要。

  6. 持续集成和持续部署(CI/CD):在自动化测试和持续集成的上下文中,测试工程师确保每次代码更新后,系统仍然按预期工作,减少因配置错误导致的问题。

  7. 性能测试:测试工程师进行性能测试,以确保系统在高负载下仍能稳定运行,避免因性能问题导致的服务中断。

  8. 安全测试:他们还负责安全测试,以识别和修复可能被利用来破坏系统或数据的漏洞。

  9. 反馈和改进:软件测试工程师提供反馈给开发团队,帮助他们理解问题并改进软件设计和实现。

  通过这个事件,我们可以看到软件测试的重要性,特别是在云服务和金融行业,这些领域对系统的稳定性和数据的安全性有着极高的要求。软件测试工程师的工作直接关系到软件产品的可靠性和用户的信任。

  云服务安全性和稳定性和软件测试工程师有什么关系?

  云服务的安全性和稳定性与软件测试工程师密切相关,因为测试工程师在确保云服务产品达到这些关键标准方面发挥着重要作用。以下是软件测试工程师对云服务安全性和稳定性可能产生影响的几个关键点:

  1. 安全性测试:测试工程师负责执行安全测试,以识别和修复可能被攻击者利用的漏洞。这包括对身份验证、授权、数据加密、API安全等方面的测试。

  2. 性能测试:通过性能测试,测试工程师可以确保云服务在高负载或压力条件下仍能保持稳定运行,不会出现性能瓶颈或故障。

  3. 可靠性测试:测试工程师需要验证云服务的可靠性,确保服务在面对硬件故障、网络问题或其他异常情况时能够持续运行。

  4. 灾难恢复和备份测试:测试工程师负责验证备份和恢复流程的有效性,确保在数据丢失或服务中断时可以快速恢复服务。

  5. 配置和部署测试:配置错误可能导致服务中断或安全问题。测试工程师需要确保配置管理过程的准确性,并通过自动化测试来减少人为错误。

  6. 合规性测试:云服务需要遵守各种法规和标准,如GDPR、ISO 27001等。测试工程师负责验证服务是否符合这些合规性要求。

  7. 持续集成/持续部署(CI/CD)测试:在CI/CD流程中,测试工程师确保每次代码提交或更新后,云服务仍然按预期工作,及时发现并修复问题。

  8. 监控和报警测试:测试工程师需要验证监控系统是否能够准确检测到服务异常,并触发适当的报警,以便快速响应。

  9. 用户验收测试(UAT):通过模拟真实用户场景,测试工程师帮助确保云服务满足用户需求,并在实际使用中表现稳定。

  10. 反馈和改进:测试工程师收集测试结果和用户反馈,提供给开发团队,帮助他们理解问题并改进产品。

  11. 文档和培训:测试工程师还可能参与编写操作文档和培训材料,帮助运维团队和用户了解如何安全、有效地使用云服务。

  总之,软件测试工程师在云服务的整个生命周期中扮演着关键角色,从设计阶段到部署和运维,他们的工作有助于提高云服务的安全性、稳定性和整体质量。通过全面的测试,测试工程师可以帮助云服务提供商减少故障、提高客户满意度,并建立用户对云服务的信任。

  软件测试工程师如何提高云服务安全性和稳定性?

  1. 全面测试策略:制定全面的测试计划,包括功能测试、性能测试、安全测试、稳定性测试、灾难恢复测试等,确保覆盖所有关键方面。

  2. 自动化测试:开发自动化测试脚本和框架,以提高测试效率,确保关键测试用例可以快速、准确地重复执行。

  3. 安全测试:执行各种安全测试,包括渗透测试、漏洞扫描、代码审计等,以识别和修复潜在的安全漏洞。

  4. 性能和负载测试:通过性能测试和负载测试,确保云服务在高负载或压力条件下仍能保持稳定运行。

  5. 配置和部署测试:验证配置管理流程的准确性,确保配置更改不会引入错误或安全问题。

  6. 灾难恢复测试:定期测试备份和恢复流程,确保在数据丢失或服务中断时可以快速恢复。

  7. 监控和报警测试:验证监控系统是否能够准确检测到服务异常,并触发适当的报警。

  8. 合规性测试:确保云服务遵守相关的法规和标准,如GDPR、ISO 27001等。

  9. 持续集成/持续部署(CI/CD)测试:在CI/CD流程中,确保每次代码提交或更新后,云服务仍然按预期工作。

  10. 用户验收测试(UAT):通过模拟真实用户场景,验证云服务是否满足用户需求,并在实际使用中表现稳定。

  11. 反馈循环:建立一个有效的反馈机制,收集测试结果、用户反馈和运维团队的反馈,提供给开发团队,帮助他们理解问题并改进产品。

  12. 文档和培训:编写详细的操作文档和培训材料,帮助运维团队和用户了解如何安全、有效地使用云服务。

  13. 风险管理:评估测试发现的风险,并与项目团队合作,优先处理那些可能对安全性和稳定性产生最大影响的问题。

  14. 安全意识和培训:提高团队的安全意识,定期进行安全培训,确保测试工程师了解最新的安全威胁和防御措施。

  15. 工具和技术:利用最新的测试工具和技术,如云测试平台、模拟工具、安全扫描工具等,以提高测试的效率和有效性。

  通过这些方法,软件测试工程师可以为提高云服务的安全性和稳定性做出重要贡献。他们的角色不仅仅是发现问题,还包括提供解决方案、改进流程和促进持续改进。


作者:51Testing    

来源:http://www.51testing.com/html/37/n-7800937.html

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

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 本文的作者是阿里的技术Leader——云狄,他将从管理的角度分享技术 TL 的核心职责,主要分为如下几个方面与大家共同探讨、交流:团队建设团队管理团队文化沟通与辅导招聘与解雇互联网公司的技术团队管理通常分为两个方向:技术管理和团队管理,互联网公司的技术 TL 与传统软件公司的 PM 还是有很大的区别。传统软件公司的 PM 更多注重于对项目的管理,包括项目任务拆解、项目进度以及风险等。对于多数互联网公司而言,技术 TL 更多的职责不再局限于项目角度,而是对业务与技术都要有深入的了解,就像黑夜里的灯塔,能够引导和修正团队成员前进的航向。综合技术和业务角度去深度思考问题,具备一定的前瞻性,并在技术领...
            1 3 4121
            分享
          • 一、软件质量特性1、静态质量特性代码:构化的、可维护的、可测试的。 文档:正确的、完整的。2、动态质量特性正确性:如果软件针对其输入域(对软件p的所有可能输入的集合被称作p的输入域,或者输入空间)中的每个元素都如期所望的那样运行,则称该软件是正确的。正确性是想说明软件是无错的,这是我们所追求的一个良好的愿望,但并不是软件测试的目标。正确性是通过对程序的属性证明建立起来的。测试、诊断、纠错、调试、验证过程共同增强了我们对北侧软件正确运行的信心。可靠性:软件可靠性是指软件在给定时间间隔和给定条件下无故障运行的概率。可靠性是指软件在预期环境下无故障运行的概率。完整性:指全部得到软件需求规格说明或者用...
            0 0 1181
            分享
          • 引子写在最前面:目前自动化测试并不属于新鲜的事物,或者说自动化测试的各种方法论已经层出不穷,但是, 能够明白自动化测试并很好落地实施的团队还不是非常多,我们接来下用通俗的方式来介绍自动化测试……首先我们从招聘岗位需求说起。看近期的职业机会,提到“软件测试工程师”,基本上都有关于自动化测试的要求。例如:了解 selenium、appium或者其他自动化测试框架;至少熟悉一门面向对象开发语言,有一定的代码功底优先;熟悉Java或者python,有一定的测试自动化经验和代码阅读能力;了解接口集成测试,会使用JMeter、Postman、SoapUI等接口测试工具。等等,上述内容不再一一列举。突然自动...
            12 12 1216
            分享
          •   前言  对于初学Python的小伙伴来说,想用Python代码,来向自己喜欢的女孩表白,我们可以简单的运用Python中的turtle库绘制一个爱心。  一、turtle库  turtle库是python的标准库之一;属于入门级的图形绘制函数库。  二、使用步骤  1.引入库  import turtle  2.自定义函数并构建一个循环  ef gxy():       for i in range (200):         &...
            0 0 746
            分享
          • 1) 基于最终用户/系统测试被测系统可能有许多组件,当它们耦合在一起时,可以实现用户场景。在示例中,客户场景将包括诸如 HRMS 应用程序加载、输入正确凭据、转到主页、执行某些操作和注销系统等任务。对于基本业务场景,此特定流程必须无任何错误地工作。下面给出了一些示例:无概括先决条件测试用例这是如何针对情况编写测试用例的基本示例。上述格式也适用于以下所有测试。为了牢固的概念基础,我只在上面和下面进行了一些简单的测试。2) 等价测试在Equivalence partitioning中,测试数据被分成不同的分区,称为等价数据类。每个分区中的数据必须以相同的方式运行,因此只需要测试一个条件。同样,如果...
            0 0 1797
            分享
      • 51testing软件测试圈微信