Phased Testing : Testing Systems Undergoing Change

This paper deals with the challenge of verifying and testing the success of system changes. This is often overlooked when testing, however as systems are moving more and more to continuous delivery, such tests become increasingly relevant. Some the more common system changes are:
- Database changes
- Application Upgrades
- Server and Cloud changes
Our experience is that validating that a system works after a system change is quite hard. We see the following challenges:
- How do distinguish between problems related to the change, and those inherent in the product?
- How can a problem be clearly identified and reproduced?
We think that traditional test approaches have limitations when testing for change. Instead, we present a new approach to writing tests that allows us to test how a use case is affected by a system change. We call this approach Phased Testing. Phased Testing, allows our test scenarios to be leveraged for validating system changes. This is done by empowering our scenarios in two ways:
1. By allowing test scenarios to be interruptive.
2. A test scenario is declared only once, but we are able to execute it with all the possible interruptions it may be subjected to.

Baubak Gandomi, Test Automation Architect, Mr.

With more than 20 years of experience in the software industry, I am specialized in the management of software quality and life-cycle. I enjoy getting projects with no Continuous Integration / Deploy up and running.

I have a passion for the un-testable, so if you want to discuss projects I would be glad to discuss such problems with you.

I have studied in Sweden and in Germany, and graduated from the university of Stockholm.

I have mainly worked in Sweden and in France. and have been at Adobe for the last 8 years as a test automation architect.