Artificial Intelligence (AI) is global hot topic right now, and features in the news headlines pretty much on a daily basis. A lot of negativity surrounds the use of AI in certain fields, and a lot of questions will need to be answered before it becomes widely adopted. AI has also now crept into the world of software testing, and is generating a lot of interest into how it can be used to increase the efficiency and effectiveness of software testing in general.
An overview of AI
Artificial Intelligence can be considered to be the science and engineering of making intelligent software and machines. The goal of artificial intelligence includes mimicking human cognitive activities. As technology advances, what was once considered to be artificial intelligence gets outdated. An example of this is Optical Character Recognition(OCR), which is now taken for granted as just a regular software function. Today, many people are exploring the possible applications of the current iterations of AI, and the field of software testing is no exception.
The impact of AI on human testers
Software testing entered a new phase a couple of decades ago. That was when automated testing came in and the thought was, this new concept would eventually replace manual testing altogether. Twenty years or so after the arrival of test automation, global figures show that companies on average have automated no more than 50% of their testing. Not only manual testers, but also automated testers has expressed concerns over what impact AI will have over the future of humans in the field of software testing.
Where AI is at right now
In relation to software testing, AI is still in its infancy. Little or no AI is used in the day-to-day tasks of a manual tester. However, there are some tools that state they use AI to compare images from designs to what was implemented, but whether this qualifies for correct usage of the term AI, is up for debate.
For test automation, AI functionality is becoming increasingly prevalent in test automation tools. These AI features include AI assitance in generating test cases, which can make the process more efficient. In addition, there are tools that use AI to self-heal test cases when the UI has changed, which again reduces the need for human intervention. Declarative testing is an activity where a tester uses a natural language to design test cases. AI is now being harnessed to convert these test designs into real executable test cases.
The future of Software Testing and AI
While AI is indeed being used in-and-around the field of software testing, many consider the term AI is being misused for marketing purposes. While in some cases this may be true, we can definitely see software testing tools becoming “smarter”. These tools today if used appropriately can make certain manual and automated tasks more efficient.
AI is here, although still in its infancy, and it is already slowly making an impact on how testing is performed today and how it will be carried out in the future. It will be fascinating to see where AI takes us, and in five years from now how we look back and consider if today’s software testing tools are considered to be “real AI”.