Releases between Systems and relation with Testing
We are in the following situation
- 8 seperate teams are constantly developing new code for a system. They work on different domains, but at a given moment, they must integrate with each other
- each teams works on its own set of requirements, that provide functionality that can be used seperately of the other team
- each team can have a seperate release date
- there are 4 environments in use:
* development environment
* qualification environment: here the latest versions approved by development are placed, and can be tested by the client organisation. Note that this is the latest version. This means that one team can have code for release 1, another team for release 1+x
* acceptance environment: here the code is delivered that will go to the production environment (only release 1 for each team)
* production environment
The problem with testing that I see, is that the tests that are performed in the Qualification environment, regardless their result, are not providing confidentiality, as what comes in production might be totally different. So there is about a week available to test in the acceptance environment. Often not enough to retest all new functionality and regression scenarios.
Do you see better solutions given the described situation to not 'lose' testing time in the qualification environment? Other use of the environments, specific things in version and/or configuration management, etc.?
How would you select the scenarios to retest in the acceptance environment?