禅道博客

分享专业技术知识,文章内容干货满满!

自动化测试

我们不可能永远都在救火 ——Scrum中技术债务“偿还”指南

技术债务是指开发人员为了加速软件开发,在应该采用最佳方案时进行了妥协,改用了短期内能加速软件开发的方案,以至于未来给自己带来额外的开发负担。 软件工程师Ward Cunningham首次将技术的复杂比作为负债。简单来说,技术债务类似于金融债务,软件开发就像是去银行“贷款”,而技术债务就像是贷款的“利息”。“利息”是需要以未来额外的时间来偿还的,所以重构才相当于支付“本金”。 表面上,软件的应用程序看起来质量很高且状况很好,但是这些问题却隐藏在下面。如果没有很好地管理并设法降低这些技术债务,那么程序编写和维护的代价最终将会超过它对客户的价值。 这些技术债务到底是从何而来?为...
🌻
hanxiao
01-01

你在测试金字塔的哪一层?(上)

在准备将软件上线到生产环境之前需要进行测试。随着软件测试方式日趋成熟,软件开发团队的测试也在取代大量手动测试,逐渐实现自动化测试。通过自动化测试,开发团队可以在短短几分钟内就了解到软件是否存在问题,而不需要等待几天的时间。 自动化测试大大地缩短了反馈周期,与敏捷开发、持续集成和DevOps文化密切相关。本文将分为上、下篇来探讨如何构建一个高响应、可靠并且可维护的测试组合,无论是针对微服务架构、移动应用程序还是物联网生态系统。 一、自动化测试的重要性 软件已经成为我们生活中重要的组成部分。早期,软件的目的仅仅是提高企业效率,但现在它的作用远不止于此。许多公司都在努力成为一流的数字化公司...
🌻
hanxiao
2023-12-26

应对 DevOps 中的技术债务:创新与稳定性的微妙平衡

技术性债务在DevOps到底意味着什么?从本质上讲,这是小的开发缺陷的积累,需要不断地返工。它可能由多种原因引起,例如快速交付新功能的压力,这可能会导致团队不得不牺牲代码的整洁和完善。但这些不完整的小代码,如经济上的债务一样,随着时间的推移会产生“利息”,在软件工程里就表现为修改的挑战或添加新功能的困难。 技术债务的原因 技术债务的主要原因之一是组织的开发方和业务方之间的脱节。开发团队经常会感到保持高特性速度的压力,有时会以适当的服务规划为代价。例如,不计划服务生命周期的结束可能会导致所谓的“老年服务”。这些服务可能做得不多,但对业务运营至关重要,并且可能在以后产生更多的技术债务。它们可...
🍪
陈哥
2023-09-19

测试工程师必知的10大测试法则

作为开发人员,我们应该遵守这样一句话:“质量不是来自检查,而是来自生产过程的改进。”——爱德华·戴明  “测试即代码。” 太多的组织将任何未编码的东西视为一次性的。很明显,测试是必不可少的,但我们一次又一次地发现,团队将测试自动化和相关材料视为二等公民。测试是用户行为的文档,与产品组织产生的需求密不可分,并在虚拟层面与用于创建功能的代码相连。 如果它提供了价值,就应该对它进行版本化、维护、照顾和尊重,就好像它是产品本身的核心功能一样。这应该包括测试用例规范、设计和技术文档以及错误报告。  “时间扼杀信心。” 大多数人可能会认为,在一个功能上花的时间越多,就需要...
🍪
陈哥
2023-09-12

TDD、BDD、ATDD都是什么、有什么区别?(下)

在《TDD、BDD、ATDD都是什么、有什么区别?(上)》中,我们探讨测试驱动开发(TDD)、行为驱动开发(BDD)和验收测试驱动开发(ATDD)的概念。虽然它们都是软件开发中使用的测试方法,但它们在方法和重点上有所不同。 TDD、BDD和ATDD之间的主要区别在于关注点、抽象层级和协作: 关注点 TDD侧重于测试代码并确保它满足需求。BDD关注软件的行为,并确保它满足业务需求。ATDD关注于验收标准,并确保软件满足业务需求。 抽象层级 TDD专注于代码级别,并使用单元测试来验证代码的功能。BDD专注于功能...
🍪
陈哥
2023-09-04

TDD、BDD、ATDD都是什么、有什么区别?(上)

软件开发是一个迭代过程,包括编写、测试和改进代码,直到满足需求。测试驱动开发(TDD)、行为驱动开发(BDD)和验收测试驱动开发(ATDD)是支持该过程的三种方法。TDD、BDD和ATDD都是软件开发中用于测试和确保质量的方法。虽然它们都以提高软件开发质量为目标,但它们的方法和关注点有所不同。本文将探讨TDD、BDD和ATDD的概念以及它们之间的区别。 测试驱动开发(TDD) 测试驱动开发(TDD)是一种软件开发方法,侧重于在编写代码之前编写测试。这是一个迭代过程,包括编写测试,运行测试,然后编写通过测试的代码。TDD的目标是编写高质量、可维护的代码,这些代码可以做到既满足需求,又没有B...
🍪
陈哥
2023-08-28

DevSecOps 中的漏洞管理(下)

建立漏洞管理程序以支持DevSecOps 在讨论DevSecOps及DevOps模型中包含安全性的重要性时,建立有效的漏洞管理实践是非常重要的。这可以通过将漏洞管理设置为程序来实现。 我们可以开始对IT组织进行漏洞管理评估。人们经常问的问题可能是,既然已经建立了一些补救机制,为什么还需要进行评估。但拥有这些类型的评估以跟上安全和漏洞修复的行业标准是极其重要的。以下就是需要进行漏洞管理评估并跟上行业安全标准的原因之一。在典型的IT组织中,我们用于软件开发的项目中,只有20%-25%的自定义代码。我们将使用所有工具进行不同类型的代码扫描,并确保修复漏洞。然而,其余的代码将来自开源模块和库。我们...
🍪
陈哥
2023-08-16

DevSecOps 中的漏洞管理(上)

DevSecOps意味着在DevOps交付管道把安全性包含进去。该模型尽可能早地将安全原则集成到软件开发生命周期的所有适用阶段中。下图展示了安全方面在DevOps后期阶段的集成,但DevSecOps安全性集成到生命周期的所有阶段。 IT安全领导者应该在他们的组织中采用有效的漏洞管理实践来实施适当的DevSecOps。 漏洞管理 漏洞管理是一种帮助组织识别、评估、确定优先级并修复系统中漏洞的做法。最终,漏洞管理的目标是通过使用修补、加固和配置管理等技术来降低漏洞带来的风险。这有助于确保安全性,同时限制恶意用户可能利用的风险。IT安全的主要职责是防范漏洞。我们都知道,安全漏洞可能代...
🍪
陈哥
2023-08-07

提升系统管理:监控和可观察性在DevOps中的作用

在不断发展的DevOps世界中,深入了解系统行为、诊断问题和提高整体性能的能力是首要任务之一。监控和可观察性是促进这一过程的两个关键概念,为系统的健康和性能提供了宝贵的可见性。虽然这些术语经常可以互换使用,但它们代表着理解和管理复杂系统的不同方法。在本文中,将探讨监视和可观察性之间的差异,提供示例来说明它们的应用,并强调各自的又是。同时,本文还将深入研究用于有效监测和可观测性的技术和工具。 监控:了解系统状态 监控的重点是收集和分析有关系统或应用程序状态的数据。它通常包括设置特定的指标、阈值和警报机制,以跟踪各种组件的性能和可用性。常见的监测技术和工具包括: 指标监控:使用Nag...
🍪
禅道陈哥
2023-07-26

2023年DevOps趋势预测

随着企业转向数字化转型,DevOps 变得比以往任何时候都更加重要。弥合其开发与运维部门之间的鸿沟已成为当今IT公司的迫切需求。DevOps可以帮助加快和改进软件交付、提高客户满意度、缩短产品上市时间等等。正因为如此,DevOps 实践对大多数企业来说变得极为重要,并且随着时间的推移越来越为人所知。根据 Markets and Markets 的一份报告,DevOps 市场的规模预计将从 2017 年的 29 亿美元增长到 2023 年的 103.1 亿美元。 DevOps 已经发展到可以满足不断变化的商业世界和创新技术的快节奏发展的需求。让我们看一下在2022年末对DevOps未来的一些预测...
🍪
李晓琳
2022-12-15
返回顶部
刘璐
高级客户经理
18562550650
2845263372
统一服务热线 4006-8899-23
我要提问提问有任何问题,您都可以在这里提问。 问题反馈反馈点击这里,让我们聆听您的建议与反馈。