Litcius/Paper detail

A novel methodology to classify test cases using natural language processing and imbalanced learning

Sahar Tahvili, Leo Hatvani, Enislay Ramentol, Rita Pimentel, Wasif Afzal, Francisco Herrera

2020Engineering Applications of Artificial Intelligence50 citationsDOIOpen Access PDF

Abstract

Detecting the dependency between integration test cases plays a vital role in the area of software test optimization. Classifying test cases into two main classes – dependent and independent – can be employed for several test optimization purposes such as parallel test execution, test automation, test case selection and prioritization, and test suite reduction. This task can be seen as an imbalanced classification problem due to the test cases’ distribution. Often the number of dependent and independent test cases is uneven, which is related to the testing level, testing environment and complexity of the system under test. In this study, we propose a novel methodology that consists of two main steps. Firstly, by using natural language processing we analyze the test cases’ specifications and turn them into a numeric vector. Secondly, by using the obtained data vectors, we classify each test case into a dependent or an independent class. We carry out a supervised learning approach using different methods for handling imbalanced datasets. The feasibility and possible generalization of the proposed methodology is evaluated in two industrial projects at Bombardier Transportation, Sweden, which indicates promising results.

Topics & Concepts

Computer scienceArtificial intelligenceTest (biology)Natural language processingMachine learningNatural languageBiologyPaleontologyImbalanced Data Classification TechniquesSoftware Engineering ResearchSoftware Testing and Debugging Techniques