Effective test case selection method is important, since it is helpful in scheduling test case groups in a specific order. This method can maximize objective functions of several tests, including maximum code coverage, maximum faults at an early stage, and less test case execution time. The vital part of maintenance is the software development cycle which help to satisfy the quality constraints is regression testing. Regression testing is more time-consuming with respect to executing all available test cases belonging to a specific test suite. This implies that the total cost is considerably increased. In this framework, a test case selects the minimum number of collections that belongs to the test suite, which is capable of identifying the most faults in the minimal time frame. Software testing consists of different forms of objective functions, namely, the detection rate of faults, which measures the time frame required to detect faults as the testing process progresses. When regression testing takes place, the enhanced rate of detecting faults can provide feedback quickly for debuggers so they can start work as soon as possible. The result is the need for a new approach to test algorithms for evaluating the methods which were not invoked. A large portion of research work is connected to the issues mentioned above but it is not possible to find a comprehensive solution for them. This research presents a new framework for the resolution of such problems. Two phases are included in the proposed work including selection of a crossover algorithm, generation of optimal test cases, and
testing return type nul functions and to invoke uninvoked methods through the use of NFA (Non-Deterministic Finite Automata). In the final section of the research, our proposed framework is depicted experimentally, which is efficient as well as effective in comparison with the other frameworks
Table of Contents
1. INTRODUCTION
1.1 MOTIVATION
1.1.1 What Is Software Testing and Why Is It Important?
1.1.2 The Need for Regression Testing
1.2 PROBLEM STATEMENT
1.3 RESEARCH CONTRIBUTIONS
1.4 SUMMARY
2. LITERATURE REVIEW
2.1 OVERVIEW
2.2 SOFTWARE REGRESSION TESTING
2.3 RESEARCH AIMS AND OBJECTIVES
2.4 LITERATURE SURVEY
2.5 TYPES OF TESTING
2.6 TEST CASES OR TEST SUITE OPTIMIZATION METHODS
2.7 CATEGORIZATION OF TEST SUITE / TEST CASE GENERATION METHODS
2.7.1 Random Generation
2.7.2 Symbolic Execution
2.7.3 Search-Based Generation
2.7.4 Model-Based Generation
2.7.5 Heuristic-Based Techniques.
2.8 SUMMARY
3. REGRESSION TESTING
3.1 SOFTWARE DEVELOPMENT PROCESS
3.2 STRATEGIES OF REGRESSION TESTING
3.3 CATEGORIES OF REGRESSION TESTING TECHNIQUES
3.3.1 Regression Test Selection
3.3.2 Regression Test Challenges
3.4 OVERVIEW OF REGRESSION TEST SOLUTION
3.4.1 Regression Test
3.4.2 Summary
3.5 TEST CASE SELECTION
3.5.1 Similarity-Based Selection
4. PROBLEM FORMULATION
4.1 OVERVIEW
4.2 OPTIMAL TEST CASE SELECTION PROBLEM
4.3 TEST SUITE MINIMIZATION PROBLEM
4.4 TEST OPTIMIZATION PROBLEM
4.5 TEST CASE PRIORITIZATION PROBLEM
5. TEST CASE SELECTION AND GENERATION
5.1 SELECTION OF TEST CASE
5.2 TEST CASE GENERATION
5.2.1 Genetic Algorithm
5.2.2 Generate Population
5.2.3 Selection Criteria
5.2.4 Mutation
5.2.4.1 Using Detection Matrix Minimizes the Test Cases
5.2.5 Selecting Relevant Test Cases
5.2.6 Removing the Irrelevant Test Cases
5.2.7 Fitness Value Calculation
5.3 TEST CASE PRIORITIZATION
5.3.1 Priority Selection Algorithm
5.3.2 Non-Prioritized Testing
5.3.2.1 Greedy Approach
5.4 TABU SEARCH ALGORITHM
5.4.1 Tabu Score Calculation
5.4.2 Tabu Lists: The Memory of the Algorithm
5.4.2.1 Long Term List
5.4.2.2 Short Term List
5.5 CROSSOVER APPROACH
5.5.1 Crossover Algorithm
5.6 OPTIMIZED TEST CASES
6. TEST SUITE OPTIMIZATION
6.1 (RTS)-REGRESSION TEST SELECTION
6.2 THE CODE COVERAGE AS APPROXIMATION OF ADEQUACY
6.2.1 Test Coverage Process
6.3 REDUCTION OF REGRESSION TEST SUITES
6.4 TEST SUITE OPTIMIZATION
6.5 THEORY OF AUTOMATA
6.5.1 Define Of Automata
6.5.2 Why Automata
6.5.3 Finite State Diagram
6.5.4 Regular Languages
6.5.5 Deterministic - Finite Automata
6.5.5.1 Why DFA-Deterministic (DFA)
6.5.5.2 DFA State Diagram
6.5.5.3 Disadvantage of DFA
6.5.6 (NDFA) Non-deterministic Finite Automata
6.5.6.1 Nondeterministic Computation
6.5.6.2 ε-Transitions in NFA
6.5.6.3 NFA Algorithm
6.5.6.4 NFA Advantage
6.6 FINITE AUTOMATA-BASED TESTING
6.6.1 DFA-Based Testing
6.6.2 NFA-Based Testing
7. RESULT AND DISCUSSION
7.1 FITNESS VALUE COMPARISON
7.2 EVALUATED TABU SCORE
7.3 REQUIREMENT CODE COVERAGE IN TEST CASES
7.4 COMPARISON OF NFA WITH ANOTHER FRAMEWORK
8. CONCLUSION AND FUTURE WORK
8.1 CONCLUSION
8.2 FUTURE WORK
Research Objectives and Themes
The primary research objective is to develop a novel methodology for efficient regression testing of modified software while maintaining code coverage and reducing execution time. By applying a non-deterministic approach and optimizing test suite selection, the research aims to address critical challenges in software maintenance.
- Regression test suite optimization and reduction techniques.
- Genetic algorithm-based prioritization of test cases.
- Application of non-deterministic finite automata (NFA) for testing un-invoked methods.
- Methodological framework for fault detection and code coverage analysis.
- Comparative performance analysis of deterministic and non-deterministic testing models.
Excerpt from the Book
1.1.1 What is Software Testing and Why it is Important?
Software testing is a difficult task and it contains a lot of challenges (Jan Peleska et al., 2013). The functions of software testing are assessing the software and validating to find whether the software caters to all the specified requirements. Software applications have become a key part of our daily lives . It has also become part of critical systems in the safety domain where a software failure could translate to life threatening implications. Hence the need for a disciplined software testing approach is strongly felt, and the scientific basis of the same must be justified.
The end user must be satisfied with the software product. Therefore, the convenient and user-friendly software must be deployed to attain the primary objective of a software enterprise. In this way, the user gets access to a software that is error-free and high quality in nature (Kevilienuo Kire et. al., 2014). Software testing has a significant role to play in terms of meeting the goals pertaining to user satisfaction, and hence, it is important to ensure that software testing is capable of performing in any scenario. Nevertheless, time and cost constraints invariably arise during the process of software testing.
Summary of Chapters
1. INTRODUCTION: Outlines the significance of software testing and the necessity for regression testing, defining the research problem and contributions.
2. LITERATURE REVIEW: Examines existing methodologies and studies regarding regression testing, test case prioritization, and automated generation techniques.
3. REGRESSION TESTING: Details the software development life cycle, testing levels, and common strategies and challenges involved in regression testing.
4. PROBLEM FORMULATION: Defines the mathematical and technical hurdles in test case selection, suite minimization, and prioritization.
5. TEST CASE SELECTION AND GENERATION: Provides a comprehensive view of the algorithms, including Genetic Algorithms and Tabu Search, used for test case optimization.
6. TEST SUITE OPTIMIZATION: Explores formal techniques, including Automata Theory, for optimizing regression test selection and adequacy.
7. RESULT AND DISCUSSION: Presents experimental findings and comparative analyses based on fitness values and code coverage metrics.
8. CONCLUSION AND FUTURE WORK: Summarizes the effectiveness of the proposed framework and provides insights for potential future enhancements.
Keywords
Regression Testing, Software Testing, Genetic Algorithms, Tabu Search, Finite Automata, NFA, Code Coverage, Test Suite Optimization, Test Case Prioritization, Fault Detection, Software Maintenance, Mutation Analysis, Java Reflection, Heuristic-Based Techniques
Frequently Asked Questions
What is the core focus of this research?
The research focuses on enhancing the efficiency of regression testing through a non-deterministic approach, aiming to maintain software quality during modifications while reducing cost and time.
What are the primary themes discussed?
Key themes include test suite optimization, automated test case generation, prioritization methods using genetic algorithms and tabu search, and the application of automata theory in software testing.
What is the ultimate goal of the proposed method?
The primary goal is to achieve maximal fault detection and code coverage within significantly minimized test suites and shorter execution time frames.
Which scientific methods are applied?
The study employs a hybrid approach, combining Genetic Algorithms, Tabu Search, and non-deterministic finite automata for test case classification and sequence optimization.
What topics are covered in the main body?
The main body covers a literature survey on testing strategies, formulation of the optimization problem, detailed algorithms for test generation/selection, and an evaluation of these methods using specific case studies like a banking application.
Which keywords define this work?
Essential keywords are Regression Testing, Genetic Algorithms, Tabu Search, Finite Automata, Code Coverage, and Test Case Prioritization.
How does Java Reflection assist in this study?
Java Reflection is utilized to introspect the banking application to dynamically extract methods and functions, which are treated as individual test cases for the testing process.
What is the significance of the "Detection Matrix" shown in the study?
The Detection Matrix is used to identify and eliminate redundant test cases by analyzing which mutants each test case is capable of detecting, thereby streamlining the overall test suite.
How is the performance of the NFA model measured?
The NFA model's performance is measured against deterministic approaches based on execution time and code coverage metrics, demonstrating its efficiency in complex system testing.
- Arbeit zitieren
- J. Albert Mayan (Autor:in), 2025, Code Coverage Test Case Prioritization for Regression Testing Using Non-Deterministic Approach, München, GRIN Verlag, https://www.grin.com/document/1559606