Automate the testing of the Migrated system from legacy to microservices platform
Introduction
Customer alert responsiveness improved by orders of magnitude. Kafka adoption simplified. Latency lowered resiliency increased. Secure, a scalable design implemented.
About XcelEnergy
The company has a utility holding with its headquarters in Minneapolis, Minnesota. It provides energy-related products and services to millions of electricity and natural gas customers across our eight states: Colorado, Michigan, Minnesota, New Mexico, North Dakota, South Dakota, Texas, and Wisconsin.
The company was established in 1909 and is responsible for providing power and other services to many states in the US. It has energy sources that include nuclear, natural gas, and renewable energy as well. One of its programs serves 75000 customers and is a customisable service for maintaining home appliances.
The challenge
The main aim of the project is to make a smooth transition from the legacy systems, which are old and slow, to the new microservice-based system which is fast and more efficient. The main challenge was to fetch or write the data to and from the legacy system, for which we needed some endpoints to interact with the system.
- There were no automation test scripts available for testing of the services.
- Manual tests being written for the services were not documented over the confluence.
- Postman was the only tool used for testing the services.
- We did not have a centralised testing approach for the services.
- Running the legacy services required us to be on the VPN to get access to it.
- The services are communicating with multiple third-party services for storing and retrieving the data.
- The services were being consumed by many other systems as well.
- No CI/CD integration of services for testing and deployment.
Solution
Our main focus was to create automation test scripts for all the services which can help us in functional, regression, and integration testing of the services.
- Created automation test suites for functional and regression testing of the services.
- Started writing and documenting the manual test cases over the confluence where they are accessible to everyone.
- Switched from Postman to e-TAF for automation of services from frontend and backend as well.
- Started documenting the approach to be followed over the confluence so that everyone performing the QA related tasks can follow it.
- We got publicly accessible endpoints to test all the endpoints which were previously only accessible through the VPN.
- Test suites integrated with multiple third party calls to validate the services end to end.
- Started manually testing the end-to-end flow of the services from the frontend when required for testing or debugging purposes.
- We have started integrating our test suites for the services with CI/CD which will run after any changes are made to the services.
Technologies used
- e-TAF: Functional, integration, and regression testing of services.
- Jenkins: Deployment and (future scope) test suite integration with the build pipeline.
- SFDC: Verification of data being created in the system
- Apigee: frontend and also for debugging the issues.
- Amazon cloud watch: Storing and to trace logs for the services.
- Cucumber report: Generation of test execution reports for the services.
- Postman: Manual testing
Results
- The execution of test suites was much 50% faster as compared to the manual effort.
- The manual test cases are now available over the confluence accessible to everyone. Attached valid curl requests in the manual test cases so they can be used directly if required.
- By switching over to e-TAF from postman, maintaining the test suites became easier as all the test cases were stored in a single project and we got an option to run our tests in single-threaded and multi-threaded mode.
- It has now become easier for the new QA members to be onboarded to the team as they can refer to the best practices confluence page before starting any work.
- With the publicly accessible endpoints, the execution of test automation on the services takes less time and is more convenient because we don’t require getting logged into the workspace for getting onto the Xcel energy network.
- The validation of third party calls helped us identify the issues (if any) in them as well.
- The reports with detailed information and charts help the stories to be reviewed more efficiently.
Implement a practical Test Automation Pyramid with NashTech
NashTech has an impressive track record providing excellent Quality Assurance services to clients worldwide. We cover the full test automation pyramid by introducing test suites at different levels such as
- Functional Testing
- Regression testing
- API Testing
- Smoke Test
- Performance (Stress and Load)
- Graphic User Interface
- Automation (Scala, Javascript, Typescript, Java, Rust)
- Database Testing (GraphQl. Postgresql/SQL, Cassandra)
- Acceptance, Usability, and Accessibility
Read more case studies
Enhancing both courier and customer experiences for Evri
NashTech and Evri work closely together on the application and systems for the couriers to ensure that they are satisfied and well-trained.
Unified and NashTech: driving digital media excellence
Explore how NashTech helped Unified to overcome challenges in the startup phase by scaling technology resources as needed.
From rising above adversity to riding the wave of digital transformation in the education sector
Explore how NashTech help Trinity College London ride the wave of digital transformation in the education sector
Let's talk about your project
- Topics: