Case Study – Android Driven Rail Ticketing System

Fujitsu is a well known multinational corporation, and had a project to introduce a new system of portable ticket machines for a number of railway companies, using a bespoke app on an Android device to search timetables, price tickets, issue penalties, and to validate tickets (including scanning them if they were of the new barcode type tickets). The Android device was connected by bluetooth to a hand-held electronic payment terminal and a portable ticket printer.

The railway companies each had different requirements, including the type of Android device or ticket printer they wished to use, and different functions required within the app.

The Android device was required to upload an end-of-day account of all sales made to a central database, and to download updated timetables or prices, as well as app updates, from another database.

With plenty of variations, and lots of integrated functionality, there was a lot to test.

The work necessary for the project included:

  • Writing test scripts for to cover the functionality of the app and each of the system components. 
  • Writing test scripts to cover integration of the system components.
  • Writing test scripts to cover the back-office functionality.
  • Executing these scripts across each of the multiple combinations mentioned above.
  • Verifying and modifying test data held in databases installed on the Android device.
  • Verifying and modifying test data held in the back-office databases.
  • Synchronising the data on the devices.
  • Modifying configuration data held on the devices.
  • Verifying that different levels of user had access to the relevant functionality for their role.
  • Verifying that response time performance met business requirements.
  • Raising defects for developers, with reproduction instructions and screen shots.
  • Demonstrating defects to developers where appropriate.
  • Demonstrating functionality to end client representatives.

A variety of technologies were used in the testing of the project, including:

Android, eCommerce, EFT (Electronic Funds Transfer) ICC cards, Ingenico, Jira, MDM, Microsoft Test Manager, .NET, SQL Server, SQLiteBrowser, Steatite CCST, Thermal printers, XML