Automated Web Application UI Testing for a U.S. Firm Offering MSP Training Services
Customer
The Customer is a U.S. IT company offering consulting services for managed service providers (MSP). The company streamlines MSP workflows and helps IT solution providers improve MSP operations.
Challenge
The Customer needed to update their web application for MSP training services. This required significant changes in UI and UX, which called for comprehensive UI testing.
The testing phase posed several challenges:
- The existing application had to remain active during the update.
- Asynchronous nature of AJAX technology that powered the updated web application.
Solution
The project challenges called for test automation to ensure swift testing and update of the web app.
ScienceSoft’s automated testing team deployed the test environment on Microsoft Azure. To ensure testing quality and speed, the automated testing team used a combination of behavior-driven and data-driven approaches. As the web application was data-rich, the team opted for data-driven test automation on Selenium to cover a large volume of data with a limited number of efficient scripts. To enable swift scripting, the team used Jasmine framework to create behavior-driven scripts with a simple syntax in a language close to natural. The project team followed the Scrum methodology, which ensured seamless communication of the team members.
The AJAX technology, which enables users to get data from the server without reloading pages, was the main issue for automated testing. The team had to set the right waiting periods (sleeps and waits). This was impossible with the asynchronous AJAX. To avoid setting sleeps and waits manually, the team used Protractor. This testing framework assured performing various actions (click, click and hold, double-click, moving the mouse to another element, etc.) when the webpage finished the previous action. So the test and the webpage were in sync. Sometimes Protractor couldn’t detect whether the page fully loaded due to the product specifics (some elements loaded after the page load was complete.) In this case, the testing team had to monitor the process. This approach helped assure efficient testing and avoid false positives and negatives, a common pitfall in testing web applications that use AJAX technology.
Results
Automated UI testing by ScienceSoft’s testing team assured the quality and convenience of the updated web application UI. The speedy and efficient testing process helped ensure a seamless transition to the new version of the web application.
Technologies and Tools
Selenium, Protractor, Jasmine, Microsoft Azure, Bamboo, Atlassian Jira, AJAX, Angular 4, TypeScript, HTML, CSS, DevExtreme components.