[6][7] To meet these demands, teams have turned to lean approaches, such as Agile, DevOps, and Continuous Delivery, to try to speed up the systems development life cycle (SDLC).
[10] Organizations adopt Continuous Testing because they recognize that these problems are preventing them from delivering quality software at the desired speed.
[1][5][13][19] Since testing begins early and is executed continuously, application risks are exposed soon after they are introduced.
This helps teams focus their efforts on the quality tasks that will have the greatest impact, based on their organization's goals and priorities.
[4][10] Frequent measurement, tight feedback loops, and continuous improvement are key principles of DevOps.
[9][20] Tests should be designed to provide the earliest possible detection (or prevention) of the risks that are most critical for the business or organization that is releasing the software.
Strategies for increasing test environment stability include virtualization software (for dependencies your organization can control and image) service virtualization (for dependencies beyond your scope of control or unsuitable for imaging), and test data management.
Moreover, with the growing adoption of Agile and parallel development processes, it is common for end-to-end functional tests to require access to dependencies that are still evolving or not yet implemented.
This problem can be addressed by using service virtualization to simulate the application under test's (AUT's) interactions with the missing or unavailable dependencies.