Automatic Test Sequence Generation for State Transition Testing via Ant Colony Optimization

Automatic Test Sequence Generation for State Transition Testing via Ant Colony Optimization

Praveen Ranjan Srivastava (Birla Institute of Technology and Science (BITS), India) and Baby (Birla Institute of Technology and Science (BITS), India)
DOI: 10.4018/978-1-61520-809-8.ch009
OnDemand PDF Download:


Software testing is a key part of software development life cycle. Due to time, cost and other circumstances, exhaustive testing is not feasible, that’s why there is need to automate the testing process. Generation of the automated and effective test suit is a very difficult task in the software testing process. Effective test suite can decrease the overall cost of testing as well as increase the probability of finding defects in software systems. Testing effectiveness can be achieved by the State Transition Testing which is commonly used in, real time, embedded and web-based kind of software system. State transition testing focuses upon the testing of transitions from one state of an object to other states. The tester’s main job is to test all the possible transitions in the system. This chapter proposed an Ant Colony Optimization technique for automated and fully coverage state-transitions in the system. Through proposed algorithm all the transitions are easily traversed at least once in the test-sequence.
Chapter Preview


Software development markets are highly competitive; therefore it is a critical task to provide the quality software product to the customer within the limited time period. Software testing is the key by using which tester/organization can gain the confidence of the customer. A primary purpose of testing is to detect software errors so that defects may be discovered and corrected (Aditya p Mathur, 2007). Due to the time and cost it is not possible to test the software manually and fix the defects (Somerville Ian, 2008). Thus the use of test automation plays very important role in the software testing proces (Pressman, 2005). Nowadays Artificial Intelligence (AI) methodologies are changing the nature of test automation process (Phil McMinn, 2004). Academicians and researchers are using AI approach in the area of software testing for better accuracy. The application of AI techniques in Software Engineering (SE) is an emerging area of research (Briand, L. C, 2002, and Pedrycz, W., &Peters, J. F, 1998). In AI approach, researchers are using Ant Colony Optimization (ACO), Genetic Algorithm (GA), Tabu search (TB) techniques etc (Phil McMinn, 2004, Mark Harman 2007). These terminologies are known as metaheuristic approach(Praveen Ranjan Srivastava,2008) and these approaches are being used in various processes of the software testing like test sequence generation, automation of testing etc. (Huaizhong LI and C. Peng LAM, 2005, & Mark Harman, 2007).

The quality of test data that we evaluate is based on the number of coverage for behavior of any software. The coverage of test data can be defined by many criteria. Testing of states is not sufficient (Offutt and Abdurazik, 1999 & Sabri A. Mahmoud, 2005), particularly for those systems which have large number of states (mainly real time system). Minimum acceptable strategy of software testing process for real time system is all-states, all-events, all-actions and all-transitions exercised at least once in the test suite (Offutt and Abdurazik, 1999 & Sabri A. Mahmoud, 2005, and Aditya P Mathur 2007). Literature survey reveals that under state transition testing process, tester focus upon the states, actions, events and transitions rather than states only (Sabri A. Mahmoud, 2005). UML State-transition diagrams are good tool to represent the state of the software under test (OMG, 2003). This chapter purposes an algorithm which uses an ACO optimization technique to generate the automatic state –transition test sequence, which is a strong level of software coverage.

Complete Chapter List

Search this Book: