Note: This is the second article in a 10-part series on The Continuous Testing Journey. Be sure to read part one “Taking Flight with Continuous Testing.” You can also read “The Definitive Guide to Continuous Testing.”
Continuous Testing Is The Imperative
June 29th, 2018 was the busiest day for air travel ever recorded. According to FlightRadar, a total of 202,157 civilian passenger flights took place on that day. Even at a conservative average of 150 people per flight, that racks up to 30.3 million passengers transported in a 24-hour period, which itself averages out to 1.26 million people en route at any one moment. And the summer of 2018 looks to only increase those numbers.
This is one of the many reasons why software for airlines, air traffic, vacations, crew scheduling, logistics, security – everything to do with moving people by air – must be regularly tested, up-to-date, ready to handle peak loads, and 100 percent functional, all the time.
For this arduous mandate upon software development, Continuous Testing is required.
The Kitty Hawk Venture – A Novel About Continuous Testing in DevOps to Support Continuous Delivery and Business Success
In the recently published book, The Kitty Hawk Venture, a novel on Continuous Testing in DevOps, the authors used the airline industry to demonstrate the vital importance of upgrading the software development and testing process into a more continuous and evenly distributed system than in years past. In the airline industry, most apps and software are mission critical and there is no space for error-laden code – no time for do-overs. It has to be ready to roll, right out of the gate.
When you look at the history of software development – in any industry, not just airlines – recent years have seen a progression from sequential, waterfall style operations to a more team-focused DevOpsculture. But even this has proven inadequate to keep pace with the demands of always-on apps. If you ask 20 software managers what DevOps or Continuous Testing means, you will get at least 20 different answers. And even where DevOps exists, companies continue to experience a trade-off between quality and speed.
Also, software development is incredibly difficult. It requires the skills of a great many experienced and intelligent people to create the code that will eventually be placed into the hands of less experienced, yet equally demanding users. Legacy systems and procedures are still held over from the waterfall era, and bugs remain a natural hazard.
Very simply, we must stop thinking about testing as an event. It is not something to be done at a specific point. Instead, it must be done by everyone all the time, developers and testers both, even before development starts. With Continuous Testing, defects and problems are nipped in the bud. It should no longer be the case that defects are caught, or even missed, as the product comes out the chute into the customer’s lap.
Failures Of The Current Testing Culture
In current testing culture, 63% of software development delays occur in Test-QA practices across the lifecycle, and 70% of testing is still manual. But this is no longer practical. You cannot just run tests manually, and there are additional problems to consider:
- 56% of critical dependencies are unavailable
- 50% of time is spent looking for test data
- 64% of defects occur in the requirements phase
Failures, especially those that reach the public, are damaging to data, to business processes, to customer adoption, retention, and brands. It is not possible to turn software around with both speed and quality using outdated waterfall or even Agile processes. Something more comprehensive, dynamic, and fluid is required to ensure software is developed and deployed with the quality built in and errors detected from the very start, rather than relying on assigning verification at the end of the lifecycle. This is why we need to embark on a continuous testing journey.
The characters in the novel, The Kitty Hawk Venture, face this challenge with the typical range of reactions, from sincere enthusiasm to reluctant acceptance to outright denial. They had to be shown where the current testing problems were, for example, that so many defects occur in the requirement phase, and they had to learn that this could – and must – change. They needed to be shaken out of a cultural complacency, and they had to be reminded that this wasn’t just change for the sake of it, but an evolution towards a better and essential method of building code for today’s marketplace.
This will likely be a conversation that will be happening in a great many meeting rooms over the next few months. Any IT managers who have to fly to head office to take part – or even communicate by video conference or phone, may want to think about what’s helping them to keep that appointment: a significant amount of well-built code.
Download “The Definitive Guide To Continuous Testing”
As a companion piece to “The Kitty Hawk Venture,” we’ve provided you with a “Definitive Guide to Continuous Testing” so you can learn the strategies, technologies and techniques that go into a successful Continuous Testing program. You can download the Definitive Guide here to help you take flight in your Continuous Testing journey.
FlightRadar compiles radar and transponder signals that generally track aircraft carrying more than 100 passengers, which excludes private jets and light aircraft – but there are exceptions. Details available at flightradar24.com/how-it-works.