As part of the software development lifecycle, the application testing environments are often overlooked and mostly left to the appreciation of each developer, who routinely end up using their own PC or laptop for that. The main advantage here is that it gives developers full control on the testing environment without interfering with other developers or worse, with the production system.
are however some serious drawbacks with this method:
and configuring the various layers of software is time consuming and
to mention that
developers (rightfully) test a lot by messing around with their environment or
data, so the burden of installing and configuring is a
are unable to leverage and test the scalability of their code on the hundreds of threads that modern
production servers offer.
hundreds of gigabytes from the production database to every laptop
is not an option, leaving the developers test their code on small,
often outdated, data sets.
With the advent of virtualization, using ready-to-boot virtual images of a fully pre-installed and configured
application testing environment
on an internal cloud has