In this case study

Challenge

A nonprofit healthcare organization approached World Wide Technology (WWT) to help accelerate its test automation. Previous efforts with automated testing using various tools were met with limited success, and the client was looking to gain consistency and predictability by extending their automated test coverage. Overall, the hope was to streamline the release process by catching issues earlier in the software development lifecycle.  

Discovery

The WWT team engaged with the nonprofit for approximately 5 weeks. During this time, we sought to gain a hands-on understanding of:  

  • The application and environment under test
  • The challenges previously experienced with automated testing
  • Areas of functionality to test based on analysis of user-flow hotspots
  • The existing testing processes that the nonprofit already had in place

The WWT team initially decided to use Cypress as the test automation tool of choice, but this became not optimal due to the current configuration of the test environment. It was discovered that third-party authentication (Azure AD) was not directly compatible with Cypress. The team began to spike using Selenium as it did not have the same limitations with Azure AD as Cypress.  There was also a time constraint that justified experimenting with alternate approaches to resolve the compatibility issues. We were then able to create a suite of tests that could navigate and verify the functionality of the nonprofit's site using Selenium.  Additional workarounds were evaluated so that the value from both tools could be captured for future use.  

Development of the Selenium tests helped to identify a need for improvement with the HTML element identifiers.  More clear and stable identifiers allow for quicker development of tests and more reliable tests that are easier to maintain. 

A quick win resulted after a joint investigation of test stability issues with the client's development team.  Together we discovered and resolved a cascading bug where the homepage did not load consistently if the session user's profile lacked an image.   

Outcome

WWT was able to create conversations through a demonstration of automated testing that helped shift the nonprofit's approach to testing.  These conversations helped the client understand the value of identifying defects earlier in the software development lifecycle and how functional automated testing could make this easier.    

We were able to provide quick value by discovering multiple functional and environmental issues that hindered the client's test automation development.  

WWT provided a suite of automated tests written in Selenium that tested high-flow areas of the homepage, as well as API integration for test data setup and teardown. This test suite introduced testing best practices such as re-usable code blocks, page objects, and storing environment configuration separate from the test code.  

Another area of focus for the WWT team was Azure Pipeline integration. Working together with WWT DevOps, we provided an instance of the automation test suite running in the nonprofit's environment, initiated by check-in to the master branch of their code repository.  

Finally, WWT delivered a detailed document to the nonprofit that included our observations and overall recommendations, outlining test automation best practices, as well as next steps and goals. 

Conclusion

We believe that the nonprofit healthcare organization can benefit from the learnings and foundational toolsets introduced by WWT's Test Automation team. It is important that the nonprofit continues to extend the suite of tests further, remove tests that provide less value, and add tests based on user journeys through the site.  

The underlying challenge that the nonprofit faced was not the software to accomplish the goal but to adjust their processes to include a quality-first mindset allowing the tools and software to help drive that. 

By Embracing a "Shift Left" Agile philosophy and establishing a Test Automation Center of Excellence, we trust that the nonprofit will be able to forge high-performing co-development teams that continue to provide wins throughout their organization.