CI / CD模式和反模式。 第二部分

下午好 今天,我们将与您分享文章“ CI / CD模式和反模式”的第二部分的翻译,该文章致力于在“ DevOps实践和工具”课程上启动新的流程。 本文的第一部分可以在这里阅读。

1.3测试中的模式和反模式

1.3.1测试自动化

  • 模式:通过包括测试单元,组件,容量,功能和部署,使软件验证和验证自动化。
  • 反模式:手动测试单元,组件,部署等。
  • 无依赖的测试单元自动化。
  • 组件-依赖于其他组件,数据库和文件系统的测试自动化。
  • 部署-自动执行测试以验证成功的部署和配置。 有时称为“烟雾”测试。
  • 功能-测试自动化,以从用户的角度验证软件的行为。
  • 容量-在接近运行状态下自动进行负载和性能测试。



1.3.2测试数据的隔离

  • 模式:将事务用于数据库相关的测试(例如组件测试),并在完成后回滚事务。 使用一小部分数据来有效测试行为。
  • 反模式:使用生产数据副本进行提交阶段测试。 在通用数据库上运行测试。

1.3.3并行测试

  • 模式:并行地,对硬件实例运行多个测试以减少花费的时间。
  • 反模式:在一台机器或实例上运行测试。 运行不能并行运行的相关测试。

1.3.4系统稳定性

  • 模式:使用存根模拟外部系统以降低部署复杂性。
  • 反模式:手动安装和配置相互依赖的系统,以进行Commit Stage构建和部署。

1.3.5认为有害的端到端测试

持续交付是一套旨在缩短产品上市时间的整体原则和实践。 通过测试,它基于快速而可靠的反馈。 持续交付要求对代码,配置,数据或基础架构进行任何更改,以在部署管道中进行一系列自动化和探索性测试,以评估运营准备情况。 因此,如果组织希望在较短的期限内完成测试,则测试执行时间应短一些,并且测试结果必须明确。

例如,考虑“公司付款”服务,该服务将在年底将付款发送到后续的“付款”服务。

可以在组装期间通过执行以下类型的自动测试来检查Company Payment服务的行为:

  • 单元测试:检查单个代码模块时比较目标和实现。
  • 验收测试:在检查系统功能部分时比较实施和要求。
  • 端到端测试:检查系统功能部分(包括无主从属服务)时对实现和要求的比较。

虽然单元测试和验收测试的目的和范围有所不同,但是验收测试和端到端测试的数量只是不同。 验收测试不包括无主从属服务,因此公司付款用户旅行的接受测试将使用测试系统 ,该系统由公司付款的最新版本和付款表组成

端到端测试包括无主从属服务,因此,公司付款用户的端到端旅行测试将使用测试系统,该系统包括公司付款的最新代码和付款的工作版本。

如果测试策略与持续交付兼容,则它应具有适当的单元测试,验收测试和端到端测试比率,以平衡对信息的需求和快速,明确的反馈。 如果测试没有带来新的信息,那么缺陷就不会被发现。 但是,如果测试花费太多时间,交付速度将很慢,收入损失也会增加。

第二部分结束。

根据既定传统,我们正在等待您的评论,我们邀请您参加开放日 。 本文的第三部分已经在这里提供

Source: https://habr.com/ru/post/zh-CN441352/


All Articles