Do we need separate environments for testing and acceptance (staging)

1.2k Views Asked by At

We will be migrating from our old servers to new ones and now the question has come up: should we keep 3 servers:

  • testing
  • acceptance (also known as staging)
  • production

Or should we lump the first together, and just get two servers. The software we deploy is not very complicated, it's small stand-alone programs that move and process various data-files at scheduled intervals.

In the year+ i have been working here I was never in the situation I actually required separate testing and acceptance environments. Usually the programs have been unit tested and integration tested (on a separate build-server) before they go for a final test on the acceptance environment.

However at my previous place of work I do remember missing the additional server. We would be doing final tests before the release but this would then mean we could not test or showcase a branch with new features. Such a situation is less likely at my current place of work because our team is very small: 1 dev and 2 testers.

So under what circumstances should we have more then one server for testing and acceptance? I'm thinking:

  • When the software you are making only fully functions on the server and running it locally is impossible or of limited value
  • When the team is large enough for different people to work on different versions of the same product
  • When testing takes up all the resources on one server.

Am i missing something in this list?

1

There are 1 best solutions below

0
TestPete On BEST ANSWER

What was the reason for having both environments in the first place?

Reasons for having both environments could also be:

  • You are required to keep an environment running the same version as Production, so you can investigate/reproduce production issues - and thus have a potential pipeline for testing hotfixes.
  • Maybe one of the environments are dedicated for e.g. performance tests or whatever.
  • Or perhaps your end users need a place where they can be educated, while not disturbing ongoing development and testing.

That was my 10 cents.