Testing Automation Propels American Billing Firm's SaaS Platform To The Next Level Of Competition

SP Tech develops an Selenium based automated testing environment to drastically reduce development costs and improve remarkably the user-friendliness and performance of their new Software-as-a-Service so as to establish a new force in the domain – our CLIENT!

About Client

null
Our client was a world renowned name in providing one-stop billing solutions to enterprises. They were an established business in US and had just started to expand their business in global markets. After having developed a new SaaS based app with professional developers, the only major hurdle for the client to expand in the international market was a bug free app. The chief concern of the client was now to ensure that the app is 100% bug free and had capabilities to handle large amount of sensitive data in an extremely secure environment. The massive Software as a service application had hundreds of features. However testing the application from scratch through manual testing methods would prove to be a very time consuming process. And time is a very valuable commodity if you were aiming for cloud based market domination. The client approached SP Tech to help them test the application in an automated and manual environment. They had a very strict time scale for the project and the same time wanted to thoroughly check the app for security. Based on their requirement we proposed using a Selenium and JUnit based testing environment for automated testing.

How we did it?

null
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry’s standard dummy
text ever since the 1500s, when an unknown printer.

Challenge: How to automate the testing process

The first and foremost concern of the client was to automate the testing process. Their app was only in the first viable product stage and additional features were being added to it constantly in modular form. So not only they needed a solution to perform unit testing on all the modules that have already been developed, but also needed an automated testing environment to check the performance of all the modules that will be developed in future. In addition since it was web browser based app, they needed their app to be cross-browser compatible.

Solution: An Integrated JUnit and Selenium automated testing environment

We designed and developed a JUnit based testing environment to test all the modules of the SaaS application. Since the application was web based, we integrated Selenium to the JUnit environment. Selenium enabled our test environment to automatically check the app on all major browsers such as Firefox, Chrome, Internet Explorer, Safari etc. The whole environment was built upon Apache Maven tool. We further automated our process by integrated this testing environment with a job scheduling application, an automated reporting solution, and an action time tracking solution.

Challenge: How to schedule automated testing operations without overloading server

The development cycle of the product was very fast. Every month new features were being added to the software platform. The client needed a way to test these new changes as well as their impact on old features in an automated way, without overloading the daily run-time of the server. They need a solution that can schedule their automated testing jobs.

Solution: Scheduling automated testing jobs using Jenkins

We integrated our Selenium-JUnit environment with Jenkins, a robust job scheduling platform. We customized Jenkins to automatically run scheduled jobs every night. For each new module that was added, we created testing jobs for it in Selenium-JUnit environment, and then scheduled those jobs in Jenkins. We customized our Jenkins solutions to a click-and-play feature ease job scheduling.

Challenge: How to receive automatic reports about each test job

As the SaaS platform was very big, each day hundreds of jobs were scheduled and runned. It was very difficult to manually check the performance of each job in Maven. Not only was it time consuming, but also quite technical. Therefore the client needed comprehensive test reports to easily check the performance of each job and check the time-per-action for each user-action.

Solution: Surefire Maven Plugin to create automated test report

Our whole test environment was managed on Maven platform. Therefore it was most suitable to use Surefire Maven plugin to generate automated reports of testing jobs. We configured the plugin to create reports in multiple formats including XML, CSV, XLS, and PDF formats. The reports depicted in a user-friendly the time it took for each job to complete itself, the time-per-action data, and most importantly the success/failure rate of each job.

Challenge: How to track the number of user who used the app daily

You cannot judge the success of the app unless you track the increase in the use of the app per month. However since the website already had many tracking services running to keep track of site actions, separate tracking capabilities were required to check the performance of the app.

Solution: Custom Kentico based tool to track application’s performance

Our app had capabilities to track every user action. The app can track daily use of the app as well as detailed user actions of the app. It also kept track of the type of insurance types the users entered and the average coverage of users. The whole performance and tracking data can be access through the Kentico backend and would be available to those authorised to access it. Strict role based access was already implemented and we extended it to our tool as well.
+ Selenium & JUnit

Challenge: How to automate the testing process

The first and foremost concern of the client was to automate the testing process. Their app was only in the first viable product stage and additional features were being added to it constantly in modular form. So not only they needed a solution to perform unit testing on all the modules that have already been developed, but also needed an automated testing environment to check the performance of all the modules that will be developed in future. In addition since it was web browser based app, they needed their app to be cross-browser compatible.

Solution: An Integrated JUnit and Selenium automated testing environment

We designed and developed a JUnit based testing environment to test all the modules of the SaaS application. Since the application was web based, we integrated Selenium to the JUnit environment. Selenium enabled our test environment to automatically check the app on all major browsers such as Firefox, Chrome, Internet Explorer, Safari etc. The whole environment was built upon Apache Maven tool. We further automated our process by integrated this testing environment with a job scheduling application, an automated reporting solution, and an action time tracking solution.
+ Automated Job Scheduling

Challenge: How to schedule automated testing operations without overloading server

The development cycle of the product was very fast. Every month new features were being added to the software platform. The client needed a way to test these new changes as well as their impact on old features in an automated way, without overloading the daily run-time of the server. They need a solution that can schedule their automated testing jobs.

Solution: Scheduling automated testing jobs using Jenkins

We integrated our Selenium-JUnit environment with Jenkins, a robust job scheduling platform. We customized Jenkins to automatically run scheduled jobs every night. For each new module that was added, we created testing jobs for it in Selenium-JUnit environment, and then scheduled those jobs in Jenkins. We customized our Jenkins solutions to a click-and-play feature ease job scheduling.
+ Automatic Report Generation

Challenge: How to receive automatic reports about each test job

As the SaaS platform was very big, each day hundreds of jobs were scheduled and runned. It was very difficult to manually check the performance of each job in Maven. Not only was it time consuming, but also quite technical. Therefore the client needed comprehensive test reports to easily check the performance of each job and check the time-per-action for each user-action.

Solution: Surefire Maven Plugin to create automated test report

Our whole test environment was managed on Maven platform. Therefore it was most suitable to use Surefire Maven plugin to generate automated reports of testing jobs. We configured the plugin to create reports in multiple formats including XML, CSV, XLS, and PDF formats. The reports depicted in a user-friendly the time it took for each job to complete itself, the time-per-action data, and most importantly the success/failure rate of each job.
+ Automatic Report Generation

Challenge: How to track the number of user who used the app daily

You cannot judge the success of the app unless you track the increase in the use of the app per month. However since the website already had many tracking services running to keep track of site actions, separate tracking capabilities were required to check the performance of the app.

Solution: Custom Kentico based tool to track application’s performance

Our app had capabilities to track every user action. The app can track daily use of the app as well as detailed user actions of the app. It also kept track of the type of insurance types the users entered and the average coverage of users. The whole performance and tracking data can be access through the Kentico backend and would be available to those authorised to access it. Strict role based access was already implemented and we extended it to our tool as well.

Results

null

Reduced Development Time by 4 months

Automated testing reduced testing and development time by more than 4 months

Saved Thousands of Dollars

The client saved thousands of dollars of development costs by reducing their development time

Complete 12000+ Test Scenarios In 3 Weeks

Our automated testing environment and conducted 12000+ complex testing senarios in less than 3 weeks

Application Became More User Friendly

By tracking the time taken for each action, we made the app more user-friendly

Contact Us To Know How Can We Transform Our Business!

Web Design and Website Development Agency New York, United States, USA, India