下午好 今天,我们将与您分享文章
“ CI / CD模式和反模式”的第二部分的翻译,该文章致力于在
“ DevOps实践和工具”课程上启动新的流程。 本文的第一部分可以在
这里阅读。
1.3测试中的模式和反模式1.3.1测试自动化- 模式:通过包括测试单元,组件,容量,功能和部署,使软件验证和验证自动化。
- 反模式:手动测试单元,组件,部署等。
- 无依赖的测试单元自动化。
- 组件-依赖于其他组件,数据库和文件系统的测试自动化。
- 部署-自动执行测试以验证成功的部署和配置。 有时称为“烟雾”测试。
- 功能-测试自动化,以从用户的角度验证软件的行为。
- 容量-在接近运行状态下自动进行负载和性能测试。
1.3.2测试数据的隔离- 模式:将事务用于数据库相关的测试(例如组件测试),并在完成后回滚事务。 使用一小部分数据来有效测试行为。
- 反模式:使用生产数据副本进行提交阶段测试。 在通用数据库上运行测试。
1.3.3并行测试- 模式:并行地,对硬件实例运行多个测试以减少花费的时间。
- 反模式:在一台机器或实例上运行测试。 运行不能并行运行的相关测试。
1.3.4系统稳定性- 模式:使用存根模拟外部系统以降低部署复杂性。
- 反模式:手动安装和配置相互依赖的系统,以进行Commit Stage构建和部署。
1.3.5认为有害的端到端测试持续交付是一套旨在缩短产品上市时间的整体原则和实践。 通过测试,它基于快速而可靠的反馈。 持续交付要求对代码,配置,数据或基础架构进行任何更改,以在部署管道中进行一系列自动化和探索性测试,以评估运营准备情况。 因此,如果组织希望在较短的期限内完成测试,则测试执行时间应短一些,并且测试结果必须明确。
例如,考虑“公司付款”服务,该服务将在年底将付款发送到后续的“付款”服务。
可以在组装期间通过执行以下类型的自动测试来检查Company Payment服务的行为:
- 单元测试:检查单个代码模块时比较目标和实现。
- 验收测试:在检查系统功能部分时比较实施和要求。
- 端到端测试:检查系统功能部分(包括无主从属服务)时对实现和要求的比较。
虽然单元测试和验收测试的目的和范围有所不同,但是验收测试和端到端测试的数量只是不同。 验收测试不包括无主从属服务,因此公司付款用户旅行的接受测试将使用
测试系统 ,该
系统由公司付款的最新版本和
付款表组成 。
端到端测试包括无主从属服务,因此,公司付款用户的端到端旅行测试将使用测试系统,该系统包括公司付款的最新代码和付款的工作版本。
如果测试策略与持续交付兼容,则它应具有适当的单元测试,验收测试和端到端测试比率,以平衡对信息的需求和快速,明确的反馈。 如果测试没有带来新的信息,那么缺陷就不会被发现。 但是,如果测试花费太多时间,交付速度将很慢,收入损失也会增加。
第二部分结束。
根据既定传统,我们正在等待您的评论,我们邀请您参加
开放日 。 本文的第三部分已经
在这里提供 。