fotis fotopoulos DuHKoV44prg unsplash

AI is transforming various facets of technology, with none outside its purview. Testing is one such area in which AI is set to do wonders and organisations must move in tandem with the changes that AI is slowly bringing to stay competitive. Application crash or malfunctioning can not only destroy the application’s reputation, but it can irreparably damage the brand.

“Testing constitutes about 25-40% cost of overall software development”

Testing is thus, of cardinal importance for two reasons;

  • the significant cost and time involved in testing
  • damage a faulty software can cause

According to the Cambridge University study, Testing comprises 25-40% of the entire developmental expenses, and the total spending on testing exceeded USD 300 bn in 2017. The numbers unequivocally undermine the importance of testing.

Pitfalls in current software testing

Thanks to agile, delivery cycles have shrunk from annual releases to less than a fortnight. The time crunch is considerable, while the corresponding complexity is progressing, thus, making innovation-driven software development highly challenging.

“20-30% redundancies are found in test suits”

Robotics, IoT, 3D printing, machine and deep learning, cloud computing and other demanding technologies are exerting enormous pressure on software cycles, and one way to bridge the gap is via faster and better testing. AI presents a promising frontier which can salvage the situation.

According to various studies, the huge inventory of redundant and time consuming test cases pose a significant problem. Redundancy is not merely lack of value addition; it also has detrimental effects like pesticide paradox; hence, its elimination is of high value. Automation of test data generation is the most desirable alternative which can reduce cost significantly.

Capegimini’s World Quality Report 2018-19, recommends a phased increase in the level of smart test automation. It also espouses the development of a testing approach for AI solutions.

Changing face of software testing with AI

AI in software testing is at a nascent stage; some aspect of AI in testing is possible today, some in the near and distant future. One can visualise the desired destination of AI in testing as:

“Creation of a single test automation engine which will work across all technologies, device and platform; one stop solution for all testing needs.”

Objective of AI in software testing:

  • make testing cycle easier
  • rapidly execute mundane tasks
  • efficient and effective decision-making.

The ignorance of the exact tests to be run makes testers run many, and that adds to additional cost & time. Based on recent changes and present test status, AI can decide which tests to run. Here Deep Learning benefits as with time, AI gets better at its job. 

AI applications in testing, today and in the near future

Of the various parts of software testing, the following components can be done automatically via AI.

Defect diagnosis

The failure of a test triggers off a quest for the source of error. AI  can quickly diagnose it and save valuable time and human effort.

False-positive detection
Machine Learning-based neural network can identify false positive and can continually fine-tune the system to prevent further such events.

IssueTest case Defects Occurrence (%)Damage if released
False PositiveFailsNo98Low
False NegativePassesYes2High

Optimal risk mitigation
Limited time and resources mandate prioritising of testing tasks. AI helps optimise them according to the risk impact and time consumption, by prioritising testing order, thus saving the company from the extra cast.

Elimination of test case redundancy
When two test cases are both physically as well as logically similar, they don’t add any value, but will consume additional resources and time without output. On average, with a 4.2% margin of error, around 95% of test suites have about 25-30% redundancy.

Portfolio inspection
Artificial Intelligence analyses various test cases to identify weak spots. This has been in use for some time now and has proved very beneficial.

Optimising the test strategy (near future)
Keeping track of features’ usage frequencies might give firms (at least) a hint to what might be relevant to test, what to automate, and even what to build. The main challenge here is mapping these measurements to your test cases and requirements, as well as automatically updating these links to avoid time-consuming manual re-configuration. Here AI will prove handy in the future.

AI Advantage in testing

The following points summarize the AI core benefits.

Greater accuracy:
The dirty task of running countless iterations and recording observation, generates human errors, while error-free automated testing shines at such tasks. 

Pre-testing checks:
Developers can use automated tests to identify errors and make corrections before the software goes to QA. AI is thus, of help at both the ends of the development process. 

Augmenting software quality:
AI offers the advantage of running 100s of diverse tests during each run, which is not feasible with manual testing. AI, thus, can improve the quality of software by increasing the span and scope of the tests.

Shorter development cycles:
Automated tests reduce the testing time from days to a few hours, thus translating into faster software delivery as well as cost savings.

Deploy AI for competitive advantage:

AI in software testing is the start of what will inevitably snowball into AI in software development. It is essential for firms, small or big alike, to at least develop a testing approach that can pave the way for the eventual deployment of AI in software testing.While the actual implementation of AI on a large scale is still far off, organisations can surely capitalise on the recent trend of leveraging TASS (Testing-as-a-Service). If your organisation is troubled by testing issues, you can subscribe to our TAAS vertical and gain a competitive advantage with our fast, cost-efficient and advanced testing capabilities.

Techment.com