The typical OSS landscape is highly interconnected. Complex components like Order Management Systems are tightly integrated in many directions, and processes depend on reasonable data flowing between these connected systems. This is very challenging for the testing of these clusters.
Emerging methodologies like Continuous Build and Integration demand automated testing, but the test scenarios may depend on the entire cluster of the OSS stack.
Also the number of projects requesting test resources always outnumber the ludicrously-priced test labs available.
The allocation of test lab resources to demanding projects needs meticulous planning and is susceptible to delays.
Another challenge is the Configuration Management of the test resources. Test scenarios depend on anticipated network or resource states, which may require expert work to configure.
All these factors retard the testing cycles and inflates cost of change. Some operators are slowed down to a few releases per year due to complex release cycles.
The desireable situation was to have an own test lab for each project at any time, so that is what we designed. For each required type of equipment or system, we created a simulator, any number of these can be instanciated in a virtual test lab. The virtual test lab can be reset to a configurable state. This way, a complex test object like an Order Manager can be tested in a test bed just like in a real test lab.