IOSR Journal of Computer Engineering (IOSR-JCE) e-ISSN: 2278-0661,p-ISSN: 2278-8727, Volume 18, Issue 1, Ver. IV (Jan – Feb. 2016), PP 78-83 www.iosrjournals.org DOI: 10.9790/0661-18147883 www.iosrjournals.org 78 | Page Test Cases Prioritization For Event –Driven Software By Using Genetic Algorithm D. Vivekananda Reddy, Dr. A. Rama Mohan Reddy Assistant Professor, Department of Computer Science and Engineering, S V University College of Engineering, Tirupati, Andhra Pradesh Professor, Department of Computer Science and Engineering, S V University College of Engineering, Tirupati, Andhra Pradesh, Abstract: Event-Driven software (EDS) is being used very frequently in this interconnected world of ubiquitous computing. Two mostly used classes are the GUI stand alone applications and Web applications. Testing of these two applications take significant amount of time because testing is composed of large number of test cases. Due to their user –centric nature, GUI and Web systems routinely undergo changes as part of their maintenance process. New versions of the applications are often created as a result of bug fixes or requirements modification. In such situations, a large number of test cases may be available from testing previous versions of the application which are often reused to test the new version of application. Moreover an event is to be tested in each and every state thus requiring large number of test cases. Substantially there is lack of single generic model and a ranking algorithm that efficiently orders the tests for execution which works for both applications. Now the motivation is to come up with a generic testing model for both applications, a shared prioritization function based on the abstract model that uses a genetic algorithm, and shared prioritization criteria that effectively reduces the testing time and cost. Ultimate goal is to generalize the model and use it to develop a unified theory how all EDS should be tested. Keywords: Event-Driven software, Test cases, prioritization criteria, Genetic algorithm. I. Introduction Software testing can be stated as the process of validating and verifying the software program or application or product. Web and Event-driven applications (EDS) is a class of applications that is quickly becoming ubiquitous. In Event Driven Software [1] the number of input events leads to large number of states and require large number of test cases. So, common testing strategies for both Graphical User Interface (GUI) and web applications because both have similarities if combined into single abstract model, conventional testing strategies do not apply in some cases. The results of the study will be promising as many of the prioritization criteria[6] that used helps in improving the rate of fault detection and reduce the testing time during regression testing. The tests applied in the study are for the web applications come from real user-sessions, where as GUI test cases were automatically generated without influence from users and are user friendly in nature. Both are particularly challenging to test because users can invoke many different sequences of event that affect application behaviour. Since real time event driven software are significantly large as modifications are done as new versions are released re testing all test cases every time consumes more time , in such situations we can go for test cases prioritization techniques[10] which involve scheduling over test cases in an order such that more beneficial test cases are run faster to increase effectiveness of testing .Hence here we propose a novel model to rank the test cases and to obtain optimal execution order based on their prioritization by using a genetic algorithm. As the genetic algorithms can handle huge search spaces randomly and research results proved test cases prioritization using genetic algorithm is satisfactory, it is being extended for working on Event Driven Software also to minimize the testing time. In this paper we confine ourselves to testing of two major classes GUIs and Web applications. Event Driven software is becoming global and pervasive computing applications[15] (from Desktop-GUI chatting to video conferencing-web App). These are software‟s that change state based on incoming Events. An Event is a software message indicating that something has happened, such as a Key press or mouse click. An event is an action which is initiated outside the scope of the program but is handled by code snippets inside the program. Events are handled by Event handlers which are in synch with the program flow. Examples of Events are User pressing a key on the keyboard, selections through mouse etc. Another source is a hardware device such as a timer. Both are particularly challenging to test because users can invoke many different sequences of events that affect application behaviour. Despite the above similarities of GUI and Web applications, all the efforts to address their common testing problems have been made separately due to two reasons.