Sydney Trains has implemented Tricentis Tosca for codeless test automation as part of its cloud–first strategy.
This shift from manual testing has resulted in a 100% regression test automation for existing applications and has enabled a 66% reduction in testing time on 10,000 mobile devices in the field.
“Our goal is to serve the public and to move them safely on their full journey – spanning their service on roadways, waterways and trains,” says Ernie Lam, Senior Manager of Digital Products and Applications at Sydney Trains.
“We look at transport as a whole, not just point to point. We want to get you all the way from your home to wherever you want to go and ensure your travels are as seamless as possible in an exceptionally large area.”
Achieving such a goal is dependent on both prebuilt and custom internal systems. These applications are designed to ensure a seamless travel experience for travelers, deploy management and safety tools for the million trips taken per day in Sydney, and facilitate the daily journeys of thousands of individuals.
In addition to maintaining existing software in the tech stack, the development and testing teams work closely together to deploy new applications and feature sets throughout the year.
Many of these applications are designed to run on 10,000+ mobile iOS devices, including iPhones and iPads, as part of Transports NSW’s cloud first strategy.
“It was not sustainable to keep doing manual testing. The major focus was needed to build quality from the beginning and all the way through each code release. To achieve this at speed, we needed to embed test automation to facilitate that quality”, says Lam.
In addition to maintaining existing system upgrades, the team is working to provide testing for new cloud applications including the rollout of a critical internal self-service portal for train crews – allowing them to perform multiple work functions in a single location that would have previously been coordinated through a manual and paper process.
This new portal will save time for employees as they update work schedules, view and manage rosters, access safety critical documentation and complete other required daily tasks so they can focus on delivering value to passengers, while facilitating the move to digitally enabling crew members.
Testing has also helped the team provide faster testing for critical applications under maintenance including SafeComm, a safety critical communication (SCC) web application designed to support the completion of audio communcations technical behaviour compliance with the standards set forth by Sydney Trains.
The system requires to fill out a form with a considerable number of answer combinations, all of which must be tested. Previoulsy, it too 90+ minutes to test the UI before each release. After automating testing with Tosca, the process can be completed in a third of the time.
When Sydney Trains started on its automation journey, it already had the considerable foresight to consider how cloud applications would impact the development and testing of future applications.
In the early 2010’s, the team was already starting to move away from on-premise solutions in data centers to a cloud first mentality with AWS. Since Tosca would play an important role in the future of these applications, the team worked to design an ecosystem for the traditional SQL database to be available for cloud deployments with physical iOS devices.
Today, developers can execute automated test suites within the CI/CD pipeline every time code is checked in. Executing the Tosca test suite is part of the definition of done for every piece of code. Should any of the tests fail, the developer can quickly pinpoint and address any defects in the code – which increases both the speed of testing and the quality of releases.
Testing is then passed off to the project domain experts to execute full regression suites and generate new tests for new feature sets. Automation efforts are prioritised according to risk-based assessments combined with time-based regression requirements.
This allows the team to ensure the most critical and time-consuming tests are automated for future testing. This becomes especially important as new feature sets are rolled out to ensure previous functionality is not broken when new code is released.