冒着鞭打一匹死马的风险,这是那些与上下文无关的问题之一,如果没有特定于您需求的信息,就很难回答。
我不会重复人们对常用环境的描述,但我想提供一些需要考虑的事情。
与大多数事情一样,没有最佳实践,只有适合您所处的情况。我曾在一些公司工作过,您可以快速克隆整个环境并运行尽可能多的硬件,使其能够运行支持。我曾在其他环境如此庞大的地方工作过,以至于以 1:1 的比例模仿整个事物会非常昂贵。我见过一些开发过程非常宽松的地方,以及其他一些事情非常严格和严格控制的地方。我们在这些约束中(或有时在它们之外)的工作方式各不相同。
以下是一些可能会影响您拥有的环境和使用它们的内容的因素。
- 你使用什么样的开发风格?您是否在瀑布环境中工作?敏捷的?在。。。之间的某处?
- 你想做什么样的测试?
- 你如何更新你的环境?您是否收到交付给您的构建?您是否从存储库中提取代码?
- 您的环境是小而独立的还是大而复杂的?
- 您是使用单个数据源还是多个环境共享一个数据库?(我都看过)
- 开发人员和测试人员是否密切合作,或者他们是否分开(按时间、距离、文化...)
- 您是否模拟了环境的任何部分?这会随着时间而改变吗?
- 您如何将软件发布到生产环境?
等等
回答其中一些问题,然后看看你对不同环境有什么问题(你知道,除非你真的在寻找面试问题的简单答案:P)