Highly Available Microservices-Based SaaS for vCIO Service Management
About Our Client
The Client is a US-based consulting and coaching company offering expert tools and industry-leading training services for managed service providers (MSPs). The company improves MSP workflows and helps IT providers smoothly transform into successful MSPs.
Challenge
The Client wanted to launch a new SaaS-based vCIO (virtual Chief Information Officer) software. The solution had complex business logic, incorporating completely new modules created from scratch and several legacy parts reconstructed with new UI and backend.
The Client faced the risk of losing the loyalty of its customers in case the releases of the new solution were slow and buggy. So, the Client looked for a competent contractor who could take over the complete testing and QA process during the development and evolution cycle of several years and complete it in a comprehensive and timely manner, keeping up with the frequency of changes and the necessity to test against multiple browser versions.
Solution
To comply with the Client’s requirements and reduce the testing time and volume, ScienceSoft’s team decided to employ automated testing. They used the proprietary IMAAT (Integrated Manual and Automated Testing) approach that resided in a balanced combination of automated and manual tests. Our team automated the following tasks:
- Functional regression and integration tests to quickly verify that updates worked correctly and didn’t affect user experience.
- Cross-browser testing for Chrome and Firefox, as it was important for the Client to deliver a consistent user experience against the latest versions of Chrome and Firefox browsers, primarily used by the Client’s customers. ScienceSoft’s test automation engineers developed universal automated tests, elegantly handling the peculiarities of the two different browsers and cutting down on the testing time and effort. They also introduced parallel testing against different browsers to reduce the testing time even more.
Manual tests were saved for initial checks, one-time runs, and served to provide a prompt response to developers after hotfixes.
Since the majority of tests were automated, ScienceSoft’s testing team was also able to:
- Integrate continuous testing into the continuous integration (CI) pipeline to run tests automatically every time a new change is introduced and support safe nightly builds.
- Provide the developers with ready-to-go test sets so that they can proactively verify potentially risky code parts and ensure only safe code merging. For the developers’ convenience, long end-to-end UI tests were optimized and divided into smaller pieces.
Results
Overall, the test automation environment allowed achieving almost continuous readiness for quality releases. The Client managed to meet the release cycle in the most efficient manner and delivered quality new app features and updates.
Tools
Protractor, Jasmine, Selenium C# WebDriver, Docker, TypeScript.