自动化测试指南-环境

简介

自动化测试环境是一般是生产环境的精简版本。理想的自动化测试套件将独立于环境、平台、浏览器和移动设备,也就是跨平台的合规性。为不同的环境维护单独的自动化套件耗费大量精力。本文涉及的内容需要灵活应用,不可生搬硬套。

测试自动化环境

在设计和开发自动化套件时,不同环境的技术和安全规范是一个挑战。测试自动化方法的设计应与解决方案的 DevOps 或切换和发布方法保持一致,以确保测试自动化套件和自动化框架在不同环境中独立运作。预计测试自动化将在各种环境和基础设施上工作,且变化最小。

测试环境由软件、设备和基础设施组成。

每个环境都可能由多个子环境组成,如系统测试、系统集成测试、端到端集成测试和性能测试。高效和有效地构建和管理测试环境,有助于实现成功的测试自动化结果。

自动化测试环境应该与目标实时或生产环境的架构、配置和发布过程尽量一致。

  • 开发环境:进行开发的地方。可以是开发人员的桌面到完全配置和版本控制的系统。开发环境是进行大部分单元测试自动。这个环境被托管在内部网络中,并不是所有的基础设施或平台版本都可以应用。

    • 产品开发是在开发环境中进行的。
    • 自动化测试准备。
    • DevOps交付方式。
    • 编译构建和验证发布项目。
    • 模拟器和桩等。
    • 开发或基础设施团队负责。
  • 测试或staging环境:

    • 测试
    • 自动化测试。
    • 基于配置管理发布和部署。
    • 一般由测试团队负责。
    • 使用自动回归套件来验证构建的稳定性。
    • 模拟器和桩等。
  • 预生产环境:用于验证基础设施和应用程序的连接。

    • 预生产环境一般是完全集成的环境,用来证明源系统和目标系统之间的端到端连接。
    • 一般用于性能测试和早期应用安全测试。
    • 一般用于UAT和现场支持。
    • 自动测试套件用于回归测试。
  • 培训:UAT和培训活动。由业务或产品团队拥有。

  • 生产/上线

    • 基于配置管理发布和部署。
    • 由IT、业务和产品团队共同拥有。

开发环境自动化测试

使用开发环境进行测试自动化的好处是。

  • 第一个环境。
  • 测试自动化可以和开发一起开始。
  • 用来建立验证和冒烟测试。

使用开发环境进行测试自动化的挑战是。

  • 不稳定的应用程序和不断的代码和基础设施变化
  • 开发环境和生产环境差异大。
  • 自动化测试包在执行前可能需要在其他环境中进行修改。
  • 桩和驱动通常被用来开发SUT和自动化测试脚本,这可能会影响自动化测试包的质量。
  • 自动化测试脚本的定期备份可能是不可能的。

开发环境自动化测试

测试环境满足了测试团队的需求,使他们能够根据指定的要求来验证解决方案的功能。测试环境可以是独立的或集成的。集成测试环境用于测试进程间的通信,以确保系统各部分能正确地一起运作。云基础设施提供了快速剥离任何环境的机会,其方式几乎与生产环境相同。大多数云供应商为代码开发和发布指定了明确的指导。

常见的测试环境有:

  • 系统测试
  • 系统集成测试
  • 端到端集成测试
  • 非功能测试

使用测试环境进行测试自动化的好处是。

  • 专门用于测试的环境,由测试团队拥有。
  • 来自手工功能和回归测试的测试数据可以用于自动化测试。
  • 来自更广泛的测试团队的支持可用于自动化,例如功能演练和测试数据创建。
  • 稳定的SUT避免了对自动化脚本的频繁修改。

使用测试环境进行测试自动化的挑战是。

  • 来自开发环境的最新源代码可能无法使用。
  • 测试环境不是生产环境。
  • 测试工具的安装和配置需要对环境的完全访问。
  • 自动化测试脚本的定期备份可能是不可能的。

预生产自动化测试

生产支持或预生产环境通常是 "类似生产 "的,有时是生产环境的缩小版。这个环境的目的是为了支持 "在线 "的系统。这通常被用作向生产环境交付的最后一关。这个环境在很多地方被用于UAT,并支持对生产环境中出现的问题进行调查。这也被用作升级、打补丁、定制代码和数据发布的隔离平台,在应用到生产之前,这些都是非正式的应用。如果需要的话,这个环境也可以用来进行可用性和可访问性测试。这个环境更好地代表了目标生产环境,可以用来支持关键的非功能测试。

使用预生产环境进行测试自动化的好处如下。

  • 自动化生产的真实代表。
  • 有助于在一个完全类似生产的环境中运行测试自动化。
  • 最新的功能可用于测试自动化,尽管在生产环境中还不能使用。
  • 预生产环境被广泛用于自动化性能测试。

使用预生产环境进行测试自动化的挑战是以下几点。

  • 开发和测试环境的最新源代码不能用于测试自动化。
  • 预生产环境与其他团队共享,如性能测试和 UAT,这可能影响环境的稳定性。

生产环境自动化测试

这个环境将被用来部署最终的解决方案,并可能被用来支持一些非功能测试阶段,如渗透测试和安全测试。

使用生产环境进行测试自动化的好处如下。

  • 可以使用在线功能。
  • SUT已经提供给终端用户和客户,因此它是最终解决方案的真实代表。
  • 生产环境被广泛用于产品测试,例如测试版。
  • 在生产环境中的自动回归测试提供了快速查看SUT的方法。
  • 生产环境被广泛用于自动化安全测试和灾难恢复测试。

使用生产环境进行自动化测试的挑战是以下几点。

  • 在生产环境中的任何测试都会影响环境的稳定性,而且会影响最终用户和业务。
  • 生产中发现的任何缺陷都需要时间来修复。

你可能感兴趣的:(自动化测试指南-环境)