15,617 research outputs found
A Survey on Software Testing Techniques using Genetic Algorithm
The overall aim of the software industry is to ensure delivery of high
quality software to the end user. To ensure high quality software, it is
required to test software. Testing ensures that software meets user
specifications and requirements. However, the field of software testing has a
number of underlying issues like effective generation of test cases,
prioritisation of test cases etc which need to be tackled. These issues demand
on effort, time and cost of the testing. Different techniques and methodologies
have been proposed for taking care of these issues. Use of evolutionary
algorithms for automatic test generation has been an area of interest for many
researchers. Genetic Algorithm (GA) is one such form of evolutionary
algorithms. In this research paper, we present a survey of GA approach for
addressing the various issues encountered during software testing.Comment: 13 Page
Recommended from our members
Test data generation from UML state machine diagrams using GAs
Automatic test data generation helps testers to validate
software against user requirements more easily. Test
data can be generated from many sources; for example,
experience of testers, source program, or software
specification. Selecting a proper test data set is a
decision making task. Testers have to decide what test
data that they should use, and a heuristic technique is
needed to solve this problem automatically. In this
paper, we propose a framework for generating test data
from software specifications. The selected specification
is Unified Modeling Language (UML) state machine
diagram. UML state machine diagram describes a
system in term of state which can be changed when
there is an action occurring in the system. The
generated test data is a sequence of these actions.
These sequences of action help testers to know how they
should test the system. The quality of generated test
data is measured by the number of transitions which is
fired using the test data. The more transitions test data
can fire, the better quality of test data is. The number of
coverage transitions is also used as a feedback for a
heuristic search for a better test set. Genetic algorithms
(GAs) are selected for searching the best test data. Our
experimental results show that the proposed GA-based
approach can work well for generating test data for
some types of UML state machine diagrams
A test case generation framework based on UML statechart diagram
Early software fault detection offers more flexibility to correct errors in the early
development stages. Unfortunately, existing studies in this domain are not sufficiently comprehensive in describing the major processes of the automated test case generation. Furthermore, the algorithms used for test case generation are not provided or well described. Current studies also hardly address loops and parallel paths issues, and achieved low coverage criteria. Therefore, this study proposes a test
case generation framework that generates minimized and prioritized test cases from
UML statechart diagram with higher coverage criteria. This study, conducted a review of the previous research to identify the issues and gaps related to test case generation, model-based testing, and coverage criteria. The proposed framework was designed from the gathered information based on the reviews and consists of eight components that represent a comprehensive test case generation processes. They are relation table, relation graph, consistency checking, test path minimization, test path prioritization, path pruning, test path generation, and test case generation. In addition, a prototype to implement the framework was developed. The evaluation of the framework was conducted in three phases: prototyping, comparison with previous studies, and expert review. The results reveal that the most suitable coverage criteria for UML statechart diagram are all-states coverage, all-transitions coverage, alltransition-pairs coverage, and all-loop-free-paths coverage. Furthermore, this study achieves higher coverage criteria in all coverage criteria, except for all-state coverage, when compared with the previous studies. The results of the experts’ review show
that the framework is practical, easy to implement due to it is suitability to generate
the test cases. The proposed algorithms provide correct results, and the prototype is able to generate test case effectively. Generally, the proposed system is well accepted by experts owing to its usefulness, usability, and accuracy. This study contributes to both theory and practice by providing an early alternative test case generation framework that achieves high coverage and can effectively generate test cases from UML statechart diagrams. This research adds new knowledge to the software testing field, especially for testing processes in the model-based techniques, testing activity,
and testing tool support
Target-based test path prioritization for UML activity diagram using weight assignment methods
The benefit of exploratory testing and ad hoc testing by tester’s experience is that crucial bugs are found quickly. Regression testing and test case prioritization are important processes of software testing when software functions have been changed. We propose a test path prioritization method to generate a sequence of test paths that would match the testers’ interests and focuses on the target area of interest or on the changed area. We generate test paths form the activity diagrams and survey the test path prioritization from testers. We define node and edge weight to the symbols of activity diagrams by applying Time management, Pareto, Buffett, Binary, and Bipolar method. Then we propose a test path score equation to prioritize test paths. We also propose evaluation methods i.e., the difference and the similarity of test path prioritization to testers’ interests. Our proposed method had the least average of the difference and the most average of the similarity compare with the tester’s prioritization of test paths. The Bipolar method was the most suitable for assigning weights to match test path rank by the tester. Our proposed method also has given the affected path by changing area higher priority than the other test path
- …