Automated Testing Integrations

Continuous Integration Process for Rail System

Who is the client?

The client is a continental distribution channel of railways for online sales of high-speed and conventional rail travel.

What was the client trying to achieve?

In the beginning, the main focus was to test the desktop application and the Web Services APIs manually. Initially the process was to call individual WS requests one after another and manually collecting the required information from one’s response, use it for the next one’s request (while manually verifying all information present in the response). With time, and as the number of Partners increased on the Client’s end, it became difficult to finish all tests with 100% coverage for every release with the available resources. To overcome the shortcoming, Data-Core introduced an Automated testing process for the Web Services. Now from calling all WS requests and transferring data to verifying all information returned in respective WS responses – all are done automatically.

With increased Partners on the
Client’s end, it became difficult to
finish all tests

What challenges were encountered?

The challenge was to re-format and upload all test cases in a Test Management tool. Data-Core first used a tool that was not meeting all needs so the team switched to one that met each requirement. Then the Framework was designed for the Automation script preparation. It was also challenging to keep the scripts aligned with the updated sale/after sale conditions for different products. There are around 30 different product families which are sold around the world with different sale/after sale conditions divided into 4 partitions.

30 different Product families which
were sold around the world

What services did Data-Core provide?

To achieve a successful result from this automation campaign the following was done:

At first, the automation could only performed until the Payment step. Then an output file was generated with all the affected bookings, which in turn was paid manually one by one in the 3rd party website. Because it is not possible to be done by using SoapUI – Data-Core introduced Selenium and integrated with SoapUI. The bookings were then automatically sent to 3rd party merchants for payment. Once successfully paid, the booking comes back to Web Services for issuing the PDF email (tickets).

Originally, all the scenarios were executed in Soap UI of a local PC which demanded an attentive resource to manipulate different issues. The test result of test completion details were not globally available for the clients. To eliminate the shortcoming, Data-Core introduced a Version-2 where all Test Projects are executed in Jenkins and can be scheduled to run automatically without any resource requirement. The entire process is open to the client and Data-Core, so anyone (with proper authorization) can access the results and see the current process or the completion details.

In Summary…

Data-Core currently does all testing for each release. The entire Automation process created re-usable codes to reduce time. The creation of classes and methods as per products/pages/modules (kind of ‘Page Object Models’ concept) enabled easy understanding. Strategy development is now possible to identify savings opportunities, assess market dynamics and develop an informed sourcing strategy.

Test cycle times
lowered by 60%,
even with more
tests done

increased by