Alan Leung, Sierra Systems
Testing System-to-System (S2S) messaging requires painstaking attention to detail and a level of technical skill beyond verifying most GUI interfaces. Regression testing requires the same disciplined approach despite being a tedious and time-consuming task. S2S messaging is an obvious candidate for test automation but automating any process takes another level of understanding, expertise, and effort.
The mature project that I joined was responsible for several SOA (Service-Oriented Architecture) interfaces involving SOAP-based and REST-based web services, XSL transforms, and an EMPI data source. With limited staff and time to test these interfaces, I wanted to promote automated testing as much as possible in order to ensure software quality with constrained resources.
While the test team was aware of the potential benefits of automation, they needed some initial assistance to begin their efforts. Over the course of approximately a year, my assistance to the test team decreased from frequent interactions until the team was relatively self-sufficient and taking the testing framework in ways I had never explored.
The result of the test team’s work is that five of seven interfaces have fully automated testing and the number of test scenarios has increased by 305%. Considering one interface, testing that was not as complete and that took approximately 7 days to complete now takes 7 minutes to execute. Because of the result of the team’s work, an automated regression test suite (rather than one-time manual efforts), their product has also helped other teams downstream of the system testing phase. The test team has also gained valuable skills that can be deployed on other projects and other IT problems.
Previously, everyone on the team knew automated testing would be ideal and the benefits great, but to reach that state, we had to overcome many obstacles. However, just as automating tests pays off with every subsequent cycle of testing, changing the team’s mindset to accept automated testing as the preferred way to test improves overall productivity and velocity of the team.