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 for every flight is different from day to day, there was no easy way to consistently determine if it is correct.
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. The weight and balance project was too critical and was untestable. We needed to resort to tools outside of our comfort zone for capabilities 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 known as the passenger service. The passenger service tracks the state of a passenger: from booked, to checked in, and finally boarded the aircraft. The passenger service also keeps track of the seat number and other data attributes, such as whether or not the passenger is flying with a child, infant, have a pet in cabin, or the plane’s cargo hold.
Papineau said after researching solutions, the airline chose Parasoft Virtualize, to create a virtualized service of the entire passenger interface. “What we did was we recorded a day’s worth of data. With this we had the aggregate numbers that came out of production. From there we used SQL to derive those aggregate numbers into an equivalent passenger seat map that captured the weight and balance state of the flight. It’s not a pixel-perfect at the per-seat level, but it is at the aggregate zoning for the weight and balance state. Using Parasoft Virtualize we then mapped those states back to a Virtual Service that returns repeatable passenger data day over day.
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.