Predictions 2020: Observability and the future of testing
Although agile efforts are commonplace, many development teams are falling short in their efforts. In 2019, many teams are just beginning to learn how to test. But in 2020, they need to shift focus and start testing in order to learn. Observability will become a priority in the future of DevOps and agile development and will enable a more rapid and efficient cycle.
It’s well known that organizations of all shapes and sizes are investing in DevOps-driven, agile development methodologies in the hopes of driving faster release cycles and delivering higher-quality software to their customers. What might not be so well known is that many of those efforts are falling short. Despite the collective investment organizations have made in DevOps and agility, software release velocity has actually started to stall out in recent years, and lack of observability might be the hidden reason why.
Though it’s now a mainstream practice, agile development is still a relatively nascent concept compared to other areas of enterprise IT. Consider the historical trajectories of more mature areas such as data security and data protection. For years, the focus was on execution: make sure the firewall works; make sure the servers are backed up, etc. But as implementations matured, organizations shifted their focus beyond mere execution and began prioritizing observability—that is, the ability to see, in real-time, what’s happening, where the potential risks lie, and how to mitigate those risks proactively.
Just as observability is now a built-in part of modern data security and data protection strategies, so too will it become inherent for development teams. And nowhere is the need more pronounced than testing. A testing strategy that revolves around simply executing and then reacting doesn’t provide the speed development teams need in the digital age, and the gap will only grow more pronounced over time.
From learning to test to testing to learn
Most organizations today are still learning to test. They’re learning to how to replace manual testing with automated testing, and then deliver that automation at scale. They’re learning how to better take advantage of open-source frameworks such as Selenium and Appium. They’re learning how to shift-left and start testing early in the development cycle, and how to augment cross-browser testing with unit tests. I’ve been in the testing industry for more than two decades, and by and large, the bulk of that time has been spent, in some form or fashion, helping organizations learn to test.
As important as it is for organizations to invest the time necessary to learn and adapt testing best practices, as agile development evolves, it’s imperative that they eventually shift from learning to test to testing to learn. To do that, we need more observability.
Today, we don’t do much observing at all. Instead, we author our scripts and build our test suites, and then we trouble-shoot those tests if (when) they prove flaky or brittle. We execute, then we react. As a result, we neither drive faster release cycles nor spend enough time learning what’s actually going on with our applications. We don’t observe. Ultimately, that should be the reason you test: to understand how your applications behave and how that behavior will impact your customers, then adjust in real-time as needed.
As an industry, it’s clear we need to shift focus. That’s why testing in 2020 will be largely defined by the rise observability. Observability and the insights that come from it are central to our collective ability to transition from learning to test to testing to learn. Observability itself can and will be delivered in many forms. More seamless integration between front-end functional, performance and visual testing to deliver a more comprehensive view of the application experience. More robust use of analytics to deliver real-time test insights into the state of the application both pre- and post-production. More use of AI and machine learning to enable testers to proactively highlight (and eventually even anticipate) potential problem areas within the application workflow.
However it manifests itself from a platform capability standpoint, observability will enable development teams to drive a more rapid and efficient release-monitor-repair cycle, one in which fewer bugs make it to production, and those that do are remedied almost immediately. Observability is the future of testing, and I expect we’ll observe plenty of it in 2020.