SlideShare a Scribd company logo
1 of 8
Download to read offline
Advanced Computing: An International Journal ( ACIJ ), Vol.3, No.4, July 2012
DOI : 10.5121/acij.2012.3405 35
ANALYZING THE EFFICIENT TEST ORDER FOR
INTEGRATION TESTING
Dr. Reena Dadhich1
and Sourabh Sehgal2
Associate Professor, Govt. Engineering College, Ajmer (RTU, Kota) 1
reena.dadhich@gmail.com1
Govt. Engineering College, Ajmer (RTU, Kota) 2
reachsourabh@yahoo.co.in
2
ABSTRACT
One major characteristics of Object Oriented Software is the complex dependency that exists between
classes due to three different types of relationships that are inheritance, association and aggregation.
Due to these dependencies one major problem arise while integrating and testing the object oriented
software in order to reduce the number of required test stubs and to determine the test order for testing
different classes. This paper presents a comparison between different test orders by exploiting a model
produced during design stages (e.g. using UML), namely the Use Case Diagram and Class Diagrams.
Our goal is to study and compare different test orders. Based on which we will propose efficient test
order to reduce the number of stubs as well as time of testing. For the analysis of our proposed method
we will take software developed for ATM machine.
KEYWORDS
Stubs, UML, Integration Testing, Test Order.
1. INTRODUCTION
Software testing is one of the most important activities in software development life cycle.
Software organizations spend the large percentage of their budget in testing related activities of
the developed software and ready to be implemented. A well tested software system will be
validated by the customer before acceptance as discussed in [1]. The standardization of semi-
formal modeling methods, such as UML reveals that testing can no longer be separated from
specification/design/code stages: design-for-testability is a necessary basis for final-product
reliability.UML is a widely accepted set of notations for modeling Object Oriented System, to
build testable and thus, hopefully, trustable OO systems[2]. Use of UML diagrams helps a lot in
communication of project teams to explore potential designs, and to validate the architectural
design of the software. It has various diagrams for depicting the dynamic behavior of the
objects in a system [18].
The most important objective of class integration testing is to find error(s) during interaction of
classes. Therefore it is relevant to consider this interaction during integration process. If one
class is integrated before another class on which it depends, a dummy class that full fills the
behavior of the second class is needed. This dummy class is known as Stub as given in [14].
Advanced Computing: An International Journal ( ACIJ ), Vol.3, No.4, July 2012
36
Many OO Integration strategies have been proposed time to time in various research papers [5-
7] and [9]. Other approaches addressing the class integration order problem have recently been
proposed in research papers [8] and [9] during 2001-2003. These approaches are either based
on Genetic Algorithms or graph-based approaches [3] and [ 9]. These strategies have two
primary objective common points. The first most important objective is to minimize the number
of required stubs. And the second objective is to determine the efficient integration order to
reduce number of integration steps.
The order in which integration testing is performed is very important. Briand et al. [3]
explained that in case of object oriented software, integration order of classes affects the
efficiency and cost of testing. The test order is important for several reasons. First, the test
order affects the order in which classes are developed. Second, inter-class test order impacts the
use of test stubs and drivers for classes and the preparation of test cases. Third, inter-class test
order determines the order in which inter-class faults are detected.
In Object Oriented Software all classes are integrated either from most dependent class to least
dependent class or from least dependent class to most dependent class. In this paper we
compare these two different test orders of integration testing.
The organization of the paper is as follow: In section 2 we will study the related work. In
section 3 we will discuss some desirable properties for class integration. Then in section 4, we
will compare different class integration order. Then in section 5 we will find the best testing
order using example. In the whole paper we will take an example of ATM machine as given in
[16] for our study and in section 6 the paper concludes with analysis about the efficient testing
order.
2. RELATED WORK
Strategy used to integrate two existing methods aimed at breaking cycles so as to allow a
topological order of class have been proposed by Tai et al and Le Traon [11]. A new class
integration testing strategy based on a new Class Dependency Model has been proposed by
Badri et al in [5]. Various approaches used for integration testing of Object Oriented
applications that have been modeled in Unified Modeling Language are discussed by M. Waqas
Raza [17]. Different model, strategy and methodology for planning integration and regression
testing from an OO model have been proposed by Thierry Jéron and his team in [13].
3. TEST ORDER: PROPERTIES
In integration testing the test order is also referred as inter-class test order. In this section we
will discuss about the different properties for inter-class test order. In our case study model i.e.
the software for ATM machine, there is a class ‘ATM’ and we will take this class as a testing
class.
To find the efficient testing order there are some desirable properties. To understand these
properties we assume that testing a class ‘ATM’ (as shown in Fig: 1 Object Relation Diagram
(ORD) for ATM) for interclass Integration involves the following two steps:
Advanced Computing: An International Journal ( ACIJ ), Vol.3, No.4, July 2012
37
i) Outgoing edge of ‘ATM’ must be tested at least once. If ‘ATM’ has an outgoing
edge to class ‘CardReader’ that has not been integrated yet, then a stub for
‘CardReader’ is used for testing this edge.
ii) Each incoming edge of ‘ATM’ from a class that has been integrated, retest this edge
at least once. Such an edge was tested earlier using a stub for ‘ATM’. Retesting such
an edge is needed since a stub for ‘ATM’ is a simplified version of ‘ATM’
iii)
Fig 1: ORD (ATM)
If class ‘ATM’ has an outgoing inheritance or aggregation edge to class ‘CardReader’, then
‘CardReader’ should be tested before ‘ATM’ for inter-class integration. Since inheritance and
aggregation relations between classes do not form cycles, the following properties for inter-
class test order are desirable:
Property 1: For any two classes shown in Fig: 1 ORD say ‘CardReader’ and ‘ATM’, if there
exists a directed path from ‘CardReader’ to ‘ATM’ such that the path contains inheritance and
aggregation edges only, then ‘CardReader’ is tested before ‘ATM’ for inter-class integration.
As shown in Fig: 1 an Association edge exists between these two classes, so if we test ‘ATM’
class first then we need stub of ‘CardReader’ class. This property can also be extended by
allowing association edges.
Property 2: For classes ‘ATM’ and ‘CardReader’ in an ORD shown in Fig 1, if there exists a
directed path from ‘CardReader’ to ‘ATM’ and no directed paths from ‘ATM’ to ‘CardReader’,
then ‘CardReader’ is tested before ‘ATM’ for inter-class integration.
If association edge contains in ORD, then ORD must contains cycles. To remove cycles in
ORD, we must remove association edges. Then only we can produce test order. One of the
major issue in integration testing is creating stubs for those classes that are still not integrated.
The number of stubs can be reduced based on the association edge we are deleting.
Reciept
CardReader
Card
CustomerConsole
ATM
Session
CashDispenser
Transaction
Deposit
Balance CashWithdraw
Advanced Computing: An International Journal ( ACIJ ), Vol.3, No.4, July 2012
38
Property 3: ORD that contains cycles, reduce the number of stubs needed for integration
testing at reasonable cost. The second issue occurs when a class ‘ATM’ whose stub was used
earlier is being tested for inter-class integration. As mentioned earlier, all incoming association
edges of ‘ATM’ from classes that have been integrated need to be retested. Now the question
arises in what order we should test these association edges?
For this we consider two classes say ‘Receipt’ and ‘CashDispenser’ have outgoing association
edges to ‘ATM’ and ‘CashDispenser’ is integrated before ‘Receipt’. The association edge from
‘CashDispenser’ to ‘ATM’ should be retested before that from ‘Receipt’’ to ‘ATM’, since there
may exist a directed path from ‘Receipt’’ and ‘CashDispenser’ that contains inheritance and
aggregation edges.
PROPERTY 4: Suppose that classes ‘Receipt’ and ‘CashDispenser’ have outgoing association
edges to ‘ATM’, ‘CashDispenser’ is tested for inter-class integration before ‘Receipt’, and
‘Receipt’ is tested for inter-class integration before ‘ATM’. When ‘ATM’ is being tested for
inter-class integration, the association edge from ‘CashDispenser’ to ‘ATM’ should be retested
before that from ‘Receipt’ to ‘ATM’.
4. TEST ORDER: COMPARISON
Test order is an decisive factor of test work, it is a most valuable factor that working out a high-
efficiency test order of classes in Object Oriented Software to minimize test work [15].
So one of the most important tasks of Object Oriented Integration testing is to find the efficient
test order in which all classes are integrated [19]. Basically there are two types of integration
order i.e. from most dependent class to least dependent class and from least dependent class to
most dependent. The test order used for class integration affects the number of stubs, efforts
and time required for testing. In the next section we will analyze these two orders in respect of
efforts and time required for testing, and by comparing results of two we can propose efficient
test order which will give integrated classes.
5 CASE STUDY
In some papers [3, 10, 11, 12], the testing effort is estimated by counting the number of stubs
that are required for testing by assuming that all stubs are equally difficult to write. When the
number of stubs increases testing efforts increases proportionally and vice versa.
SCENARIO 1: We are considering Banking ATM example and test all classes in two different
orders from least dependent class to most dependent class and most dependent class to least
depend. For this we are using class diagram for an ATM machine [16] in banking sector which
is modeled through Unified Modelling Language (UML).
The basic structure of the class diagram arises from the responsibilities and relationships
discovered when doing the CRC cards and Interaction Diagrams. As we estimate efforts with
number of stubs [3], [10] and [12], we consider one constant value X, Let’s say X=10.
Advanced Computing: An International Journal ( ACIJ ), Vol.3, No.4, July 2012
39
Based on the class diagram shown in Fig 2, we have constructed a Table 1 which shows
different attributes, methods and dependencies between two classes. The table also shows the
data related to the number of stubs as well as estimated efforts required for a particular class.
It is clear from the table that different classes have different number of dependencies. As the
number of dependency increases, number of stubs also increases. So now the question arise
which class should we test first, the class having low dependency or the class having high
dependency? This can be compute with the estimated efforts. Estimated Efforts mentioned in
Table 1 is calculated on the basis of
Number of Stubs * X (constant).
Thus as the number of stubs increases, the testing efforts increases. Thus we can conclude that
if we test less dependent class then the estimated effort is less as compared to the case when we
test more dependent class first. We can also say that testing effort is directly proportional to the
number of stubs. So testing should start from the class that require least number of stubs and so
on. This is a better order to test the classes.
Fig 2: Class Diagram (ATM)
SCENARIO 2: Now we are considering another scenario i.e. time factor to compare testing
order. Let us suppose each class takes T seconds to test. And t seconds are needed to build one
stub.
Session
PinNo
VerifyPin()
CreateSession()
CashWithDraw
SessionID
Amount_WithDraw
CheckBalance()
WithDraw()
Balance
SessionID
BalanceEnquiry()
Deposit
SessionID
Amount_Deposit
Deposit()
1
*
Has
*
1
Creates
*
1
reads
1
1
1
1
1 1
1
*
Card
CashDispenser
InitalCash
TotalCash
SetInitialCash()
CheckMaxCash()
DespenseCash()
Transaction
PinNo
CreateTransaction()
M M M
CardReader
PinNo
ReadCard()
EjectCard()
Reciept
SessionID
Print()
CustomerConsole
ATM
PinNo
DisplayMenu()
DisplayMessage()
ReadPin()
ATM
CardNo
PinN0
CreateSession()
GetLogDetails()
NewClass
Advanced Computing: An International Journal ( ACIJ ), Vol.3, No.4, July 2012
40
Considering Table 1, the class ‘ATM’ require 7 stubs, as this class is most dependent class then
total time to test this class is (T+7t) where as the classes ‘Cash Dispenser’ and ‘Operator’ need
only one stub thus the total time required for testing each of these classes is (T+ 1t).
As the number of dependencies increases, number of required stubs increases and ultimately
testing time increases. Thus if we test more dependent class first, testing time increases a lot.
From this we can say that if we start testing from least dependent class, the testing time
decreases as the number of required stubs decreases.
6. CONCLUSION
From both above mentioned scenarios as mentioned in section V we can conclude that test
order from least dependent class to most dependent class is much efficient than the test order
from most dependent class to least dependent class as both the time and efforts increases when
we start testing from most dependent class and move towards the least dependent classes.
Table 1: Class name, attributes, and methods for a Class Diagram
Class
Name
Attributes Methods Number of
Dependencies
Number
of Stubs
Estimated
Effort
ATM atmid:integer,
bankname:string
,
state:string,locat
ion:string
performStartup()
,performShutdo
wn()
createSession(),g
etLogDetails()
7 7 70
CustomerC
onsole
atm:ATM displayMenu(),
displayMessage
()
readPIN()
1 1 10
CardReader atm:ATM readCard(),
ejectCard()
2 2 20
CashDispe
nser
Initialcash:integ
er,
totalcash:integer
setInitialCash(),
checkMaxCash(
)
dispenseCash()
1 1 10
Operator atm:ATM switchOn(),
switchOff(),
checkATMStatu
s()
1 1 10
Session atm:ATM,pin:in
teger,state:string
createSession(),v
erifyPIN()
3 3 30
Transaction atm:ATM,
session: Session,
pin:integer,
createTransactio
n()
2 2 20
Advanced Computing: An International Journal ( ACIJ ), Vol.3, No.4, July 2012
41
balance:integer
Deposit amount:integer,
bankname:string
,
pin:integer
getDetails(),perf
ormDeposit()
2 2 20
Withdrawal amount:integer,
bankname:string
,
pin:integer,
balance:integer
getDetails(),,perf
ormWithdrawal
()
2 2 20
BalanceEn
quiry
pin:integer,
bankname:string
getDetails(),perf
ormEnquiry()
2 2 20
REFERENCES
[1] Thierry Jéron, Jean-Marc Jézéquel, Yves Le Traon, and Pierre Morel IRISA-INRIA,” Efficient
Strategies for Integration and Regression Testing of OO Systems”, Campus Universitaire de
Beaulieu, 35042 Rennes Cedex, FranceThierry.Jeron, Jean-Marc.Jezequel, Yves.Le_Traon,
Pierre.Morel}@irisa.fr.
[2] Clay E. Williams, “Software testing and the UML”, International Symposium on Software
Reliability Engineering (ISSRE’99), Boca, Raton, 1999.
[3] L.C Briand , Labiche and Y Wang, "Revisiting Strategies for Ordering Class Integration Testing
in the Presence of Dependency Cycles", Proc' 12"' ISSRE,2001
[4] F. Gavril, "Some NP-complete Problems On Graphs", Proc. 1977 Conf. on Information
Sciences and Systems, April 1977, pp. 91-95.
[5] Mourad Badri, Linda Badri and Soumia Layachi, "Vers une stratedie de tests unitaires et
d'integration des classs dansles applications orient'ees object " , Revne Genie Logiciel, N. 38,
1995.
[6] A. Bertolion, P. Inverardi, H. Muccini, A. Rosetti, "An approach to integration testing based on
architectural descriptions", Proc. of the Third IEEE International Conference on Engineering of
Complex Computrt Systems, 1997, pp.77-84.
[7] Rober V. Binder, "Design for testablity in OO systems", Communication of ACM, 1994, Vol.
37, pp. 87-100.
[8] L. Briand, J. Feng and Y. Labiche, "Experimentiong with Genetic Algo and Coupling Measures
to Devise Optimal Test orders", Software Engineering with computational Intelligence Kluwer,
2003.
[9] V. Le Hahn, K. Akif, Y.Le Traon and J.M. Jezequel, "Selecting an efficient OO integration
testing strategies", 15th European Conference for OO programming, Budapest, June 2001.
[10] D. Kung, J. Gao, P. Hsia, Y. Toyoshima, and C. Chen. “A test strategy for object-oriented
programs” . In 19'h Computer Software and Applications Conference (COMPSAC 95), 244,
Dallas, TX, August 1995. IEEE Computer Society Press, pages 239.
Advanced Computing: An International Journal ( ACIJ ), Vol.3, No.4, July 2012
42
[11] K.C. Tai and F. Daniels. “Test order for inter-class integration testing of object-oriented
software”. In The Twenty-First Annual International omputer Software and Applications
Conference (COMPSAC '97), Santa Barbara CA, 1997. IEEE Computer Society, pages 602-
607.
[12] L. C. Briand, Y. Labiche , and Y. Wang. “An investigation of graph-based class integration test
order strategies”. IEEE Transactions on Software Engineering, , July 2003, pages: 29(7): 594-
607.
[13] Bertolino.A, “Software Testing: Guide to the software engineering body of knowledge”, IEEE
Software, Vol. 16, 1999, pp. 35-44.
[14] Linda Badri, Mourad Badri and Velou Stephane Ble- Department of Mathematics and computer
Sccience University of Quebec at Trois-Rivieres.,”A Method Based Approach for OO
Integration Testing: An Experimental Study.”
[15] Q’an Chen (Department of ComputerScience XiaMen UniversityXiamen 361005 China),
Xiaojiang Li (Department of TestEngineering The Academy of Equipm ent C & T Beijing 101
41 6 China) –“An Order-Assigned Strategy of Classes Integration Testing Based on Test
Level”.
[16] Rajni Pamnani, Pramila Chawan, Satish Salunkhe Department of computer technology, VJTI
University, Mumbai- “Object Oriented UML Modeling for ATM Systems”
[17] M. Waqas Raza Computer Science Department Mohammad Ali Jinnah University Islamabad,
Pakistan-“Comparison of Class Test Integration Ordering Strategies”, IEEE - International
Conference on Emerging Technologies, September 2005, 17-18, Islamabad.
[18] F. Basanieri and A. Bertolino. “A Practical Approach to UML-based Derivation of Integration
Tests”. In Proc. of the 4th International Quality Week Europe QWE2000.
[19] Q. Chen and X. Li, “An Order-Assigned Strategy of Classes Integration Testing Based on Test
Level”, IEEE 2003.
Authors:
Sourabh Sehgal Sourabh Sehgal had done his B.Tech(CS) from Ch. Devi Lal Memorial Engineering
College Panniwala Mota Sirsa (Haryana). At present he is doing M.Tech (Software Engineer) from
Rajasthan Technical University, Kota India. He has 2 year of Software Industry Experience. He had
presented paper in conferences.
Dr. Reena Dadhich is presently working as a Associate Professor and Head of the Department of Master
of Computer Applications at Engineering College Ajmer, India. She received her Ph.D. (Computer Sc.)
and M.Sc.(Computer Sc.) degree from Banasthali University, India. Her research interests are Algorithm
Analysis & Design ,Wireless Ad-Hoc Networks and Software Testing. She has more than 12 years of
teaching experience. She is working as an Editorial Board Member/Reviewer/Committee member of
various International Journals and Conferences. She has written many research papers and authored as
well as edited many books.

More Related Content

What's hot

Java căn bản - Chapter13
Java căn bản - Chapter13Java căn bản - Chapter13
Java căn bản - Chapter13
Vince Vo
 
Towards model driven testing
Towards model driven testingTowards model driven testing
Towards model driven testing
SergipeTec
 
Smu mca spring 2014 solved assignments
Smu mca spring 2014 solved assignmentsSmu mca spring 2014 solved assignments
Smu mca spring 2014 solved assignments
smumbahelp
 
The Heuristic Extraction Algorithms for Freeman Chain Code of Handwritten Cha...
The Heuristic Extraction Algorithms for Freeman Chain Code of Handwritten Cha...The Heuristic Extraction Algorithms for Freeman Chain Code of Handwritten Cha...
The Heuristic Extraction Algorithms for Freeman Chain Code of Handwritten Cha...
Waqas Tariq
 

What's hot (18)

Object Oriented Analysis and Design with UML2 part2
Object Oriented Analysis and Design with UML2 part2Object Oriented Analysis and Design with UML2 part2
Object Oriented Analysis and Design with UML2 part2
 
Fuzzy Retrial Queues with Priority using DSW Algorithm
Fuzzy Retrial Queues with Priority using DSW AlgorithmFuzzy Retrial Queues with Priority using DSW Algorithm
Fuzzy Retrial Queues with Priority using DSW Algorithm
 
Java căn bản - Chapter13
Java căn bản - Chapter13Java căn bản - Chapter13
Java căn bản - Chapter13
 
Towards model driven testing
Towards model driven testingTowards model driven testing
Towards model driven testing
 
ANALYSING QUALITY OF ENGLISH-HINDI MACHINE TRANSLATION ENGINE OUTPUTS USING B...
ANALYSING QUALITY OF ENGLISH-HINDI MACHINE TRANSLATION ENGINE OUTPUTS USING B...ANALYSING QUALITY OF ENGLISH-HINDI MACHINE TRANSLATION ENGINE OUTPUTS USING B...
ANALYSING QUALITY OF ENGLISH-HINDI MACHINE TRANSLATION ENGINE OUTPUTS USING B...
 
Validation of ATL Transformation to Generate a Reliable MVC2 Web Models
Validation of ATL Transformation to Generate a Reliable MVC2 Web ModelsValidation of ATL Transformation to Generate a Reliable MVC2 Web Models
Validation of ATL Transformation to Generate a Reliable MVC2 Web Models
 
EXPERIMENTAL EVALUATION AND RESULT DISCUSSION OF METAMORPHIC TESTING AUTOMATI...
EXPERIMENTAL EVALUATION AND RESULT DISCUSSION OF METAMORPHIC TESTING AUTOMATI...EXPERIMENTAL EVALUATION AND RESULT DISCUSSION OF METAMORPHIC TESTING AUTOMATI...
EXPERIMENTAL EVALUATION AND RESULT DISCUSSION OF METAMORPHIC TESTING AUTOMATI...
 
Smu mca spring 2014 solved assignments
Smu mca spring 2014 solved assignmentsSmu mca spring 2014 solved assignments
Smu mca spring 2014 solved assignments
 
A practical approach for model based slicing
A practical approach for model based slicingA practical approach for model based slicing
A practical approach for model based slicing
 
Aspect Oriented Programming Through C#.NET
Aspect Oriented Programming Through C#.NETAspect Oriented Programming Through C#.NET
Aspect Oriented Programming Through C#.NET
 
An Automatic Question Paper Generation : Using Bloom's Taxonomy
An Automatic Question Paper Generation : Using Bloom's   TaxonomyAn Automatic Question Paper Generation : Using Bloom's   Taxonomy
An Automatic Question Paper Generation : Using Bloom's Taxonomy
 
A NOVEL FEATURE SET FOR RECOGNITION OF SIMILAR SHAPED HANDWRITTEN HINDI CHARA...
A NOVEL FEATURE SET FOR RECOGNITION OF SIMILAR SHAPED HANDWRITTEN HINDI CHARA...A NOVEL FEATURE SET FOR RECOGNITION OF SIMILAR SHAPED HANDWRITTEN HINDI CHARA...
A NOVEL FEATURE SET FOR RECOGNITION OF SIMILAR SHAPED HANDWRITTEN HINDI CHARA...
 
9 abstract interface
9 abstract interface9 abstract interface
9 abstract interface
 
Operation research unit1 introduction and lpp graphical and simplex method
Operation research unit1 introduction and lpp graphical and simplex methodOperation research unit1 introduction and lpp graphical and simplex method
Operation research unit1 introduction and lpp graphical and simplex method
 
Holistic Approach for Arabic Word Recognition
Holistic Approach for Arabic Word RecognitionHolistic Approach for Arabic Word Recognition
Holistic Approach for Arabic Word Recognition
 
An experimental study of feature
An experimental study of featureAn experimental study of feature
An experimental study of feature
 
The Heuristic Extraction Algorithms for Freeman Chain Code of Handwritten Cha...
The Heuristic Extraction Algorithms for Freeman Chain Code of Handwritten Cha...The Heuristic Extraction Algorithms for Freeman Chain Code of Handwritten Cha...
The Heuristic Extraction Algorithms for Freeman Chain Code of Handwritten Cha...
 
Lecture07
Lecture07Lecture07
Lecture07
 

Similar to ANALYZING THE EFFICIENT TEST ORDER FOR INTEGRATION TESTING

Evidential diagnosis of inconsistencies in object oriented designs
Evidential diagnosis of inconsistencies in object oriented designsEvidential diagnosis of inconsistencies in object oriented designs
Evidential diagnosis of inconsistencies in object oriented designs
Kyriakos Kasis
 
An Approach to Software Testing of Machine Learning Applications
An Approach to Software Testing of Machine Learning ApplicationsAn Approach to Software Testing of Machine Learning Applications
An Approach to Software Testing of Machine Learning Applications
butest
 
Generation and Optimization of Test cases for Object-Oriented Software Using ...
Generation and Optimization of Test cases for Object-Oriented Software Using ...Generation and Optimization of Test cases for Object-Oriented Software Using ...
Generation and Optimization of Test cases for Object-Oriented Software Using ...
cscpconf
 
final report (ppt)
final report (ppt)final report (ppt)
final report (ppt)
butest
 
Paper-Allstate-Claim-Severity
Paper-Allstate-Claim-SeverityPaper-Allstate-Claim-Severity
Paper-Allstate-Claim-Severity
Gon-soo Moon
 
Performance Comparision of Machine Learning Algorithms
Performance Comparision of Machine Learning AlgorithmsPerformance Comparision of Machine Learning Algorithms
Performance Comparision of Machine Learning Algorithms
Dinusha Dilanka
 

Similar to ANALYZING THE EFFICIENT TEST ORDER FOR INTEGRATION TESTING (20)

Cs6502 ooad-cse-vst-au-unit-v dce
Cs6502 ooad-cse-vst-au-unit-v dceCs6502 ooad-cse-vst-au-unit-v dce
Cs6502 ooad-cse-vst-au-unit-v dce
 
Generation of Testcases from UML Sequence Diagram and Detecting Deadlocks usi...
Generation of Testcases from UML Sequence Diagram and Detecting Deadlocks usi...Generation of Testcases from UML Sequence Diagram and Detecting Deadlocks usi...
Generation of Testcases from UML Sequence Diagram and Detecting Deadlocks usi...
 
Configuration Navigation Analysis Model for Regression Test Case Prioritization
Configuration Navigation Analysis Model for Regression Test Case PrioritizationConfiguration Navigation Analysis Model for Regression Test Case Prioritization
Configuration Navigation Analysis Model for Regression Test Case Prioritization
 
Evidential diagnosis of inconsistencies in object oriented designs
Evidential diagnosis of inconsistencies in object oriented designsEvidential diagnosis of inconsistencies in object oriented designs
Evidential diagnosis of inconsistencies in object oriented designs
 
An Approach to Software Testing of Machine Learning Applications
An Approach to Software Testing of Machine Learning ApplicationsAn Approach to Software Testing of Machine Learning Applications
An Approach to Software Testing of Machine Learning Applications
 
Test design techniques
Test design techniquesTest design techniques
Test design techniques
 
types of testing with descriptions and examples
types of testing with descriptions and examplestypes of testing with descriptions and examples
types of testing with descriptions and examples
 
Generation and Optimization of Test cases for Object-Oriented Software Using ...
Generation and Optimization of Test cases for Object-Oriented Software Using ...Generation and Optimization of Test cases for Object-Oriented Software Using ...
Generation and Optimization of Test cases for Object-Oriented Software Using ...
 
Threshold benchmarking for feature ranking techniques
Threshold benchmarking for feature ranking techniquesThreshold benchmarking for feature ranking techniques
Threshold benchmarking for feature ranking techniques
 
COMBINED CHARGES DIFFICULTY EVALUATION AND TESTEES LEVEL FOR INTELLECT APPRA...
COMBINED CHARGES DIFFICULTY EVALUATION AND  TESTEES LEVEL FOR INTELLECT APPRA...COMBINED CHARGES DIFFICULTY EVALUATION AND  TESTEES LEVEL FOR INTELLECT APPRA...
COMBINED CHARGES DIFFICULTY EVALUATION AND TESTEES LEVEL FOR INTELLECT APPRA...
 
Detecting Aspect Intertype Declaration Interference at Aspect Oriented Design...
Detecting Aspect Intertype Declaration Interference at Aspect Oriented Design...Detecting Aspect Intertype Declaration Interference at Aspect Oriented Design...
Detecting Aspect Intertype Declaration Interference at Aspect Oriented Design...
 
final report (ppt)
final report (ppt)final report (ppt)
final report (ppt)
 
Paper-Allstate-Claim-Severity
Paper-Allstate-Claim-SeverityPaper-Allstate-Claim-Severity
Paper-Allstate-Claim-Severity
 
EFFECTIVE IMPLEMENTATION OF AGILE PRACTICES – OBJECT ORIENTED METRICS TOOL TO...
EFFECTIVE IMPLEMENTATION OF AGILE PRACTICES – OBJECT ORIENTED METRICS TOOL TO...EFFECTIVE IMPLEMENTATION OF AGILE PRACTICES – OBJECT ORIENTED METRICS TOOL TO...
EFFECTIVE IMPLEMENTATION OF AGILE PRACTICES – OBJECT ORIENTED METRICS TOOL TO...
 
Ijmet 10 01_141
Ijmet 10 01_141Ijmet 10 01_141
Ijmet 10 01_141
 
Performance Comparision of Machine Learning Algorithms
Performance Comparision of Machine Learning AlgorithmsPerformance Comparision of Machine Learning Algorithms
Performance Comparision of Machine Learning Algorithms
 
Lect24-Efficient test suite mgt - IV.pptx
Lect24-Efficient test suite mgt - IV.pptxLect24-Efficient test suite mgt - IV.pptx
Lect24-Efficient test suite mgt - IV.pptx
 
Minimal Testcase Generation for Object-Oriented Software with State Charts
Minimal Testcase Generation for Object-Oriented Software with State ChartsMinimal Testcase Generation for Object-Oriented Software with State Charts
Minimal Testcase Generation for Object-Oriented Software with State Charts
 
Proposing an Appropriate Pattern for Car Detection by Using Intelligent Algor...
Proposing an Appropriate Pattern for Car Detection by Using Intelligent Algor...Proposing an Appropriate Pattern for Car Detection by Using Intelligent Algor...
Proposing an Appropriate Pattern for Car Detection by Using Intelligent Algor...
 
IRJET- Sentimental Analysis for Online Reviews using Machine Learning Algorithms
IRJET- Sentimental Analysis for Online Reviews using Machine Learning AlgorithmsIRJET- Sentimental Analysis for Online Reviews using Machine Learning Algorithms
IRJET- Sentimental Analysis for Online Reviews using Machine Learning Algorithms
 

More from acijjournal

Data Transformation Technique for Protecting Private Information in Privacy P...
Data Transformation Technique for Protecting Private Information in Privacy P...Data Transformation Technique for Protecting Private Information in Privacy P...
Data Transformation Technique for Protecting Private Information in Privacy P...
acijjournal
 
DETECTION OF FORGERY AND FABRICATION IN PASSPORTS AND VISAS USING CRYPTOGRAPH...
DETECTION OF FORGERY AND FABRICATION IN PASSPORTS AND VISAS USING CRYPTOGRAPH...DETECTION OF FORGERY AND FABRICATION IN PASSPORTS AND VISAS USING CRYPTOGRAPH...
DETECTION OF FORGERY AND FABRICATION IN PASSPORTS AND VISAS USING CRYPTOGRAPH...
acijjournal
 
Detection of Forgery and Fabrication in Passports and Visas Using Cryptograph...
Detection of Forgery and Fabrication in Passports and Visas Using Cryptograph...Detection of Forgery and Fabrication in Passports and Visas Using Cryptograph...
Detection of Forgery and Fabrication in Passports and Visas Using Cryptograph...
acijjournal
 

More from acijjournal (20)

Jan_2024_Top_read_articles_in_ACIJ.pdf
Jan_2024_Top_read_articles_in_ACIJ.pdfJan_2024_Top_read_articles_in_ACIJ.pdf
Jan_2024_Top_read_articles_in_ACIJ.pdf
 
Call for Papers - Advanced Computing An International Journal (ACIJ) (2).pdf
Call for Papers - Advanced Computing An International Journal (ACIJ) (2).pdfCall for Papers - Advanced Computing An International Journal (ACIJ) (2).pdf
Call for Papers - Advanced Computing An International Journal (ACIJ) (2).pdf
 
cs - ACIJ (4) (1).pdf
cs - ACIJ (4) (1).pdfcs - ACIJ (4) (1).pdf
cs - ACIJ (4) (1).pdf
 
cs - ACIJ (2).pdf
cs - ACIJ (2).pdfcs - ACIJ (2).pdf
cs - ACIJ (2).pdf
 
7thInternational Conference on Data Mining & Knowledge Management (DaKM 2022)
7thInternational Conference on Data Mining & Knowledge Management (DaKM 2022)7thInternational Conference on Data Mining & Knowledge Management (DaKM 2022)
7thInternational Conference on Data Mining & Knowledge Management (DaKM 2022)
 
7thInternational Conference on Data Mining & Knowledge Management (DaKM 2022)
7thInternational Conference on Data Mining & Knowledge Management (DaKM 2022)7thInternational Conference on Data Mining & Knowledge Management (DaKM 2022)
7thInternational Conference on Data Mining & Knowledge Management (DaKM 2022)
 
7thInternational Conference on Data Mining & Knowledge Management (DaKM 2022)
7thInternational Conference on Data Mining & Knowledge Management (DaKM 2022)7thInternational Conference on Data Mining & Knowledge Management (DaKM 2022)
7thInternational Conference on Data Mining & Knowledge Management (DaKM 2022)
 
4thInternational Conference on Machine Learning & Applications (CMLA 2022)
4thInternational Conference on Machine Learning & Applications (CMLA 2022)4thInternational Conference on Machine Learning & Applications (CMLA 2022)
4thInternational Conference on Machine Learning & Applications (CMLA 2022)
 
7thInternational Conference on Data Mining & Knowledge Management (DaKM 2022)
7thInternational Conference on Data Mining & Knowledge Management (DaKM 2022)7thInternational Conference on Data Mining & Knowledge Management (DaKM 2022)
7thInternational Conference on Data Mining & Knowledge Management (DaKM 2022)
 
3rdInternational Conference on Natural Language Processingand Applications (N...
3rdInternational Conference on Natural Language Processingand Applications (N...3rdInternational Conference on Natural Language Processingand Applications (N...
3rdInternational Conference on Natural Language Processingand Applications (N...
 
4thInternational Conference on Machine Learning & Applications (CMLA 2022)
4thInternational Conference on Machine Learning & Applications (CMLA 2022)4thInternational Conference on Machine Learning & Applications (CMLA 2022)
4thInternational Conference on Machine Learning & Applications (CMLA 2022)
 
Graduate School Cyber Portfolio: The Innovative Menu For Sustainable Development
Graduate School Cyber Portfolio: The Innovative Menu For Sustainable DevelopmentGraduate School Cyber Portfolio: The Innovative Menu For Sustainable Development
Graduate School Cyber Portfolio: The Innovative Menu For Sustainable Development
 
Genetic Algorithms and Programming - An Evolutionary Methodology
Genetic Algorithms and Programming - An Evolutionary MethodologyGenetic Algorithms and Programming - An Evolutionary Methodology
Genetic Algorithms and Programming - An Evolutionary Methodology
 
Data Transformation Technique for Protecting Private Information in Privacy P...
Data Transformation Technique for Protecting Private Information in Privacy P...Data Transformation Technique for Protecting Private Information in Privacy P...
Data Transformation Technique for Protecting Private Information in Privacy P...
 
Advanced Computing: An International Journal (ACIJ)
Advanced Computing: An International Journal (ACIJ) Advanced Computing: An International Journal (ACIJ)
Advanced Computing: An International Journal (ACIJ)
 
E-Maintenance: Impact Over Industrial Processes, Its Dimensions & Principles
E-Maintenance: Impact Over Industrial Processes, Its Dimensions & PrinciplesE-Maintenance: Impact Over Industrial Processes, Its Dimensions & Principles
E-Maintenance: Impact Over Industrial Processes, Its Dimensions & Principles
 
10th International Conference on Software Engineering and Applications (SEAPP...
10th International Conference on Software Engineering and Applications (SEAPP...10th International Conference on Software Engineering and Applications (SEAPP...
10th International Conference on Software Engineering and Applications (SEAPP...
 
10th International conference on Parallel, Distributed Computing and Applicat...
10th International conference on Parallel, Distributed Computing and Applicat...10th International conference on Parallel, Distributed Computing and Applicat...
10th International conference on Parallel, Distributed Computing and Applicat...
 
DETECTION OF FORGERY AND FABRICATION IN PASSPORTS AND VISAS USING CRYPTOGRAPH...
DETECTION OF FORGERY AND FABRICATION IN PASSPORTS AND VISAS USING CRYPTOGRAPH...DETECTION OF FORGERY AND FABRICATION IN PASSPORTS AND VISAS USING CRYPTOGRAPH...
DETECTION OF FORGERY AND FABRICATION IN PASSPORTS AND VISAS USING CRYPTOGRAPH...
 
Detection of Forgery and Fabrication in Passports and Visas Using Cryptograph...
Detection of Forgery and Fabrication in Passports and Visas Using Cryptograph...Detection of Forgery and Fabrication in Passports and Visas Using Cryptograph...
Detection of Forgery and Fabrication in Passports and Visas Using Cryptograph...
 

Recently uploaded

School management system project report.pdf
School management system project report.pdfSchool management system project report.pdf
School management system project report.pdf
Kamal Acharya
 
DR PROF ING GURUDUTT SAHNI WIKIPEDIA.pdf
DR PROF ING GURUDUTT SAHNI WIKIPEDIA.pdfDR PROF ING GURUDUTT SAHNI WIKIPEDIA.pdf
DR PROF ING GURUDUTT SAHNI WIKIPEDIA.pdf
DrGurudutt
 
Complex plane, Modulus, Argument, Graphical representation of a complex numbe...
Complex plane, Modulus, Argument, Graphical representation of a complex numbe...Complex plane, Modulus, Argument, Graphical representation of a complex numbe...
Complex plane, Modulus, Argument, Graphical representation of a complex numbe...
MohammadAliNayeem
 
ONLINE VEHICLE RENTAL SYSTEM PROJECT REPORT.pdf
ONLINE VEHICLE RENTAL SYSTEM PROJECT REPORT.pdfONLINE VEHICLE RENTAL SYSTEM PROJECT REPORT.pdf
ONLINE VEHICLE RENTAL SYSTEM PROJECT REPORT.pdf
Kamal Acharya
 

Recently uploaded (20)

Attraction and Repulsion type Moving Iron Instruments.pptx
Attraction and Repulsion type Moving Iron Instruments.pptxAttraction and Repulsion type Moving Iron Instruments.pptx
Attraction and Repulsion type Moving Iron Instruments.pptx
 
Online book store management system project.pdf
Online book store management system project.pdfOnline book store management system project.pdf
Online book store management system project.pdf
 
Arduino based vehicle speed tracker project
Arduino based vehicle speed tracker projectArduino based vehicle speed tracker project
Arduino based vehicle speed tracker project
 
ChatGPT Prompt Engineering for project managers.pdf
ChatGPT Prompt Engineering for project managers.pdfChatGPT Prompt Engineering for project managers.pdf
ChatGPT Prompt Engineering for project managers.pdf
 
E-Commerce Shopping using MERN Stack where different modules are present
E-Commerce Shopping using MERN Stack where different modules are presentE-Commerce Shopping using MERN Stack where different modules are present
E-Commerce Shopping using MERN Stack where different modules are present
 
Low rpm Generator for efficient energy harnessing from a two stage wind turbine
Low rpm Generator for efficient energy harnessing from a two stage wind turbineLow rpm Generator for efficient energy harnessing from a two stage wind turbine
Low rpm Generator for efficient energy harnessing from a two stage wind turbine
 
School management system project report.pdf
School management system project report.pdfSchool management system project report.pdf
School management system project report.pdf
 
BURGER ORDERING SYSYTEM PROJECT REPORT..pdf
BURGER ORDERING SYSYTEM PROJECT REPORT..pdfBURGER ORDERING SYSYTEM PROJECT REPORT..pdf
BURGER ORDERING SYSYTEM PROJECT REPORT..pdf
 
"United Nations Park" Site Visit Report.
"United Nations Park" Site  Visit Report."United Nations Park" Site  Visit Report.
"United Nations Park" Site Visit Report.
 
The battle for RAG, explore the pros and cons of using KnowledgeGraphs and Ve...
The battle for RAG, explore the pros and cons of using KnowledgeGraphs and Ve...The battle for RAG, explore the pros and cons of using KnowledgeGraphs and Ve...
The battle for RAG, explore the pros and cons of using KnowledgeGraphs and Ve...
 
DR PROF ING GURUDUTT SAHNI WIKIPEDIA.pdf
DR PROF ING GURUDUTT SAHNI WIKIPEDIA.pdfDR PROF ING GURUDUTT SAHNI WIKIPEDIA.pdf
DR PROF ING GURUDUTT SAHNI WIKIPEDIA.pdf
 
Complex plane, Modulus, Argument, Graphical representation of a complex numbe...
Complex plane, Modulus, Argument, Graphical representation of a complex numbe...Complex plane, Modulus, Argument, Graphical representation of a complex numbe...
Complex plane, Modulus, Argument, Graphical representation of a complex numbe...
 
KIT-601 Lecture Notes-UNIT-5.pdf Frame Works and Visualization
KIT-601 Lecture Notes-UNIT-5.pdf Frame Works and VisualizationKIT-601 Lecture Notes-UNIT-5.pdf Frame Works and Visualization
KIT-601 Lecture Notes-UNIT-5.pdf Frame Works and Visualization
 
ONLINE VEHICLE RENTAL SYSTEM PROJECT REPORT.pdf
ONLINE VEHICLE RENTAL SYSTEM PROJECT REPORT.pdfONLINE VEHICLE RENTAL SYSTEM PROJECT REPORT.pdf
ONLINE VEHICLE RENTAL SYSTEM PROJECT REPORT.pdf
 
Introduction to Machine Learning Unit-4 Notes for II-II Mechanical Engineering
Introduction to Machine Learning Unit-4 Notes for II-II Mechanical EngineeringIntroduction to Machine Learning Unit-4 Notes for II-II Mechanical Engineering
Introduction to Machine Learning Unit-4 Notes for II-II Mechanical Engineering
 
Lect_Z_Transform_Main_digital_image_processing.pptx
Lect_Z_Transform_Main_digital_image_processing.pptxLect_Z_Transform_Main_digital_image_processing.pptx
Lect_Z_Transform_Main_digital_image_processing.pptx
 
2024 DevOps Pro Europe - Growing at the edge
2024 DevOps Pro Europe - Growing at the edge2024 DevOps Pro Europe - Growing at the edge
2024 DevOps Pro Europe - Growing at the edge
 
ANSI(ST)-III_Manufacturing-I_05052020.pdf
ANSI(ST)-III_Manufacturing-I_05052020.pdfANSI(ST)-III_Manufacturing-I_05052020.pdf
ANSI(ST)-III_Manufacturing-I_05052020.pdf
 
Electrical shop management system project report.pdf
Electrical shop management system project report.pdfElectrical shop management system project report.pdf
Electrical shop management system project report.pdf
 
Theory for How to calculation capacitor bank
Theory for How to calculation capacitor bankTheory for How to calculation capacitor bank
Theory for How to calculation capacitor bank
 

ANALYZING THE EFFICIENT TEST ORDER FOR INTEGRATION TESTING

  • 1. Advanced Computing: An International Journal ( ACIJ ), Vol.3, No.4, July 2012 DOI : 10.5121/acij.2012.3405 35 ANALYZING THE EFFICIENT TEST ORDER FOR INTEGRATION TESTING Dr. Reena Dadhich1 and Sourabh Sehgal2 Associate Professor, Govt. Engineering College, Ajmer (RTU, Kota) 1 reena.dadhich@gmail.com1 Govt. Engineering College, Ajmer (RTU, Kota) 2 reachsourabh@yahoo.co.in 2 ABSTRACT One major characteristics of Object Oriented Software is the complex dependency that exists between classes due to three different types of relationships that are inheritance, association and aggregation. Due to these dependencies one major problem arise while integrating and testing the object oriented software in order to reduce the number of required test stubs and to determine the test order for testing different classes. This paper presents a comparison between different test orders by exploiting a model produced during design stages (e.g. using UML), namely the Use Case Diagram and Class Diagrams. Our goal is to study and compare different test orders. Based on which we will propose efficient test order to reduce the number of stubs as well as time of testing. For the analysis of our proposed method we will take software developed for ATM machine. KEYWORDS Stubs, UML, Integration Testing, Test Order. 1. INTRODUCTION Software testing is one of the most important activities in software development life cycle. Software organizations spend the large percentage of their budget in testing related activities of the developed software and ready to be implemented. A well tested software system will be validated by the customer before acceptance as discussed in [1]. The standardization of semi- formal modeling methods, such as UML reveals that testing can no longer be separated from specification/design/code stages: design-for-testability is a necessary basis for final-product reliability.UML is a widely accepted set of notations for modeling Object Oriented System, to build testable and thus, hopefully, trustable OO systems[2]. Use of UML diagrams helps a lot in communication of project teams to explore potential designs, and to validate the architectural design of the software. It has various diagrams for depicting the dynamic behavior of the objects in a system [18]. The most important objective of class integration testing is to find error(s) during interaction of classes. Therefore it is relevant to consider this interaction during integration process. If one class is integrated before another class on which it depends, a dummy class that full fills the behavior of the second class is needed. This dummy class is known as Stub as given in [14].
  • 2. Advanced Computing: An International Journal ( ACIJ ), Vol.3, No.4, July 2012 36 Many OO Integration strategies have been proposed time to time in various research papers [5- 7] and [9]. Other approaches addressing the class integration order problem have recently been proposed in research papers [8] and [9] during 2001-2003. These approaches are either based on Genetic Algorithms or graph-based approaches [3] and [ 9]. These strategies have two primary objective common points. The first most important objective is to minimize the number of required stubs. And the second objective is to determine the efficient integration order to reduce number of integration steps. The order in which integration testing is performed is very important. Briand et al. [3] explained that in case of object oriented software, integration order of classes affects the efficiency and cost of testing. The test order is important for several reasons. First, the test order affects the order in which classes are developed. Second, inter-class test order impacts the use of test stubs and drivers for classes and the preparation of test cases. Third, inter-class test order determines the order in which inter-class faults are detected. In Object Oriented Software all classes are integrated either from most dependent class to least dependent class or from least dependent class to most dependent class. In this paper we compare these two different test orders of integration testing. The organization of the paper is as follow: In section 2 we will study the related work. In section 3 we will discuss some desirable properties for class integration. Then in section 4, we will compare different class integration order. Then in section 5 we will find the best testing order using example. In the whole paper we will take an example of ATM machine as given in [16] for our study and in section 6 the paper concludes with analysis about the efficient testing order. 2. RELATED WORK Strategy used to integrate two existing methods aimed at breaking cycles so as to allow a topological order of class have been proposed by Tai et al and Le Traon [11]. A new class integration testing strategy based on a new Class Dependency Model has been proposed by Badri et al in [5]. Various approaches used for integration testing of Object Oriented applications that have been modeled in Unified Modeling Language are discussed by M. Waqas Raza [17]. Different model, strategy and methodology for planning integration and regression testing from an OO model have been proposed by Thierry Jéron and his team in [13]. 3. TEST ORDER: PROPERTIES In integration testing the test order is also referred as inter-class test order. In this section we will discuss about the different properties for inter-class test order. In our case study model i.e. the software for ATM machine, there is a class ‘ATM’ and we will take this class as a testing class. To find the efficient testing order there are some desirable properties. To understand these properties we assume that testing a class ‘ATM’ (as shown in Fig: 1 Object Relation Diagram (ORD) for ATM) for interclass Integration involves the following two steps:
  • 3. Advanced Computing: An International Journal ( ACIJ ), Vol.3, No.4, July 2012 37 i) Outgoing edge of ‘ATM’ must be tested at least once. If ‘ATM’ has an outgoing edge to class ‘CardReader’ that has not been integrated yet, then a stub for ‘CardReader’ is used for testing this edge. ii) Each incoming edge of ‘ATM’ from a class that has been integrated, retest this edge at least once. Such an edge was tested earlier using a stub for ‘ATM’. Retesting such an edge is needed since a stub for ‘ATM’ is a simplified version of ‘ATM’ iii) Fig 1: ORD (ATM) If class ‘ATM’ has an outgoing inheritance or aggregation edge to class ‘CardReader’, then ‘CardReader’ should be tested before ‘ATM’ for inter-class integration. Since inheritance and aggregation relations between classes do not form cycles, the following properties for inter- class test order are desirable: Property 1: For any two classes shown in Fig: 1 ORD say ‘CardReader’ and ‘ATM’, if there exists a directed path from ‘CardReader’ to ‘ATM’ such that the path contains inheritance and aggregation edges only, then ‘CardReader’ is tested before ‘ATM’ for inter-class integration. As shown in Fig: 1 an Association edge exists between these two classes, so if we test ‘ATM’ class first then we need stub of ‘CardReader’ class. This property can also be extended by allowing association edges. Property 2: For classes ‘ATM’ and ‘CardReader’ in an ORD shown in Fig 1, if there exists a directed path from ‘CardReader’ to ‘ATM’ and no directed paths from ‘ATM’ to ‘CardReader’, then ‘CardReader’ is tested before ‘ATM’ for inter-class integration. If association edge contains in ORD, then ORD must contains cycles. To remove cycles in ORD, we must remove association edges. Then only we can produce test order. One of the major issue in integration testing is creating stubs for those classes that are still not integrated. The number of stubs can be reduced based on the association edge we are deleting. Reciept CardReader Card CustomerConsole ATM Session CashDispenser Transaction Deposit Balance CashWithdraw
  • 4. Advanced Computing: An International Journal ( ACIJ ), Vol.3, No.4, July 2012 38 Property 3: ORD that contains cycles, reduce the number of stubs needed for integration testing at reasonable cost. The second issue occurs when a class ‘ATM’ whose stub was used earlier is being tested for inter-class integration. As mentioned earlier, all incoming association edges of ‘ATM’ from classes that have been integrated need to be retested. Now the question arises in what order we should test these association edges? For this we consider two classes say ‘Receipt’ and ‘CashDispenser’ have outgoing association edges to ‘ATM’ and ‘CashDispenser’ is integrated before ‘Receipt’. The association edge from ‘CashDispenser’ to ‘ATM’ should be retested before that from ‘Receipt’’ to ‘ATM’, since there may exist a directed path from ‘Receipt’’ and ‘CashDispenser’ that contains inheritance and aggregation edges. PROPERTY 4: Suppose that classes ‘Receipt’ and ‘CashDispenser’ have outgoing association edges to ‘ATM’, ‘CashDispenser’ is tested for inter-class integration before ‘Receipt’, and ‘Receipt’ is tested for inter-class integration before ‘ATM’. When ‘ATM’ is being tested for inter-class integration, the association edge from ‘CashDispenser’ to ‘ATM’ should be retested before that from ‘Receipt’ to ‘ATM’. 4. TEST ORDER: COMPARISON Test order is an decisive factor of test work, it is a most valuable factor that working out a high- efficiency test order of classes in Object Oriented Software to minimize test work [15]. So one of the most important tasks of Object Oriented Integration testing is to find the efficient test order in which all classes are integrated [19]. Basically there are two types of integration order i.e. from most dependent class to least dependent class and from least dependent class to most dependent. The test order used for class integration affects the number of stubs, efforts and time required for testing. In the next section we will analyze these two orders in respect of efforts and time required for testing, and by comparing results of two we can propose efficient test order which will give integrated classes. 5 CASE STUDY In some papers [3, 10, 11, 12], the testing effort is estimated by counting the number of stubs that are required for testing by assuming that all stubs are equally difficult to write. When the number of stubs increases testing efforts increases proportionally and vice versa. SCENARIO 1: We are considering Banking ATM example and test all classes in two different orders from least dependent class to most dependent class and most dependent class to least depend. For this we are using class diagram for an ATM machine [16] in banking sector which is modeled through Unified Modelling Language (UML). The basic structure of the class diagram arises from the responsibilities and relationships discovered when doing the CRC cards and Interaction Diagrams. As we estimate efforts with number of stubs [3], [10] and [12], we consider one constant value X, Let’s say X=10.
  • 5. Advanced Computing: An International Journal ( ACIJ ), Vol.3, No.4, July 2012 39 Based on the class diagram shown in Fig 2, we have constructed a Table 1 which shows different attributes, methods and dependencies between two classes. The table also shows the data related to the number of stubs as well as estimated efforts required for a particular class. It is clear from the table that different classes have different number of dependencies. As the number of dependency increases, number of stubs also increases. So now the question arise which class should we test first, the class having low dependency or the class having high dependency? This can be compute with the estimated efforts. Estimated Efforts mentioned in Table 1 is calculated on the basis of Number of Stubs * X (constant). Thus as the number of stubs increases, the testing efforts increases. Thus we can conclude that if we test less dependent class then the estimated effort is less as compared to the case when we test more dependent class first. We can also say that testing effort is directly proportional to the number of stubs. So testing should start from the class that require least number of stubs and so on. This is a better order to test the classes. Fig 2: Class Diagram (ATM) SCENARIO 2: Now we are considering another scenario i.e. time factor to compare testing order. Let us suppose each class takes T seconds to test. And t seconds are needed to build one stub. Session PinNo VerifyPin() CreateSession() CashWithDraw SessionID Amount_WithDraw CheckBalance() WithDraw() Balance SessionID BalanceEnquiry() Deposit SessionID Amount_Deposit Deposit() 1 * Has * 1 Creates * 1 reads 1 1 1 1 1 1 1 * Card CashDispenser InitalCash TotalCash SetInitialCash() CheckMaxCash() DespenseCash() Transaction PinNo CreateTransaction() M M M CardReader PinNo ReadCard() EjectCard() Reciept SessionID Print() CustomerConsole ATM PinNo DisplayMenu() DisplayMessage() ReadPin() ATM CardNo PinN0 CreateSession() GetLogDetails() NewClass
  • 6. Advanced Computing: An International Journal ( ACIJ ), Vol.3, No.4, July 2012 40 Considering Table 1, the class ‘ATM’ require 7 stubs, as this class is most dependent class then total time to test this class is (T+7t) where as the classes ‘Cash Dispenser’ and ‘Operator’ need only one stub thus the total time required for testing each of these classes is (T+ 1t). As the number of dependencies increases, number of required stubs increases and ultimately testing time increases. Thus if we test more dependent class first, testing time increases a lot. From this we can say that if we start testing from least dependent class, the testing time decreases as the number of required stubs decreases. 6. CONCLUSION From both above mentioned scenarios as mentioned in section V we can conclude that test order from least dependent class to most dependent class is much efficient than the test order from most dependent class to least dependent class as both the time and efforts increases when we start testing from most dependent class and move towards the least dependent classes. Table 1: Class name, attributes, and methods for a Class Diagram Class Name Attributes Methods Number of Dependencies Number of Stubs Estimated Effort ATM atmid:integer, bankname:string , state:string,locat ion:string performStartup() ,performShutdo wn() createSession(),g etLogDetails() 7 7 70 CustomerC onsole atm:ATM displayMenu(), displayMessage () readPIN() 1 1 10 CardReader atm:ATM readCard(), ejectCard() 2 2 20 CashDispe nser Initialcash:integ er, totalcash:integer setInitialCash(), checkMaxCash( ) dispenseCash() 1 1 10 Operator atm:ATM switchOn(), switchOff(), checkATMStatu s() 1 1 10 Session atm:ATM,pin:in teger,state:string createSession(),v erifyPIN() 3 3 30 Transaction atm:ATM, session: Session, pin:integer, createTransactio n() 2 2 20
  • 7. Advanced Computing: An International Journal ( ACIJ ), Vol.3, No.4, July 2012 41 balance:integer Deposit amount:integer, bankname:string , pin:integer getDetails(),perf ormDeposit() 2 2 20 Withdrawal amount:integer, bankname:string , pin:integer, balance:integer getDetails(),,perf ormWithdrawal () 2 2 20 BalanceEn quiry pin:integer, bankname:string getDetails(),perf ormEnquiry() 2 2 20 REFERENCES [1] Thierry Jéron, Jean-Marc Jézéquel, Yves Le Traon, and Pierre Morel IRISA-INRIA,” Efficient Strategies for Integration and Regression Testing of OO Systems”, Campus Universitaire de Beaulieu, 35042 Rennes Cedex, FranceThierry.Jeron, Jean-Marc.Jezequel, Yves.Le_Traon, Pierre.Morel}@irisa.fr. [2] Clay E. Williams, “Software testing and the UML”, International Symposium on Software Reliability Engineering (ISSRE’99), Boca, Raton, 1999. [3] L.C Briand , Labiche and Y Wang, "Revisiting Strategies for Ordering Class Integration Testing in the Presence of Dependency Cycles", Proc' 12"' ISSRE,2001 [4] F. Gavril, "Some NP-complete Problems On Graphs", Proc. 1977 Conf. on Information Sciences and Systems, April 1977, pp. 91-95. [5] Mourad Badri, Linda Badri and Soumia Layachi, "Vers une stratedie de tests unitaires et d'integration des classs dansles applications orient'ees object " , Revne Genie Logiciel, N. 38, 1995. [6] A. Bertolion, P. Inverardi, H. Muccini, A. Rosetti, "An approach to integration testing based on architectural descriptions", Proc. of the Third IEEE International Conference on Engineering of Complex Computrt Systems, 1997, pp.77-84. [7] Rober V. Binder, "Design for testablity in OO systems", Communication of ACM, 1994, Vol. 37, pp. 87-100. [8] L. Briand, J. Feng and Y. Labiche, "Experimentiong with Genetic Algo and Coupling Measures to Devise Optimal Test orders", Software Engineering with computational Intelligence Kluwer, 2003. [9] V. Le Hahn, K. Akif, Y.Le Traon and J.M. Jezequel, "Selecting an efficient OO integration testing strategies", 15th European Conference for OO programming, Budapest, June 2001. [10] D. Kung, J. Gao, P. Hsia, Y. Toyoshima, and C. Chen. “A test strategy for object-oriented programs” . In 19'h Computer Software and Applications Conference (COMPSAC 95), 244, Dallas, TX, August 1995. IEEE Computer Society Press, pages 239.
  • 8. Advanced Computing: An International Journal ( ACIJ ), Vol.3, No.4, July 2012 42 [11] K.C. Tai and F. Daniels. “Test order for inter-class integration testing of object-oriented software”. In The Twenty-First Annual International omputer Software and Applications Conference (COMPSAC '97), Santa Barbara CA, 1997. IEEE Computer Society, pages 602- 607. [12] L. C. Briand, Y. Labiche , and Y. Wang. “An investigation of graph-based class integration test order strategies”. IEEE Transactions on Software Engineering, , July 2003, pages: 29(7): 594- 607. [13] Bertolino.A, “Software Testing: Guide to the software engineering body of knowledge”, IEEE Software, Vol. 16, 1999, pp. 35-44. [14] Linda Badri, Mourad Badri and Velou Stephane Ble- Department of Mathematics and computer Sccience University of Quebec at Trois-Rivieres.,”A Method Based Approach for OO Integration Testing: An Experimental Study.” [15] Q’an Chen (Department of ComputerScience XiaMen UniversityXiamen 361005 China), Xiaojiang Li (Department of TestEngineering The Academy of Equipm ent C & T Beijing 101 41 6 China) –“An Order-Assigned Strategy of Classes Integration Testing Based on Test Level”. [16] Rajni Pamnani, Pramila Chawan, Satish Salunkhe Department of computer technology, VJTI University, Mumbai- “Object Oriented UML Modeling for ATM Systems” [17] M. Waqas Raza Computer Science Department Mohammad Ali Jinnah University Islamabad, Pakistan-“Comparison of Class Test Integration Ordering Strategies”, IEEE - International Conference on Emerging Technologies, September 2005, 17-18, Islamabad. [18] F. Basanieri and A. Bertolino. “A Practical Approach to UML-based Derivation of Integration Tests”. In Proc. of the 4th International Quality Week Europe QWE2000. [19] Q. Chen and X. Li, “An Order-Assigned Strategy of Classes Integration Testing Based on Test Level”, IEEE 2003. Authors: Sourabh Sehgal Sourabh Sehgal had done his B.Tech(CS) from Ch. Devi Lal Memorial Engineering College Panniwala Mota Sirsa (Haryana). At present he is doing M.Tech (Software Engineer) from Rajasthan Technical University, Kota India. He has 2 year of Software Industry Experience. He had presented paper in conferences. Dr. Reena Dadhich is presently working as a Associate Professor and Head of the Department of Master of Computer Applications at Engineering College Ajmer, India. She received her Ph.D. (Computer Sc.) and M.Sc.(Computer Sc.) degree from Banasthali University, India. Her research interests are Algorithm Analysis & Design ,Wireless Ad-Hoc Networks and Software Testing. She has more than 12 years of teaching experience. She is working as an Editorial Board Member/Reviewer/Committee member of various International Journals and Conferences. She has written many research papers and authored as well as edited many books.