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.
Highlights
Software testing is an important and effort-intensive activity in the software development life cycle (SDLC), and test optimization plays a vital role in the testing domain
We provide some background information about natural language processing (NLP) and the utilized method in this paper, Doc2Vec
Approach can be summarized as 1 - improving the obtained results from the clustering approach in Tahvili et al (2019), 2- employing the ground truth for labeling data, and thereby applying a supervised learning approach, and 3- applying a different methodology for classifying test cases into dependent and independent
Summary
Software testing is an important and effort-intensive activity in the software development life cycle (SDLC), and test optimization plays a vital role in the testing domain. The manual testing process is still a popular approach especially in the safety critical systems, where assurance arguments depend on human judgment (Chechik et al, 2019). We aim to split manual integration test cases into two main classes: dependent and independent. (I) The first step is to obtain a numeric dataset format In this regard, we use neural networks model that turns the manual descriptions of the test cases into numeric vectors of descriptive features. In many cases, the number of dependent and independent test cases is unevenly distributed, which means that we are facing a class imbalance problem. A different variety of solutions for class imbalance problems have been proposed in recent years They can be divided into four main groups: data level, design of specific classification algorithms, cost sensible and ensembles.
Published Version (Free)
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have
More From: Engineering Applications of Artificial Intelligence
Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.