SD Times recently published the following article by Tricentis Founder Wolfgang Platz:
“From the golden robots of Hephaestus, to Dr. Frankenstein’s monster, to Hal 9000, we’ve been fascinated by the idea of artificial intelligence (AI) for centuries. Creating artificial self-directing intelligence is the #2 dream of mankind—second only to being able to fly like a bird. However, while the Wright brothers were off the ground in 1903, AI hasn’t been ready to take off until very recently. AI requires data + computing power + algorithms. We’ve had the algorithms for a long time; now, big data and colossal computing power have brought us past the tipping point.
The feasibility of AI couldn’t come at a better time. Today, “Digital Disruption” is forcing enterprises to innovate at lightning speed. We need to dedicate resources to creating new sources of customer value while continuously increasing operational agility. Otherwise, we risk waking up one day to find out—like Nokia—that even though we did nothing “wrong,” we somehow lost.
Anyone responsible for producing software knows that the traditional ways of developing and delivering software aren’t adequate for meeting this new demand. Not long ago, most companies were releasing software annually, bi-annually, or quarterly. Now, iterations commonly last 2 weeks or less. While delivery cycle time is decreasing, the technical complexity required to deliver a positive user experience and maintain a competitive edge is increasing—as is the rate at which we need to introduce compelling innovations.[/vc_column_text][image_with_animation image_url=”35510″ alignment=”center” animation=”Fade In” border_radius=”none” box_shadow=”none” max_width=”100%”][divider line_type=”No Line” custom_height=”20″][vc_column_text]In terms of software testing, these competing forces create a gap. We’ve turned to Continuous Testing to bridge the gap that we’re facing today. But how do we test when, over time, these trends continue and the gap widens? We will inevitably need to go beyond Continuous Testing. We will need additional assistance to be able to deliver a positive user experience given such high delivery speeds and technical complexity.
We’ve already undergone quite a journey to arrive at Continuous Testing. “Classical” testing was designed for software delivery cycles that span months (or sometimes even a year). Agile has made 2-week development iterations the norm—but now even more is needed to meet today’s voracious demand for software. Attempts to further accelerate the process exposed a chasm between Development, Test, and Operations. That chasm needed to be bridged with DevOps and Continuous Testing in order to move beyond that acceleration plateau. Today, the vast majority of organizations are talking about Continuous Testing and trying to implement it.
Nevertheless, when we look into the future, it’s clear that even Continuous Testing will not be sufficient. We need help.[/vc_column_text][image_with_animation image_url=”35512″ alignment=”center” animation=”Fade In” border_radius=”none” box_shadow=”none” max_width=”100%”][divider line_type=”No Line” custom_height=”20″][vc_column_text]We need “Digital Testing” to achieve further acceleration and meet the quality needs of a future driven by IoT, robotics, and quantum computing. AI, imitating intelligent human behavior for machine learning and predictive analytics, can help us get there.
What is AI?
Before we look more closely at how AI can take software testing to the next level, let’s take a step back and review what AI really means.
Forrester defines AI as
“A system, built through coding, business rules, and increasingly self-learning capabilities, that is able to supplement human cognition and activities and interacts with humans natural, but also understands the environment, solves human problems, and performs human tasks.”
Another interesting definition is that AI is
“A field of study that gives computers the ability to learn without being explicitly programmed.”
One of the key points of AI is that you do not need to explicitly program algorithms. Algorithms are certainly used, but they’re not designed for an explicit solution of a distinct problem. The machines can learn, and they use data to do so.
Applying AI to Software Testing
To meet the challenges presented by accelerating delivery speed with increasing technical complexity, we need to follow a very simple imperative…”