D E V M A T E

Loading

Artificial Intelligence is an upcoming trend in software engineering, and software testing in particular.
In this article, I summarise recent developments on research in this area.

The role of unit testing in AI for software engineering

Applications of Artificial Intelligence (AI) techniques for challenges of unit testing are gaining traction in the scientific community. Big research institutes are starting to work on this area. Besides survey on potential applications of AI techniques to software testing in 2019 (“Machine Learning Applied to Software Testing: A Systematic Mapping Study” and
AI for Testing Today and Tomorrow: Industry Perspectives), a recent (2021) book on AI for software testing dedicates 4 of its chapters (chapters 9-12) to unit testing (“Artificial Intelligence Methods for Software Engineering”), and a recent (2021) paper on artificial intelligence along the software engineering process also shows many opportunities for the area of software testing (“A Survey on Supporting the Software Engineering Process Using Artificial Intelligence”).
 

Available data

The success of AI models is moslty dependent on the data that can be used to train it. Recently, there has been some effort to obtain such data by crawling and annotating publicly available github repositories and make the crawling results available to the common public. The biggest effort in doing so was performed by the CrossMiner project funded by the European Union crossminer.org. For more abstract representations of “Mining Software Engineering Data from GitHub” These data collections can pave the way to training AI algorithms that can be used out of the box for new software projects, minimizing the configuration effort (and thus knowledge requried to use the algorithms). With an increased availability of data, the effort to find new solutions also becomes easier, making it possible for researchers to create AI algorithms that tackle a wide range of challenges effectively. By relying on the same set of data, these algorithms also become comparable, making it easy to decide which solution performs better for a particular problem, even if individual algorithms are developed by

different researchers.

Prioritizing Test Cases

One promising area of software testing in which AI-based techniques (more specifically,
meta-heuristic algorithms such as genetic search) have shown promising results
is the priorization of test cases “On the use of evolutionary algorithms for test case prioritization in regression testing considering requirements dependencies”.
Using so-called meta-heuristic 
search algorithms, the best combination of test cases can be found for a particular software under test, by trading off different conflicting goals such as minimizing execution time of tests, or maximizing code coverage and mutation scores.
What do you thinkg of these trends? What do you think of AI for unit testing in general? Let me know in the comments section below!

Leave a Comment

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

We use cookies to give you the best online experience. By agreeing you accept the use of cookies in accordance with our cookie policy.

Privacy Settings saved!
Privacy Settings

When you visit any web site, it may store or retrieve information on your browser, mostly in the form of cookies. Control your personal Cookie Services here.

GetResponse, Google Analytics

We use Google Analytics for marketing purposes. You can disable these cookies.
  • __utmz
  • __utma
  • _ga
  • _gat

We use GetResponse for marketing purposes. This service cannot be disabled, otherwise the website functions will be limited.

Decline all Services
Accept all Services
Get Free Access Now to
9 eBooks!
All about Automated Software Testing
Proven experts
Learn to save up to 75% of your test efforts
Get Free Access Now!
Get Access Now! & Save 50%
Personal Trainer FREE Nutrition Custom Workout App
Get Access Now!
eBook Download
Enter your details to get your free ebook!
All about Automated Software Testing
Download Free Ebook
SUBSCRIBE
MY WEB
NEWSLETTERS
Lorem ipsum dolor sit amet, consectetur adipiscing