Neural Network Embeddings for Test Case Prioritization

12/18/2020
by   João Lousada, et al.
0

In modern software engineering, Continuous Integration (CI) has become an indispensable step towards systematically managing the life cycles of software development. Large companies struggle with keeping the pipeline updated and operational, in useful time, due to the large amount of changes and addition of features, that build on top of each other and have several developers, working on different platforms. Associated with such software changes, there is always a strong component of Testing. As teams and projects grow, exhaustive testing quickly becomes inhibitive, becoming adamant to select the most relevant test cases earlier, without compromising software quality. We have developed a new tool called Neural Network Embeeding for Test Case Prioritization (NNE-TCP) is a novel Machine-Learning (ML) framework that analyses which files were modified when there was a test status transition and learns relationships between these files and tests by mapping them into multidimensional vectors and grouping them by similarity. When new changes are made, tests that are more likely to be linked to the files modified are prioritized, reducing the resources needed to find newly introduced faults. Furthermore, NNE-TCP enables entity visualization in low-dimensional space, allowing for other manners of grouping files and tests by similarity and to reduce redundancies. By applying NNE-TCP, we show for the first time that the connection between modified files and tests is relevant and competitive relative to other traditional methods.

READ FULL TEXT
research
03/23/2022

Methods2Test: A dataset of focal methods mapped to test cases

Unit testing is an essential part of the software development process, w...
research
05/15/2015

How, What and Why to test an ontology

Ontology development relates to software development in that they both i...
research
10/11/2021

Graph-Based Machine Learning Improves Just-in-Time Defect Prediction

The increasing complexity of today's software requires the contribution ...
research
04/12/2022

Automated and manual testing as part of the research software development process of RCE

Research software is often developed by individual researchers or small ...
research
11/08/2021

Machine Learning-based Test Selection for Simulation-based Testing of Self-driving Cars Software

Abstract Simulation platforms facilitate the development of emerging cyb...
research
11/02/2020

Reframing the Test Pyramid for Digitally Transformed Organizations

The test pyramid is a conceptual model that describes how quality checks...
research
05/29/2022

Rapid Regression Detection in Software Deployments through Sequential Testing

The practice of continuous deployment has enabled companies to reduce ti...

Please sign up or login with your details

Forgot password? Click here to reset