Airlines are all about safety. That’s their number one concern. And what they do to help predict that planes will take off and arrive safely is to run different scenarios based on variances in the weight of the plane and the fuel it would consume to test for safety.
But Ryan Papineau, a senior software engineer at Alaska Airlines, said because the data coming in every day is different there was no way to determine if it is correct. “The system here is the ‘sign and introduce’ system, it’s the weight and balance for aircraft,” he said, which is absolutely critical for safely operating an airline.
RELATED CONTENT: The top 3 pain points of test automation, and how to overcome them
Their problem was they needed to control the data, because they couldn’t do performance tests against a moving target. Papineau explained: “While I started doing the control data to do the performance testing, we were like, ‘Wait a second, we could use this control data to do this other piece.’ And so that’s when we were kind of looking at some tools out there. We wanted service virtualization and test data management. That’s really the summary … the project is too critical and was untestable. We needed to resort to tools outside of our comfort zone or things that we didn’t have.”
One of the services Alaska uses to get the data necessary for testing is called Sabre, a global distribution service for scheduling aircraft to go from Point A to Point B, he said. It’s essentially a mainframe, he added, and Alaska has a wrapper service to this mainframe that has every single flight and which passengers are on it. Alaska uses its own automation to build the data it needs, but struggled to do it at scale, because they could not simulate the entire airline. “We then thought we needed a whole other instance of [production] to be able to simulate that data, and then have the automation wherewithal to support that.”
The key to solving the problem was to virtualize that service, which is passenger list and counts, and tracks the state of a passenger: has he booked, has he checked in, has he boarded the airplane? And there are other data pieces, such as whether or not the passenger is flying with a child, or putting a pet in the plane’s hold.
Papineau said after researching solutions, the airline chose Parasoft Virtualize, to create a virtualized service of the entire passenger interface. “So what we did is we recorded a day’s worth of data. We had the aggregate numbers that came out of prod, and what we did is we would grab the numbers and then SQL-generate the equivalent of a seat map and apply it to those aircraft. It’s not a pixel-perfect equivalency, but we’re essentially able to create those requests, what the data looks like in, say, tabular data and map it to the virtual service.
Ryan Papineau will be discussing how Alaska Airlines succeeded with virtualization in greater detail at the Automated Software Testing and Quality Summit Tuesday, Nov. 17. SD Times is the media sponsor of the event.