不同类型的测试环境的列表和作用

软件测试 自动化测试 手动测试 规划 测试环境
2022-01-21 16:40:34

我遇到过许多不同的测试环境,所有这些环境看起来都非常有用和有帮助,但哪些是必要的。

例如......我见过:

  • 发展
  • QA == 系统功能测试
  • 系统集成测试 == 端到端测试系统
  • 用户验收测试 = 允许用户随着时间的推移验证功能
  • 生产 == 生产
  • 平行生产 == 平行生产以复制生产问题
  • CCE = 客户认证环境

可能会发生许多不同类型的测试(http://www.guru99.com/types-of-software-testing.html)。

每个环境最常见的一组环境和最佳实践是什么?

4个回答

我不确定您在这里所说的“角色”是什么意思,一些详细说明将有助于确定您到底在寻找什么。尽管如此,我们通常有DTAP环境用于我们的 sprint/release 周期:

  • D - Dev(在这里你可以与 devs 配对并帮助编写 junit 并在提交之前进行 dev-box 测试。)
  • T - 测试(自动回归套件在每次提交/按需/定期运行后运行的测试环境。探索性/故事/功能性和非功能性测试的主要部分是在此环境中完成的,因为它独立于开发环境主要负责与外部服务/客户端接口的所有依赖项以启用系统级测试)
  • A - 验收(产品负责人在成功的 sprint 之间或之后部署到此环境后进行验收测试。)
  • P - 生产(最终将发布部署到 prod 'sprint-ly' 或根据发布周期。部署后运行烟雾测试并定期执行可访问性检查)

根据应用程序的重要性和类型,您可能会有一些变体,例如临时环境(主要是当您必须迁移/测试真实的生产数据时)、预生产(您可以在其中测试用户配置文件、安全性、灾难恢复和备份)和生产环境。

冒着鞭打一匹死马的风险,这是那些与上​​下文无关的问题之一,如果没有特定于您需求的信息,就很难回答。

我不会重复人们对常用环境的描述,但我想提供一些需要考虑的事情。

与大多数事情一样,没有最佳实践,只有适合您所处的情况。我曾在一些公司工作过,您可以快速克隆整个环境并运行尽可能多的硬件,使其能够运行支持。我曾在其他环境如此庞大的地方工作过,以至于以 1:1 的比例模仿整个事物会非常昂贵。我见过一些开发过程非常宽松的地方,以及其他一些事情非常严格和严格控制的地方。我们在这些约束中(或有时在它们之外)的工作方式各不相同。

以下是一些可能会影响您拥有的环境和使用它们的内容的因素。

  • 你使用什么样的开发风格?您是否在瀑布环境中工作?敏捷的?在。。。之间的某处?
  • 你想做什么样的测试?
  • 你如何更新你的环境?您是否收到交付给您的构建?您是否从存储库中提取代码?
  • 您的环境是小而独立的还是大而复杂的?
  • 您是使用单个数据源还是多个环境共享一个数据库?(我都看过)
  • 开发人员和测试人员是否密切合作,或者他们是否分开(按时间、距离、文化...)
  • 您是否模拟了环境的任何部分?这会随着时间而改变吗?
  • 您如何将软件发布到生产环境?

等等

回答其中一些问题,然后看看你对不同环境有什么问题(你知道,除非你真的在寻找面试问题的简单答案:P)

1最常见的一组环境和 [2] 每种环境的最佳实践是什么?

(1) System Test、UAT、Performance Test、Staging都是经典环境

(2) 最佳实践更难:-) .. 这是一个很酷的测试环境成熟度模型TEMMI .. 除此之外,我的建议是……“了解您的环境.. 没有知识,服务和能力将永远是不足”

开发、SIT(系统集成测试)、性能工程环境、生产、IOT(互操作性测试)、DR(灾难风险)、UAT(用户验收测试)