SlideShare a Scribd company logo
1 of 6
Download to read offline
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.
Test Cases Prioritization For Event –Driven Software By Using Genetic Algorithm
DOI: 10.9790/0661-18147883 www.iosrjournals.org 79 | Page
 First is the lack of a Generic model that captures the event driven nature of the application which has
prevented the development of a shared testing technique that can test any class of EDS.
 Second is the unavailability of subject application (Web & GUI Together) and tool for researches till date.
In this paper, we focus on the first challenge, i.e., we develop a single abstract model for GUI and Web
application testing by using a genetic algorithm. To provide focus, we restrict the model to extend the work on
test prioritization techniques for GUI and Web testing. This allows us to tailor our model to prioritization –
specific issues as well as to recast our prioritization criteria in a form that is general enough to leverage the
single model. Moreover the available testing tools suffer from several drawbacks. They perform confined
testing. Popular combined testing tools offer services like hyperlink testing[11],hyper link ambiguity testing and
delay testing- while for GUI they offer services like Event Listener testing[4], Event Listener Ambiguity and
delay checking. They are incomplete. FSM testing[11] process cannot provide efficient results to large Web-
applications. MBT[3] cannot ease the user since it requires user intervention. We propose a single combined
tool that checks the correctness of both GUI & Web-application. We check the correctness by deriving test
cases. Test cases are then assigned value based on which they are prioritized. Here, we use a genetic algorithm
based evolutionary technique in which, instead of evolving each test case individually, we evolve all the test
cases in a test suite at the same time, and the fitness function considers all the testing goals simultaneously. The
technique starts with an initial population of randomly generated test suites, and then uses a Genetic Algorithm
to optimize toward satisfying a chosen coverage criterion, while using the test suite size as a secondary
objective. At the end, the best resulting test suite is minimized. With such an approach, most of the
complications and downsides of the one target at a time approach either disappear or become significantly
reduced.
II. System Architecture
Genetic Algorithms (GAs) qualify as Meta heuristic search technique and attempt to imitate the
mechanisms of natural adaptation in computer systems. A population of chromosomes is evolved using
genetics-inspired operations, where each chromosome represents a possible problem solution. The GA
employed in this paper starts with a random population, evolution is performed until a solution is found that
fulfils the coverage criterion, or the allocated resources (e.g., time, number of fitness evaluations) have been
used up. In each iteration of the evolution, a new generation is created and initialized with the best individuals of
the last generation (elitism). Then, the new generation is filled up with individuals produced by rank selection
crossover and mutation. Either the offspring or the parents are added to the new generation, depending on fitness
and length constraints
2.1 Cross Over
The crossover generates two offspring, O1 and O2, from two parent test suites, P1 and P2. A random
value _ is chosen from ½0; 1_. On one hand, the first offspring O1 will contain the first _jP1j test cases from the
first parent, followed by the last ð1 _ _ÞjP2j test cases from the second parent. On the other hand, the second
offspring O2 will contain the first _jP2j test cases from the second parent, followed by the last ð1 _ _ÞjP1j test
cases from the first parent. Because the test cases are independent among them, this crossover operator always
yields valid offspring test suites. Furthermore, it is easy to see that it decreases the difference in the number of
test cases between the test suites, i.e., absðjO1j _ jO2jÞ _ absðjP1j _ jP2jÞ. No offspring will have more test
cases than the largest of its parents. However, it is possible that the total sum of the length of test cases in an
offspring could increase.
2.2. Test cases
Random test cases are needed to initialize the first generation of the GA, and when mutating test suites.
Sampling a test case at random means that each possible test case in the search space has a nonzero probability
of being sampled, and these probabilities are independent. In other words, the probability of sampling a specific
test case is constant and it does not depend on the test cases sampled so far. When a test case representation is
complex and it is of variable length it is often not possible to sample test cases with uniform distribution (i.e.,
each test case having the same probability of being sampled). Even when it would be possible to use a uniform
distribution, it would be unwise For example, given a maximum length L, if each test case was sampled with
uniform probability, then sampling a short sequence would be extremely unlikely. This is because there are
many more test cases with long length compared to the ones of short length.
Test Cases Prioritization For Event –Driven Software By Using Genetic Algorithm
DOI: 10.9790/0661-18147883 www.iosrjournals.org 80 | Page
Fig1: flowchart
Some of the current techniques[12] used for testing Event Driven Software are as follow
 Finite State Machine Testing
 Model based Testing.
 User Session based Testing
 Event Flow Testing.
III. Design And Implementation
Test cases are given as input to the system. Approximately 1000 test cases are collected from various
web applications. Successful test cases provide you with your desired output and a failure test case doesn‟t yield
the desired output and displays an error message. With the obtained generic model both GUI & Web-application
can be modelled in the normal flow of execution prioritization criteria‟s are not considered. The system takes in
input as a test case/ Test suite with a customer assigned value. The test case executor executes those test cases
and assigns fitness value “#” which is pushed into training database. The normal flow is shown as 1,2,3,5. When
2 or more test cases have similar fitness value then we opt prioritization criteria‟s. The exceptional flows where
prioritization criteria‟s are considered to prioritize test cases are 1, 2, 3, 4, and 5. The test GUI tool takes input
as a simple java program. It automatically creates test cases to methods available in it. Those test cases are
generally used to write the logic in it. These test cases are prioritized by setting a threshold and having a limit. If
a particular test case is tested beyond the limit and threshold values then the test case is omitted from testing its
functionality. Therefore time is saved. We obtain the prioritizing majorly by three approaches.
 Customer assigned priority
 Time based Prioritization
 Coverage based Prioritization
 Customer assigned priority
Each test case is initially assigned a priority say '5' and are recorded in the database. The whole test suite
is set with a “Threshold” and a “limit”. If a tested test case reappears then its priority is decreased by „2‟, then it
is tested and are again stored with its decreased prioritization value say 3. A Test case is tested only if its
prioritization value is > 3. If a test case has a prioritization value < 3 then it means it is been subjected to
functionality testing 8 times and has recorded positive. So it is exempted from testing which reduces testing time
and effort.
Test Cases Prioritization For Event –Driven Software By Using Genetic Algorithm
DOI: 10.9790/0661-18147883 www.iosrjournals.org 81 | Page
 Time based Prioritization
This approach is implemented for GUI testing. The tool creates automatic test cases for all the methods
available. The tool displays the time taken by a method i.e. test case by calculating average time taken for its
execution. Average time= (End time - Start time). Once the average time for test cases are obtained then time
based prioritization can be achieved by sorting test cases based on their execution time.
 Coverage based Prioritization
This approach is implemented for Web-application testing. When a test case is tested for its functionality
and when it reaches its limit they are skipped from testing through which code coverage based prioritization is
achieved. This approach is used for prioritizing a test case based on its code coverage which is nothing but
Coverage based Prioritization.
The testing tool has 2 consoles each for testing Web & GUI. The Web testing consoles loads test cases
and checks the correctness of the application. It displays success to positive test cases and failure to negative test
cases.
 Fault based prioritization
When tester detects anomalies and manually checks the test cases for errors. While doing so a priority
is given to the test cases by which test cases achieve customer based prioritization by using a fault detection
algorithm. The test cases that identify the anomalies that affect functionality crucially are considered to be top
priority. Finally when the anomalies are rectified they report success. The implementation of testing EDS
through a single model is accomplished via the following Modules.
 Test plan selector
 Test case Executor
 Training Database
 Prioritization Criteria
3.1 Test plan selector
The module is used to have an insight into the type of application considered for modelling. Since both
GUI & Web are considered for modelling Test plan Selector module categorizes the selected application as GUI
or Web-application.
3.2 Test case Executor
This module is used for executing the test cases of the selected application. Once the selector selects
the category of the application loaded for testing, the Executor executes the test cases of the loaded application.
3.3 Training Database
These are used for storing the dumps carrying fitness value. Each test case is checked for its
correctness and is rated by a fitness value. Those values along with the test case are stored in Training database.
3.4 Prioritization Criteria
Only when one or more test cases in the training database have same fitness value and in retesting of an
application this module come into picture. This module takes test cases as inputs that have similar fitness values
and processes it by considering various prioritization criteria[9][10] like Fault, Time, and Code coverage.
For implementing prioritization we use a fault detection algorithm, next best test case, and a genetic
algorithm that is incorporated in next best test case algorithm.
Pseudo code: Input Parameters:
TS: Test suite for prioritization.
f: For prioritizing a Test Case.
F: For prioritizing a Test Suite.
#: A “fitness” value on Test Case.
Output:
$: Sorted Suite.
Test Cases Prioritization For Event –Driven Software By Using Genetic Algorithm
DOI: 10.9790/0661-18147883 www.iosrjournals.org 82 | Page
IV. Experimental Results
V. Advantages Of Proposed System
 A generic model that is common to both GUI and Web applications is proposed. Proposed algorithm takes
in test cases as input and checks its correctness and produces output accordingly.
 Testing all such subject application is possible using a single tool.
 Testing with a single tool reduces time and effort. They are cost effective.
Since testing happens through a single tool it yields better results when compared with other techniques.
VI. Conclusion And Future Work
Research till date treats GUI & Web-based applications as different entities of research. Within the
context of our Model we propose test cases prioritization using genetic algorithm that incorporates prioritization
function to prioritize test cases and using prioritization criteria‟s proved that using of genetic algorithm has
decreased the latency time experimentally working on some small sample GUI and Web applications. We also
introduce a method to prioritize multiple test cases with equal priority. The prioritization function and
prioritization criteria‟s when used together in our combined model, depicts the usefulness of two kinds of Event
Driven Software‟s for the problem of test cases prioritization.
Thus we have solved the two criteria‟s.
We have created a single model that can test both GUI & Web-application through a subject
application. In Future work the algorithm should be improved and is to be applied to large real time Event base
software, to hopefully check it can serve the purpose.
References
[1]. Renee CBryce, SreedeviSampath, and Atif M. Memon, “Developing a Single Model and Test prioritization Strategies for Event-
Driven Software”, IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, pp.48-64, Jan 2011.
[2]. Steffen Herbold, Jens Grabowski, Stephan Waack, “A Model for Usage-based Testing of Event-driven Software”, 5th
International
Conference on Secure Software Integration & reliability, pp.172-178, Aug- 2011.
[3]. Mark Utting, Alexander Pretschner and Bruno Legeard, “A Taxonomy Of Model Based Testing”, Working paper by Waikato,pp.1-
17, April 2006.
[4]. DING Xiao-Ling, DING Chun, Hou Yong hong, “An Approach To Event-Driven Software Testing”, Vol .8.No-4, pp.265-268,
Dec-2002.
[5]. Renee C.Bryce, AtifM.Memon, “Test suite Prioritization By Interaction Coverage”, Workshop on Domain specific Software Test
automation in Conjunction with the 6th
ESEC/FSE Joint Meeting, pp.1-7, Sep-2007.
[6]. Gregg Rothermel , Roland H. Untch, Chengyun Chu, Mary Jean Harrold, “Test Case Prioritization: An Empirical Study” , Proc. of
the International Conference on Software Maintenance, UK, September, pp.1-10, Sep-1999.
[7]. Shashank Joshi, ShitalPawar, “Agent Based Testing Tool For Event Driven Software”, International Journal of Engineering
Research and Applications,Vol.2, Issue 3, pp.2961-2965, May-2012.
[8]. Shashank Joshi, ShitalPawar, “Developing A Testing Tool For Testing both GUI and A Web Applications Together”,International
Journal of Advances in Engineering & Technology, pp.391-394, May 2012.
[9]. SiripongRoongruangsuwan, JirapunDaengdej, “Test Case Prioritization Techniques”,Journal of Theoretical and Applied
Information Technology, pp.45-60, Jun-2010.
[10]. Praveen RanjanSrivastava, “Test Case Prioritization”, Journal of Theoretical and Applied Information Technology, pp.178-181,
Apr-2008.
[11]. P.Dileep Kumar Reddy & A. AnandaRao, “An Empirical Analysis of Single Model Test Prioritization Strategies for Event Driven
Software”, International Conference on Computer Science, pp.185-188, June-2010.
[12]. J.Praveen Kumar ,Manas Kumar Yogi, ”A Survey on Models and Test strategies for Event-Driven Software”, International Journal
Of Computational Engineering Research Vol. 2 Issue. 4, pp.1087-1091, Aug-2012.
[13]. Hani Achkar, “Model Based Testing Of Web Applications”, Stanz Sydney Australia, pp.1-28, Aug-2008.
[14]. Anneliese A. Andrews, Jeff out, Roger T. Alexander, “Testing Web Applications by Modeling with FSMs”, pp.1-28.
Test Cases Prioritization For Event –Driven Software By Using Genetic Algorithm
DOI: 10.9790/0661-18147883 www.iosrjournals.org 83 | Page
[15]. AtifM.Memon, ”Developing Testing Techniques for Event-driven Pervasive Computing Applications”, International Conference
On Testing Techniques,2009,pp.1-10.
[16]. Mitchell, M. “An Introduction to Genetic Algorithms”, MIT Press, USA, 1996.
[17]. Dr. Arvinder Kaur and Shubhra Goyal. Article:A Genetic Algorithm for Fault based Regression Test Case Prioritization.
International Journal of Computer Applications 32(8):30-37, October 2011.
[18]. Baresel, A., Sthamer, H., Schmidt, M.: Fitness function design to improve evolutionary structural testing. In: Genetic and
Evolutionary Computation Conference, pp. 1329–1336. IEEE Press, New York (2002).
[19]. Quan, J., Lu, L.: Research test case suite minimization based on genetic algorithm. Computer Engineering and Applications 45(19),
58–61 (2009).

More Related Content

What's hot

Exploratory Testing
Exploratory TestingExploratory Testing
Exploratory Testing
nazeer pasha
 
Regression Optimizer
Regression OptimizerRegression Optimizer
Regression Optimizer
Shradha Singh
 
A Productive Method for Improving Test Effectiveness
A Productive Method for Improving Test EffectivenessA Productive Method for Improving Test Effectiveness
A Productive Method for Improving Test Effectiveness
Shradha Singh
 
Testing and test case generation by using fuzzy logic and n
Testing and test case generation by using fuzzy logic and nTesting and test case generation by using fuzzy logic and n
Testing and test case generation by using fuzzy logic and n
IAEME Publication
 
STATE-OF-THE-ART IN EMPIRICAL VALIDATION OF SOFTWARE METRICS FOR FAULT PRONEN...
STATE-OF-THE-ART IN EMPIRICAL VALIDATION OF SOFTWARE METRICS FOR FAULT PRONEN...STATE-OF-THE-ART IN EMPIRICAL VALIDATION OF SOFTWARE METRICS FOR FAULT PRONEN...
STATE-OF-THE-ART IN EMPIRICAL VALIDATION OF SOFTWARE METRICS FOR FAULT PRONEN...
IJCSES Journal
 
AI-Driven Software Quality Assurance in the Age of DevOps
AI-Driven Software Quality Assurance in the Age of DevOpsAI-Driven Software Quality Assurance in the Age of DevOps
AI-Driven Software Quality Assurance in the Age of DevOps
Chakkrit (Kla) Tantithamthavorn
 
Towards a Better Understanding of the Impact of Experimental Components on De...
Towards a Better Understanding of the Impact of Experimental Components on De...Towards a Better Understanding of the Impact of Experimental Components on De...
Towards a Better Understanding of the Impact of Experimental Components on De...
Chakkrit (Kla) Tantithamthavorn
 
Leveraging HPC Resources to Improve the Experimental Design of Software Analy...
Leveraging HPC Resources to Improve the Experimental Design of Software Analy...Leveraging HPC Resources to Improve the Experimental Design of Software Analy...
Leveraging HPC Resources to Improve the Experimental Design of Software Analy...
Chakkrit (Kla) Tantithamthavorn
 

What's hot (20)

Practices and Tools for Better Software Testing
Practices and Tools for  Better Software TestingPractices and Tools for  Better Software Testing
Practices and Tools for Better Software Testing
 
Model based test case prioritization using neural network classification
Model based test case prioritization using neural network classificationModel based test case prioritization using neural network classification
Model based test case prioritization using neural network classification
 
Bd36334337
Bd36334337Bd36334337
Bd36334337
 
Exploratory Testing
Exploratory TestingExploratory Testing
Exploratory Testing
 
Welcome to International Journal of Engineering Research and Development (IJERD)
Welcome to International Journal of Engineering Research and Development (IJERD)Welcome to International Journal of Engineering Research and Development (IJERD)
Welcome to International Journal of Engineering Research and Development (IJERD)
 
Regression Optimizer
Regression OptimizerRegression Optimizer
Regression Optimizer
 
A Productive Method for Improving Test Effectiveness
A Productive Method for Improving Test EffectivenessA Productive Method for Improving Test Effectiveness
A Productive Method for Improving Test Effectiveness
 
D0423022028
D0423022028D0423022028
D0423022028
 
Testing and test case generation by using fuzzy logic and n
Testing and test case generation by using fuzzy logic and nTesting and test case generation by using fuzzy logic and n
Testing and test case generation by using fuzzy logic and n
 
STATE-OF-THE-ART IN EMPIRICAL VALIDATION OF SOFTWARE METRICS FOR FAULT PRONEN...
STATE-OF-THE-ART IN EMPIRICAL VALIDATION OF SOFTWARE METRICS FOR FAULT PRONEN...STATE-OF-THE-ART IN EMPIRICAL VALIDATION OF SOFTWARE METRICS FOR FAULT PRONEN...
STATE-OF-THE-ART IN EMPIRICAL VALIDATION OF SOFTWARE METRICS FOR FAULT PRONEN...
 
AI-Driven Software Quality Assurance in the Age of DevOps
AI-Driven Software Quality Assurance in the Age of DevOpsAI-Driven Software Quality Assurance in the Age of DevOps
AI-Driven Software Quality Assurance in the Age of DevOps
 
Ijcatr04051006
Ijcatr04051006Ijcatr04051006
Ijcatr04051006
 
Towards a Better Understanding of the Impact of Experimental Components on De...
Towards a Better Understanding of the Impact of Experimental Components on De...Towards a Better Understanding of the Impact of Experimental Components on De...
Towards a Better Understanding of the Impact of Experimental Components on De...
 
Test Case Optimization and Redundancy Reduction Using GA and Neural Networks
Test Case Optimization and Redundancy Reduction Using GA and Neural Networks Test Case Optimization and Redundancy Reduction Using GA and Neural Networks
Test Case Optimization and Redundancy Reduction Using GA and Neural Networks
 
Genetic algorithm based approach for
Genetic algorithm based approach forGenetic algorithm based approach for
Genetic algorithm based approach for
 
Generation of Search Based Test Data on Acceptability Testing Principle
Generation of Search Based Test Data on Acceptability Testing PrincipleGeneration of Search Based Test Data on Acceptability Testing Principle
Generation of Search Based Test Data on Acceptability Testing Principle
 
Software Testing Using Genetic Algorithms
Software Testing Using Genetic AlgorithmsSoftware Testing Using Genetic Algorithms
Software Testing Using Genetic Algorithms
 
IRJET- Data Reduction in Bug Triage using Supervised Machine Learning
IRJET- Data Reduction in Bug Triage using Supervised Machine LearningIRJET- Data Reduction in Bug Triage using Supervised Machine Learning
IRJET- Data Reduction in Bug Triage using Supervised Machine Learning
 
Search-based testing of procedural programs:iterative single-target or multi-...
Search-based testing of procedural programs:iterative single-target or multi-...Search-based testing of procedural programs:iterative single-target or multi-...
Search-based testing of procedural programs:iterative single-target or multi-...
 
Leveraging HPC Resources to Improve the Experimental Design of Software Analy...
Leveraging HPC Resources to Improve the Experimental Design of Software Analy...Leveraging HPC Resources to Improve the Experimental Design of Software Analy...
Leveraging HPC Resources to Improve the Experimental Design of Software Analy...
 

Viewers also liked

Tailoring of composite cantilever beam for maximum stiffness and minimum weight
Tailoring of composite cantilever beam for maximum stiffness and minimum weightTailoring of composite cantilever beam for maximum stiffness and minimum weight
Tailoring of composite cantilever beam for maximum stiffness and minimum weight
IOSR Journals
 
Evaluations of the Effect of Workshop/Laboratory Accidents and Precautionary ...
Evaluations of the Effect of Workshop/Laboratory Accidents and Precautionary ...Evaluations of the Effect of Workshop/Laboratory Accidents and Precautionary ...
Evaluations of the Effect of Workshop/Laboratory Accidents and Precautionary ...
IOSR Journals
 
Modelling of Permanent Deformation on Flexible Pavement Using Accelerated Pav...
Modelling of Permanent Deformation on Flexible Pavement Using Accelerated Pav...Modelling of Permanent Deformation on Flexible Pavement Using Accelerated Pav...
Modelling of Permanent Deformation on Flexible Pavement Using Accelerated Pav...
IOSR Journals
 
Development of Model for Quality Costing in a Medium Scale Industry-A Case Study
Development of Model for Quality Costing in a Medium Scale Industry-A Case StudyDevelopment of Model for Quality Costing in a Medium Scale Industry-A Case Study
Development of Model for Quality Costing in a Medium Scale Industry-A Case Study
IOSR Journals
 

Viewers also liked (20)

C1803011419
C1803011419C1803011419
C1803011419
 
Process Parametric Optimization of CNC Vertical Milling Machine Using Taguchi...
Process Parametric Optimization of CNC Vertical Milling Machine Using Taguchi...Process Parametric Optimization of CNC Vertical Milling Machine Using Taguchi...
Process Parametric Optimization of CNC Vertical Milling Machine Using Taguchi...
 
Characteristics analysis of silicon carbide based 1-D Photonic crystal with 2...
Characteristics analysis of silicon carbide based 1-D Photonic crystal with 2...Characteristics analysis of silicon carbide based 1-D Photonic crystal with 2...
Characteristics analysis of silicon carbide based 1-D Photonic crystal with 2...
 
Tailoring of composite cantilever beam for maximum stiffness and minimum weight
Tailoring of composite cantilever beam for maximum stiffness and minimum weightTailoring of composite cantilever beam for maximum stiffness and minimum weight
Tailoring of composite cantilever beam for maximum stiffness and minimum weight
 
Evaluations of the Effect of Workshop/Laboratory Accidents and Precautionary ...
Evaluations of the Effect of Workshop/Laboratory Accidents and Precautionary ...Evaluations of the Effect of Workshop/Laboratory Accidents and Precautionary ...
Evaluations of the Effect of Workshop/Laboratory Accidents and Precautionary ...
 
Influence of joint clearance on kinematic and dynamic parameters of mechanism
Influence of joint clearance on kinematic and dynamic parameters of mechanismInfluence of joint clearance on kinematic and dynamic parameters of mechanism
Influence of joint clearance on kinematic and dynamic parameters of mechanism
 
Modelling of Permanent Deformation on Flexible Pavement Using Accelerated Pav...
Modelling of Permanent Deformation on Flexible Pavement Using Accelerated Pav...Modelling of Permanent Deformation on Flexible Pavement Using Accelerated Pav...
Modelling of Permanent Deformation on Flexible Pavement Using Accelerated Pav...
 
Enhance the Throughput of Wireless Network Using Multicast Routing
Enhance the Throughput of Wireless Network Using Multicast RoutingEnhance the Throughput of Wireless Network Using Multicast Routing
Enhance the Throughput of Wireless Network Using Multicast Routing
 
A018120105
A018120105A018120105
A018120105
 
Enhancement of New Channel Equalizer Using Adaptive Neuro Fuzzy Inference System
Enhancement of New Channel Equalizer Using Adaptive Neuro Fuzzy Inference SystemEnhancement of New Channel Equalizer Using Adaptive Neuro Fuzzy Inference System
Enhancement of New Channel Equalizer Using Adaptive Neuro Fuzzy Inference System
 
FPGA Based Implementation of Electronic Safe Lock
FPGA Based Implementation of Electronic Safe LockFPGA Based Implementation of Electronic Safe Lock
FPGA Based Implementation of Electronic Safe Lock
 
I011125866
I011125866I011125866
I011125866
 
B010620508
B010620508B010620508
B010620508
 
C013141723
C013141723C013141723
C013141723
 
D017111619
D017111619D017111619
D017111619
 
D012473845
D012473845D012473845
D012473845
 
Development of Model for Quality Costing in a Medium Scale Industry-A Case Study
Development of Model for Quality Costing in a Medium Scale Industry-A Case StudyDevelopment of Model for Quality Costing in a Medium Scale Industry-A Case Study
Development of Model for Quality Costing in a Medium Scale Industry-A Case Study
 
E017373946
E017373946E017373946
E017373946
 
Enhanced Mobile Node Tracking With Received Signal Strength in Wireless Senso...
Enhanced Mobile Node Tracking With Received Signal Strength in Wireless Senso...Enhanced Mobile Node Tracking With Received Signal Strength in Wireless Senso...
Enhanced Mobile Node Tracking With Received Signal Strength in Wireless Senso...
 
I017134347
I017134347I017134347
I017134347
 

Similar to M018147883

International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)
IJERD Editor
 
Abstract.doc
Abstract.docAbstract.doc
Abstract.doc
butest
 
Determination of Software Release Instant of Three-Tier Client Server Softwar...
Determination of Software Release Instant of Three-Tier Client Server Softwar...Determination of Software Release Instant of Three-Tier Client Server Softwar...
Determination of Software Release Instant of Three-Tier Client Server Softwar...
Waqas Tariq
 
Assignment 1 Week 2.docx1Assignment 1 Topic Selection.docx
Assignment 1 Week 2.docx1Assignment 1 Topic Selection.docxAssignment 1 Week 2.docx1Assignment 1 Topic Selection.docx
Assignment 1 Week 2.docx1Assignment 1 Topic Selection.docx
sherni1
 
Software Quality Analysis Using Mutation Testing Scheme
Software Quality Analysis Using Mutation Testing SchemeSoftware Quality Analysis Using Mutation Testing Scheme
Software Quality Analysis Using Mutation Testing Scheme
Editor IJMTER
 

Similar to M018147883 (20)

A Complexity Based Regression Test Selection Strategy
A Complexity Based Regression Test Selection StrategyA Complexity Based Regression Test Selection Strategy
A Complexity Based Regression Test Selection Strategy
 
Coevolution of Second-order-mutant
Coevolution of Second-order-mutant Coevolution of Second-order-mutant
Coevolution of Second-order-mutant
 
C41041120
C41041120C41041120
C41041120
 
International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)
 
LusRegTes: A Regression Testing Tool for Lustre Programs
LusRegTes: A Regression Testing Tool for Lustre Programs LusRegTes: A Regression Testing Tool for Lustre Programs
LusRegTes: A Regression Testing Tool for Lustre Programs
 
Importance of Testing in SDLC
Importance of Testing in SDLCImportance of Testing in SDLC
Importance of Testing in SDLC
 
Q44098893
Q44098893Q44098893
Q44098893
 
50120140502017
5012014050201750120140502017
50120140502017
 
FROM THE ART OF SOFTWARE TESTING TO TEST-AS-A-SERVICE IN CLOUD COMPUTING
FROM THE ART OF SOFTWARE TESTING TO TEST-AS-A-SERVICE IN CLOUD COMPUTINGFROM THE ART OF SOFTWARE TESTING TO TEST-AS-A-SERVICE IN CLOUD COMPUTING
FROM THE ART OF SOFTWARE TESTING TO TEST-AS-A-SERVICE IN CLOUD COMPUTING
 
From the Art of Software Testing to Test-as-a-Service in Cloud Computing
From the Art of Software Testing to Test-as-a-Service in Cloud ComputingFrom the Art of Software Testing to Test-as-a-Service in Cloud Computing
From the Art of Software Testing to Test-as-a-Service in Cloud Computing
 
Abstract.doc
Abstract.docAbstract.doc
Abstract.doc
 
D017642026
D017642026D017642026
D017642026
 
Determination of Software Release Instant of Three-Tier Client Server Softwar...
Determination of Software Release Instant of Three-Tier Client Server Softwar...Determination of Software Release Instant of Three-Tier Client Server Softwar...
Determination of Software Release Instant of Three-Tier Client Server Softwar...
 
Assignment 1 Week 2.docx1Assignment 1 Topic Selection.docx
Assignment 1 Week 2.docx1Assignment 1 Topic Selection.docxAssignment 1 Week 2.docx1Assignment 1 Topic Selection.docx
Assignment 1 Week 2.docx1Assignment 1 Topic Selection.docx
 
Thetheoryofsoftwaretesting
ThetheoryofsoftwaretestingThetheoryofsoftwaretesting
Thetheoryofsoftwaretesting
 
Software testing
Software testingSoftware testing
Software testing
 
Software Quality Analysis Using Mutation Testing Scheme
Software Quality Analysis Using Mutation Testing SchemeSoftware Quality Analysis Using Mutation Testing Scheme
Software Quality Analysis Using Mutation Testing Scheme
 
50120140501001
5012014050100150120140501001
50120140501001
 
Software Cost Estimation Using Clustering and Ranking Scheme
Software Cost Estimation Using Clustering and Ranking SchemeSoftware Cost Estimation Using Clustering and Ranking Scheme
Software Cost Estimation Using Clustering and Ranking Scheme
 
DYNAMUT: A MUTATION TESTING TOOL FOR INDUSTRY-LEVEL EMBEDDED SYSTEM APPLICATIONS
DYNAMUT: A MUTATION TESTING TOOL FOR INDUSTRY-LEVEL EMBEDDED SYSTEM APPLICATIONSDYNAMUT: A MUTATION TESTING TOOL FOR INDUSTRY-LEVEL EMBEDDED SYSTEM APPLICATIONS
DYNAMUT: A MUTATION TESTING TOOL FOR INDUSTRY-LEVEL EMBEDDED SYSTEM APPLICATIONS
 

More from IOSR Journals

More from IOSR Journals (20)

A011140104
A011140104A011140104
A011140104
 
M0111397100
M0111397100M0111397100
M0111397100
 
L011138596
L011138596L011138596
L011138596
 
K011138084
K011138084K011138084
K011138084
 
J011137479
J011137479J011137479
J011137479
 
I011136673
I011136673I011136673
I011136673
 
G011134454
G011134454G011134454
G011134454
 
H011135565
H011135565H011135565
H011135565
 
F011134043
F011134043F011134043
F011134043
 
E011133639
E011133639E011133639
E011133639
 
D011132635
D011132635D011132635
D011132635
 
C011131925
C011131925C011131925
C011131925
 
B011130918
B011130918B011130918
B011130918
 
A011130108
A011130108A011130108
A011130108
 
I011125160
I011125160I011125160
I011125160
 
H011124050
H011124050H011124050
H011124050
 
G011123539
G011123539G011123539
G011123539
 
F011123134
F011123134F011123134
F011123134
 
E011122530
E011122530E011122530
E011122530
 
D011121524
D011121524D011121524
D011121524
 

Recently uploaded

Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc
 

Recently uploaded (20)

Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Navigating Identity and Access Management in the Modern Enterprise
Navigating Identity and Access Management in the Modern EnterpriseNavigating Identity and Access Management in the Modern Enterprise
Navigating Identity and Access Management in the Modern Enterprise
 
Choreo: Empowering the Future of Enterprise Software Engineering
Choreo: Empowering the Future of Enterprise Software EngineeringChoreo: Empowering the Future of Enterprise Software Engineering
Choreo: Empowering the Future of Enterprise Software Engineering
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
Stronger Together: Developing an Organizational Strategy for Accessible Desig...
Stronger Together: Developing an Organizational Strategy for Accessible Desig...Stronger Together: Developing an Organizational Strategy for Accessible Desig...
Stronger Together: Developing an Organizational Strategy for Accessible Desig...
 
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
 
JohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptx
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Introduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMIntroduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDM
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
JavaScript Usage Statistics 2024 - The Ultimate Guide
JavaScript Usage Statistics 2024 - The Ultimate GuideJavaScript Usage Statistics 2024 - The Ultimate Guide
JavaScript Usage Statistics 2024 - The Ultimate Guide
 
The Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and InsightThe Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and Insight
 
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
 

M018147883

  • 1. 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.
  • 2. Test Cases Prioritization For Event –Driven Software By Using Genetic Algorithm DOI: 10.9790/0661-18147883 www.iosrjournals.org 79 | Page  First is the lack of a Generic model that captures the event driven nature of the application which has prevented the development of a shared testing technique that can test any class of EDS.  Second is the unavailability of subject application (Web & GUI Together) and tool for researches till date. In this paper, we focus on the first challenge, i.e., we develop a single abstract model for GUI and Web application testing by using a genetic algorithm. To provide focus, we restrict the model to extend the work on test prioritization techniques for GUI and Web testing. This allows us to tailor our model to prioritization – specific issues as well as to recast our prioritization criteria in a form that is general enough to leverage the single model. Moreover the available testing tools suffer from several drawbacks. They perform confined testing. Popular combined testing tools offer services like hyperlink testing[11],hyper link ambiguity testing and delay testing- while for GUI they offer services like Event Listener testing[4], Event Listener Ambiguity and delay checking. They are incomplete. FSM testing[11] process cannot provide efficient results to large Web- applications. MBT[3] cannot ease the user since it requires user intervention. We propose a single combined tool that checks the correctness of both GUI & Web-application. We check the correctness by deriving test cases. Test cases are then assigned value based on which they are prioritized. Here, we use a genetic algorithm based evolutionary technique in which, instead of evolving each test case individually, we evolve all the test cases in a test suite at the same time, and the fitness function considers all the testing goals simultaneously. The technique starts with an initial population of randomly generated test suites, and then uses a Genetic Algorithm to optimize toward satisfying a chosen coverage criterion, while using the test suite size as a secondary objective. At the end, the best resulting test suite is minimized. With such an approach, most of the complications and downsides of the one target at a time approach either disappear or become significantly reduced. II. System Architecture Genetic Algorithms (GAs) qualify as Meta heuristic search technique and attempt to imitate the mechanisms of natural adaptation in computer systems. A population of chromosomes is evolved using genetics-inspired operations, where each chromosome represents a possible problem solution. The GA employed in this paper starts with a random population, evolution is performed until a solution is found that fulfils the coverage criterion, or the allocated resources (e.g., time, number of fitness evaluations) have been used up. In each iteration of the evolution, a new generation is created and initialized with the best individuals of the last generation (elitism). Then, the new generation is filled up with individuals produced by rank selection crossover and mutation. Either the offspring or the parents are added to the new generation, depending on fitness and length constraints 2.1 Cross Over The crossover generates two offspring, O1 and O2, from two parent test suites, P1 and P2. A random value _ is chosen from ½0; 1_. On one hand, the first offspring O1 will contain the first _jP1j test cases from the first parent, followed by the last ð1 _ _ÞjP2j test cases from the second parent. On the other hand, the second offspring O2 will contain the first _jP2j test cases from the second parent, followed by the last ð1 _ _ÞjP1j test cases from the first parent. Because the test cases are independent among them, this crossover operator always yields valid offspring test suites. Furthermore, it is easy to see that it decreases the difference in the number of test cases between the test suites, i.e., absðjO1j _ jO2jÞ _ absðjP1j _ jP2jÞ. No offspring will have more test cases than the largest of its parents. However, it is possible that the total sum of the length of test cases in an offspring could increase. 2.2. Test cases Random test cases are needed to initialize the first generation of the GA, and when mutating test suites. Sampling a test case at random means that each possible test case in the search space has a nonzero probability of being sampled, and these probabilities are independent. In other words, the probability of sampling a specific test case is constant and it does not depend on the test cases sampled so far. When a test case representation is complex and it is of variable length it is often not possible to sample test cases with uniform distribution (i.e., each test case having the same probability of being sampled). Even when it would be possible to use a uniform distribution, it would be unwise For example, given a maximum length L, if each test case was sampled with uniform probability, then sampling a short sequence would be extremely unlikely. This is because there are many more test cases with long length compared to the ones of short length.
  • 3. Test Cases Prioritization For Event –Driven Software By Using Genetic Algorithm DOI: 10.9790/0661-18147883 www.iosrjournals.org 80 | Page Fig1: flowchart Some of the current techniques[12] used for testing Event Driven Software are as follow  Finite State Machine Testing  Model based Testing.  User Session based Testing  Event Flow Testing. III. Design And Implementation Test cases are given as input to the system. Approximately 1000 test cases are collected from various web applications. Successful test cases provide you with your desired output and a failure test case doesn‟t yield the desired output and displays an error message. With the obtained generic model both GUI & Web-application can be modelled in the normal flow of execution prioritization criteria‟s are not considered. The system takes in input as a test case/ Test suite with a customer assigned value. The test case executor executes those test cases and assigns fitness value “#” which is pushed into training database. The normal flow is shown as 1,2,3,5. When 2 or more test cases have similar fitness value then we opt prioritization criteria‟s. The exceptional flows where prioritization criteria‟s are considered to prioritize test cases are 1, 2, 3, 4, and 5. The test GUI tool takes input as a simple java program. It automatically creates test cases to methods available in it. Those test cases are generally used to write the logic in it. These test cases are prioritized by setting a threshold and having a limit. If a particular test case is tested beyond the limit and threshold values then the test case is omitted from testing its functionality. Therefore time is saved. We obtain the prioritizing majorly by three approaches.  Customer assigned priority  Time based Prioritization  Coverage based Prioritization  Customer assigned priority Each test case is initially assigned a priority say '5' and are recorded in the database. The whole test suite is set with a “Threshold” and a “limit”. If a tested test case reappears then its priority is decreased by „2‟, then it is tested and are again stored with its decreased prioritization value say 3. A Test case is tested only if its prioritization value is > 3. If a test case has a prioritization value < 3 then it means it is been subjected to functionality testing 8 times and has recorded positive. So it is exempted from testing which reduces testing time and effort.
  • 4. Test Cases Prioritization For Event –Driven Software By Using Genetic Algorithm DOI: 10.9790/0661-18147883 www.iosrjournals.org 81 | Page  Time based Prioritization This approach is implemented for GUI testing. The tool creates automatic test cases for all the methods available. The tool displays the time taken by a method i.e. test case by calculating average time taken for its execution. Average time= (End time - Start time). Once the average time for test cases are obtained then time based prioritization can be achieved by sorting test cases based on their execution time.  Coverage based Prioritization This approach is implemented for Web-application testing. When a test case is tested for its functionality and when it reaches its limit they are skipped from testing through which code coverage based prioritization is achieved. This approach is used for prioritizing a test case based on its code coverage which is nothing but Coverage based Prioritization. The testing tool has 2 consoles each for testing Web & GUI. The Web testing consoles loads test cases and checks the correctness of the application. It displays success to positive test cases and failure to negative test cases.  Fault based prioritization When tester detects anomalies and manually checks the test cases for errors. While doing so a priority is given to the test cases by which test cases achieve customer based prioritization by using a fault detection algorithm. The test cases that identify the anomalies that affect functionality crucially are considered to be top priority. Finally when the anomalies are rectified they report success. The implementation of testing EDS through a single model is accomplished via the following Modules.  Test plan selector  Test case Executor  Training Database  Prioritization Criteria 3.1 Test plan selector The module is used to have an insight into the type of application considered for modelling. Since both GUI & Web are considered for modelling Test plan Selector module categorizes the selected application as GUI or Web-application. 3.2 Test case Executor This module is used for executing the test cases of the selected application. Once the selector selects the category of the application loaded for testing, the Executor executes the test cases of the loaded application. 3.3 Training Database These are used for storing the dumps carrying fitness value. Each test case is checked for its correctness and is rated by a fitness value. Those values along with the test case are stored in Training database. 3.4 Prioritization Criteria Only when one or more test cases in the training database have same fitness value and in retesting of an application this module come into picture. This module takes test cases as inputs that have similar fitness values and processes it by considering various prioritization criteria[9][10] like Fault, Time, and Code coverage. For implementing prioritization we use a fault detection algorithm, next best test case, and a genetic algorithm that is incorporated in next best test case algorithm. Pseudo code: Input Parameters: TS: Test suite for prioritization. f: For prioritizing a Test Case. F: For prioritizing a Test Suite. #: A “fitness” value on Test Case. Output: $: Sorted Suite.
  • 5. Test Cases Prioritization For Event –Driven Software By Using Genetic Algorithm DOI: 10.9790/0661-18147883 www.iosrjournals.org 82 | Page IV. Experimental Results V. Advantages Of Proposed System  A generic model that is common to both GUI and Web applications is proposed. Proposed algorithm takes in test cases as input and checks its correctness and produces output accordingly.  Testing all such subject application is possible using a single tool.  Testing with a single tool reduces time and effort. They are cost effective. Since testing happens through a single tool it yields better results when compared with other techniques. VI. Conclusion And Future Work Research till date treats GUI & Web-based applications as different entities of research. Within the context of our Model we propose test cases prioritization using genetic algorithm that incorporates prioritization function to prioritize test cases and using prioritization criteria‟s proved that using of genetic algorithm has decreased the latency time experimentally working on some small sample GUI and Web applications. We also introduce a method to prioritize multiple test cases with equal priority. The prioritization function and prioritization criteria‟s when used together in our combined model, depicts the usefulness of two kinds of Event Driven Software‟s for the problem of test cases prioritization. Thus we have solved the two criteria‟s. We have created a single model that can test both GUI & Web-application through a subject application. In Future work the algorithm should be improved and is to be applied to large real time Event base software, to hopefully check it can serve the purpose. References [1]. Renee CBryce, SreedeviSampath, and Atif M. Memon, “Developing a Single Model and Test prioritization Strategies for Event- Driven Software”, IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, pp.48-64, Jan 2011. [2]. Steffen Herbold, Jens Grabowski, Stephan Waack, “A Model for Usage-based Testing of Event-driven Software”, 5th International Conference on Secure Software Integration & reliability, pp.172-178, Aug- 2011. [3]. Mark Utting, Alexander Pretschner and Bruno Legeard, “A Taxonomy Of Model Based Testing”, Working paper by Waikato,pp.1- 17, April 2006. [4]. DING Xiao-Ling, DING Chun, Hou Yong hong, “An Approach To Event-Driven Software Testing”, Vol .8.No-4, pp.265-268, Dec-2002. [5]. Renee C.Bryce, AtifM.Memon, “Test suite Prioritization By Interaction Coverage”, Workshop on Domain specific Software Test automation in Conjunction with the 6th ESEC/FSE Joint Meeting, pp.1-7, Sep-2007. [6]. Gregg Rothermel , Roland H. Untch, Chengyun Chu, Mary Jean Harrold, “Test Case Prioritization: An Empirical Study” , Proc. of the International Conference on Software Maintenance, UK, September, pp.1-10, Sep-1999. [7]. Shashank Joshi, ShitalPawar, “Agent Based Testing Tool For Event Driven Software”, International Journal of Engineering Research and Applications,Vol.2, Issue 3, pp.2961-2965, May-2012. [8]. Shashank Joshi, ShitalPawar, “Developing A Testing Tool For Testing both GUI and A Web Applications Together”,International Journal of Advances in Engineering & Technology, pp.391-394, May 2012. [9]. SiripongRoongruangsuwan, JirapunDaengdej, “Test Case Prioritization Techniques”,Journal of Theoretical and Applied Information Technology, pp.45-60, Jun-2010. [10]. Praveen RanjanSrivastava, “Test Case Prioritization”, Journal of Theoretical and Applied Information Technology, pp.178-181, Apr-2008. [11]. P.Dileep Kumar Reddy & A. AnandaRao, “An Empirical Analysis of Single Model Test Prioritization Strategies for Event Driven Software”, International Conference on Computer Science, pp.185-188, June-2010. [12]. J.Praveen Kumar ,Manas Kumar Yogi, ”A Survey on Models and Test strategies for Event-Driven Software”, International Journal Of Computational Engineering Research Vol. 2 Issue. 4, pp.1087-1091, Aug-2012. [13]. Hani Achkar, “Model Based Testing Of Web Applications”, Stanz Sydney Australia, pp.1-28, Aug-2008. [14]. Anneliese A. Andrews, Jeff out, Roger T. Alexander, “Testing Web Applications by Modeling with FSMs”, pp.1-28.
  • 6. Test Cases Prioritization For Event –Driven Software By Using Genetic Algorithm DOI: 10.9790/0661-18147883 www.iosrjournals.org 83 | Page [15]. AtifM.Memon, ”Developing Testing Techniques for Event-driven Pervasive Computing Applications”, International Conference On Testing Techniques,2009,pp.1-10. [16]. Mitchell, M. “An Introduction to Genetic Algorithms”, MIT Press, USA, 1996. [17]. Dr. Arvinder Kaur and Shubhra Goyal. Article:A Genetic Algorithm for Fault based Regression Test Case Prioritization. International Journal of Computer Applications 32(8):30-37, October 2011. [18]. Baresel, A., Sthamer, H., Schmidt, M.: Fitness function design to improve evolutionary structural testing. In: Genetic and Evolutionary Computation Conference, pp. 1329–1336. IEEE Press, New York (2002). [19]. Quan, J., Lu, L.: Research test case suite minimization based on genetic algorithm. Computer Engineering and Applications 45(19), 58–61 (2009).