Optimal Test Sequence Generation in State Based Testing Using Cuckoo Search
نویسندگان
چکیده
The present work describes a method for increasing software testing efficiency by identifying the optimal test sequences in the state machine diagram. The method employs a Meta-heuristic algorithm called Cuckoo Search to investigate best paths in the diagram. It tries to provide a technique for exhaustive coverage with minimal repetition which ensures all transitions coverage and all paths coverage at least once with minimal number of repetitions of states as well as transitions. The algorithm works by maximising an objective function which focuses on most error prone parts of the program so that critical portions can be tested first. State machine diagram is given as input, and Cuckoo Search is performed to generate a list of test sequences as output. DOI: 10.4018/jaec.2012070102 18 International Journal of Applied Evolutionary Computation, 3(3), 17-32, July-September 2012 Copyright © 2012, IGI Global. Copying or distributing in print or electronic forms without written permission of IGI Global is prohibited. Software testing is an investigation conducted to provide stakeholders with information about the quality of the product or service under test (Karner, 2006). It is an integral part of software quality assurance as it is concerned with finding faults in software. Usually, the objective of software testing is to find minimal set of test cases such that, as many faults as possible are uncovered. As mentioned previously, software testing is a very lengthy process and requires a significant amount of time (Alander, Mantere, & Turunen, 1998). Over the years many researchers have proposed (Mayers & Glenford, 2004; Edgar, 1989) different methods for software testing. With the increasing popularity of object oriented programming languages, the research in the field of object oriented software testing has been done increasingly. As the size of the commercial softwares is usually large, automated testing tools are required (Srivastava, Ray, & Raghurama, 2009). Although a lot of research has been done in the field of software testing, optimal test sequence generation in an automated way is still an area of concern for such testing tools. Empirical studies have shown that state based testing methods are more effective than random testing (Offutt et al., 2003). Also, the current research in software testing using Meta-heuristic techniques have shown more promising results than traditional techniques (Doungsa-ard et al., 2005; Li & Lam, 2004; Li, Zhang, & Liu, 2009; Rathore et al., 2011; Srivastava et al., 2010a, 2010b). In view of the findings the proposed approach is a meta-heuristic method based on state transition diagram of the software under test. A study (Gandomi, Yang, & Alavi, 2011) of various structural optimization problems indicate that cuckoo search algorithm fairs better than other algorithms. Therefore, the proposed approach employs Cuckoo Search algorithm to find the best sequences in a state diagram. In 2009 Xin-She Yang and Suash Deb developed an optimization algorithm named Cuckoo search (CS) (Yang & Deb, 2009), which was inspired by obligate brood parasitism of some Cuckoo species that lay their eggs in the nests of birds of other species. In addition Levy Flight (Leccardi, 2005) distribution is used to emulate the random walk characteristic of the Cuckoo bird. The algorithm uses an objective function which focuses on most error prone parts of the program so that critical portions can be tested first. The approach tries to provide a technique for exhaustive coverage with minimal repetition. This paper is structured as follows. Section 2 discusses the previous work in the field of software testing. Section 3 describes the Cuckoo Search algorithm and other techniques used in the proposed approach. Section 4 presents proposed approach for test sequence generation. Section 5 gives the experimental research by providing an example. Section 6 describes the analysis of the suggested approach for test sequence generation, and finally Section 7 concludes the paper.
منابع مشابه
Automated Test Data Generation Using Cuckoo Search and Tabu Search (CSTS) Algorithm
Software testing is a very important phase in the development of software. Testing includes the generation of test cases which, if done manually, is time consuming. To automate this process and generate optimal test cases, several meta-heuristic techniques have been developed. These approaches include genetic algorithm, cuckoo search, tabu search, intelligent water drop, etc. This paper present...
متن کاملA Cuckoo search algorithm (CSA) for Precedence Constrained Sequencing Problem (PCSP)
Precedence constrained sequencing problem (PCSP) is related to locate the optimal sequence with the shortest traveling time among all feasible sequences. In PCSP, precedence relations determine sequence of traveling between any two nodes. Various methods and algorithms for effectively solving the PCSP have been suggested. In this paper we propose a cuckoo search algorithm (CSA) for effectively ...
متن کاملA Cuckoo Search Based Pairwise Strategy for Combinatorial Testing Problem
Combinatorial Testing (CT) is a sampling technique to generate test cases with a focus on the behavior of interaction system's components with their collaborators. Given its effectiveness to reveal faults, pairwise testing has often been chosen to perform the required sampling of test cases. The main concern for pairwise testing is to obtain the most optimal test sets (i.e. pairwise dictates th...
متن کاملOptimal Scheduled Unit Commitment Considering Wind Uncertainty Using Cuckoo Search Algorithm
In this paper, a new method to review the role of wind units as an energy-producer in the scheduling problem of unit commitment is presented. Today, renewable energy sources due to lack of environmental pollution, absence of dependence on fossil fuels, and consequently a very low marginal cost, have been receiving considerable attention in power system. But these sources are associated with unc...
متن کاملTest sequence optimisation: an intelligent approach via cuckoo search
Exhaustive testing is never the appropriate approach in software testing as this violates the principle of cost effectiveness in software development as well as puts time and other resources at stake. This explains the need to optimise the process of software testing. The present paper gives an overview of cuckoo search algorithm and its role in software coverage optimisation. This paper propos...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید
ثبت ناماگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید
ورودعنوان ژورنال:
- IJAEC
دوره 3 شماره
صفحات -
تاریخ انتشار 2012