Qualitest Helps Energy Company‘s Upgrade to SOA Architecture
EDW approached Qualitest to create a test approach and solution for testing in their new way of working, being able to test services from an API level in isolation, integrated together and complete end-to-end testing.
EDW is a vendor of integrated energy solutions largely related to CRM (not just used for retail), billing, pricing and quoting for the electricity industry.
Business Needs and Objectives
EDW were struggling from slow development times, code quality issues and high-cost of change. A planned re-architecture and new way of working were brought in to mitigate these concerns. They do not currently carry out any test automation or API testing, and as part of their new strategy wanted to move towards test automation and aligning their testing with the test pyramid (which stresses increasing low-level unit tests over high-level end-to-end tests running through a GUI).
EDW approached Qualitest as testing experts to better understand the approach for this; we had already worked together on other projects. The consulting project would require us to complete a Proof of Concept (PoC) for choosing a tool to suit their needs for test automation, prove that it met all their requirements and put together a test approach and strategy for using the tool which uses automation to make their development as efficient as possible.
The Qualitest Solution
Following a static analysis exercise, the chosen tool for the PoC was ‘Ready! API’ by SmartBear, one of the leading tools for API testing. ReadyAPI is capable of handling even the most complex testing scenarios in SOA environments, but using the latest version of ReadyAPI shortly after release can cause issues due to instabilities.
Qualitest provided two Senior Test Consultants to install and configure the tool to the client’s needs and develop several tests to prove it capable of testing many different aspects of their systems including OSGi services, REST, SOAP, JMS and a mixture of synchronous and asynchronous requests.
The developed test cases covered both testing services in isolation by wrapping the service to intercept any outgoing requests and providing mocked responses, and testing services integrated together and mocking third party interactions; while driving all data from external sources. The biggest challenge faced on this project was isolating OSGi services as they interact using native Java calls inside of a container, making it difficult to intercept requests; the solution to this was to configure proxies between the services with configurable endpoints so that they could be pointed back to the testing tool. It is also important to realize that composite projects allow collaboration between developers thereby reducing merge conflicts.
Qualitest was also able to integrate the solution with EDW’s Continuous Integration server, TeamCity, and manage version control integrating it in to their Subversion repository meeting their development standards. The final part of the solution was to train the client and define a clear strategy for utilizing the tool going forward as part of their new and improved SDLC.
Isolated service test:
Integrated service test:
- Upgrading their testing from manual to automation
- Continuous Integration using the automated tests we created
- Establishing an approach for mocking out services to effectively test isolation
- Establishing an approach to handle test automation going forward
- Designing test case templates for their automated tests
- Better understanding of what to automate, and what not to automate
- Integrating test assets with their version control system