Sabre is the world’s largest provider of airline and hotel technology, used by more than a billion people around the world. Their systems must work 24 hours a day, every day, processing more than 60,000 transactions per second at peak demand. Sabre customers include airlines, airports, cruise lines, government, hotels, online travel agencies, railway carriers, and more.
Sabre hosts a global distribution system (GDS) with massive amounts of data. A typical minute inside Sabre’s systems includes:
Jump to Section
Watch a preview of the Sabre presentation at the recent Automated Software Testing & Quality Summit. Learn how they improved testing productivity and accuracy with automated testing and service virtualization.
To transition Sabre’s core software systems from its historic proprietary base to services exposed as APIs, the company encountered new challenges. Its software systems require high reliability and availability, and the new APIs would need to meet those standards.
Sabre faced big challenges.
Dependencies on a diverse set of highly complex downline systems from various partners such as airlines, cruise lines, and railway carriers.
The sheer number of protocols and test cases needed to ensure quality, reliability, and good performance.
Performance of these downline systems impacted the pace of testing because they were live systems with realworld delays. In addition, the total complexity and number of different downline systems meant there were numerous service descriptions and protocols to satisfy. All this made testing difficult.
They decided automated testing solutions were needed to handle the workload. However, using their own solutions, they discovered that simple mocking (substituting real systems with simple request-response stubs) was inadequate. As a result, Sabre investigated Parasoft solutions for their complex test environment.
To reduce operational costs, improve flexibility to meet changing business requirements, and provide simplified automated access to its travel services, Sabre found it needed to move from the historic proprietary architecture its systems were based on and migrate to an open standards based architecture.
The move to APIs presented new challenges to Sabre’s software testing infrastructure. Interaction with third-party services would require the means to test interoperability between those services and appropriately simulate often-complex transactions across the multiple services, representative of the business processes that would be transacted by them.
In production, the lack of availability of a service at any time could result in significant losses to important companies in the transportation industry. The procedures the company initiated to test software quality and reliability had to be thorough and 100% accurate.
As Sabre would be developing and deploying many services on an ongoing basis, it needed a repeatable testing methodology that promoted system stability through continuous integration. Additionally, the test methodology needed to establish a baseline for certification of production readiness that each service would need to meet before qualifying for production deployment.
The company defined three primary goals to achieve in order to deliver quality services:
AI-powered automated test case generation and execution
Repeatable regression testing
Breadth of code coverage
Sabre uses Parasoft SOAtest to implement an effective testing and certification solution for their automated web services testing process. Sabre’s business analysts leverage SOAtest to quickly create more thorough test cases during development to verify that the service meets requirements.
Then the QA team uses SOAtest to execute these test cases along with a standard regression suite of tests to validate and certify that the service meets reliability and performance objectives. This process has allowed Sabre to prevent serious defects from reaching production and has reduced the time and effort to certify a new service by two-thirds. This productivity gain translates into savings of $720,000 annually through automated testing.
Sabre investigated possible solutions in the market and started a proof-of-concept to use Parasoft Virtualize for their test environment challenges. The evaluation criteria considered whether the solution could handle the needs of such a complex system, the high volume of API calls, and different kinds of client applications. They also assessed how well Parasoft Virtualize would work for testers and developers and how friendly it was to non-technical users.
After a successful proof of concept, Sabre integrated the Parasoft solution into their testing environment. Initially, Parasoft Virtualize was placed between their application under test and the downline systems. In this case, the tool captured all the API traffic passing from the application under test to the rest of the system. This API capture was beneficial in recording all the requests and responses coming to and from the downline system. However, they needed more than simple record and playback functionalities.
Using the powerful machine learning capabilities of Parasoft Virtualize, Sabre used the automatically generated test scenarios built from heuristics that group related API calls together. Pleased with the results, they fine-tuned these scenarios into reusable, repeatable test cases.
In the end, Sabre was able to automatically generate thousands of test cases based on traffic analyzed from diverse third-party application clients such as airline and hotel purchase systems. The team used their service descriptions to generate mocks before those services were fully developed.
Once the test cases coalesced from the recorded traffic, Sabre needed a test data management solution for these large test suites. Sabre leveraged Parasoft Virtualize to mask the data to obscure private information and stored the test data sets in a database. These data sets formed the basis of their dynamic test scenarios.
With Parasoft SOAtest, Sabre effectively transitioned its software systems to APIs that now process over five million transactions daily. By automating their API testing, Sabre achieved the test coverage and repeatability necessary to ensure that its services consistently meet its high reliability and availability standards.
Using Parasoft Virtualize to simulate Sabre’s complex downline systems and a flexible suite of automated test cases means that Sabre can now decouple their test environment from the real system. In fact, the team values how easily Parasoft Virtualize allows testers to switch between live and virtualized systems as needed. Sabre eliminated the performance issues and risk of using real downline systems while greatly accelerating their testing cycles.
Integrated into the Sabre development lifecycle, Parasoft test automation solutions allow Sabre to deliver a richer set of capabilities to its customers. At the same time, they can ensure that the release of every service is stable and meets business requirements before it goes into production.
Parasoft helped Sabre achieve their application and API testing goals with integrated automated testing tools that significantly reduce the time needed to deploy services and ensure these services meet reliability, availability, and functional requirements.
Automating their test environment and decoupling it from a complex, real world production system provided several benefits.
Automated API test case generation enabled Sabre to generate more thorough test suites for requirements verification, reducing the creation time by one-third.
Repeatable, dependable, and simulated services allowed Sabre to create repeatable API test scenarios with partner-specific test data sets to test
their applications in each partner ecosystem.
Virtualizing the production systems that may be unavailable or performing poorly for testing reduced developer and tester down time.
One workflow with a highly available, integrated test environment allowed Sabre to streamline their development and testing pipeline.
Service virtualization with dynamic and relevant service responses enabled Sabre to create a realistic virtualized test environment. It also allowed the team to perform specific tests with injected data as needed.