Prioritization of Implementation Based Testing Technique For Class Under Test
Prioritization of Implementation Based Testing Technique For Class Under Test
Volume: 2 Issue: 9
ISSN: 2321-8169
2690 2694
_______________________________________________________________________________________________
Assistant Professor,
Department of Computer Engineering,
VPCOE,Baramati
Pune University(MH), India
e-mail: [email protected]
Assistant Professor,
Department of Computer Engineering
VPCOE, Baramati
Pune University(MH), India
e-mail: [email protected]
Abstract The basic unit of testing in an Object-Oriented (OO) software is a class. The Object-Oriented (OO) classes exhibits different
characteristic. Due to this different characteristics of class testing become more difficult. To address the difficulty of testing the different features
of a class a plethora of Implementation Based Testing Techniques (IBTTs) have been developed. However no one IBTT has been emerged as the
accepted approach. So to find most suitable IBTT to test the class mapping of IBTTs to class is performed. This mapping process provides
feedback to the tester describing the characteristics of class that are suitably tested by testing technique.
In this paper we describe prioritization of Implementation Based Testing Techniques. To give Priority to IBTTs the control flow of each method
is captured, with the help of control flow, complexity of each method is calculated and used. Depending on the complexity of each method and
its suitable testing technique priority is assigned to Implementation Based Testing Techniques.
Keywords- Implementation Based Testing Techniques (IBTTs) ; Object-Oriented (OO) ; control flow ; complexity.
__________________________________________________*****_________________________________________________
I.
INTRODUCTION
BACKGROUND
_______________________________________________________________________________________
ISSN: 2321-8169
2690 2694
_______________________________________________________________________________________________
features can be bound to the object at runtime referred to a
dynamic binding.
A.
Researchers
(IBTT Name)
Alexander et al.
[3]
(Polymorphic
Relationships)
Buy et al.
[4]
(Automated)
Harrold et al.
[5]
(Incremental)
Harrold et al.
[6]
(Data-Flow)
Primitive types,
new attributes
Complex variables
e.g. arrays, structs;
references,
polymorphism,
dynamic binding
Features not
exhibiting
concurrency and
synchronization
Large number of
attributes
Features
exhibiting
concurrency and
synchronization
Kung et al.
Primitive types,
[8]
simple control
(Object State)
flow
Sinha et al.
Exception objects Attributes/ local
[9]
and variables,
variables
(Exceptionreferences to
outside exception
Handling)
exception objects
mechanism
Souter et al.
Objects in the
Primitive types,
[10]
presence of
references to
(OMEN)
polymorphism,
primitive types
aliasing and
inheritance
Table 1: Summary of IBTTs [2].
B.
Class Characteristics
Suited To
Not Suited To
Primitive and user Local variables of
defined types,
routines assigned
polymorphism,
return values
dynamic binding
Primitive types,
Complex variables
simple control
e.g. arrays, structs;
flow
references
Inherited classes
Classes with no
parents
_______________________________________________________________________________________
ISSN: 2321-8169
2690 2694
_______________________________________________________________________________________________
consequently, make software testing effective. Syntactically, a
program is a sequence of statements. If the flow of the
program can be recovered and used to analyze the testing
paths automatically then generating test data based on
adequate testing criteria will help testers to understand the
program structure and efficiently improve the software quality.
Control flow of any method consists of following three
types of control structure.
1) Sequence
2) Repetition
3) Selection
Which are the elementary building blocks for all
programs.
1. Sequential -: The most straightforward control structure is
the sequence. A list of what to do, step by step.
2. Repetition -: Repetition is also called iteration and is used
when something is repeated over and over again, so anything
where the program goes round in a loop. Typically
programmed using code such as WHILE, REPEAT and FOR
statements.
3. Selection -: Making Decision Selection is used to make a
decision to go down one path or another, often programmed
using code such as an IF statement or a CASE statement.
B.
Complexity
Software complexity is one branch of software metrics
that is focused on direct measurement of software attributes.
There are hundreds of software complexity measures ranging
from the simple such as source lines of code to the esoteric
such as the number of variable definition/usage associations.
The most basic complexity measure the number of lines of
code does not meet the open reengineering criterion since it is
extremely sensitive to programming language, coding style
and textual formatting of the source code. The cyclomatic
complexity measure which measures the amount of decision
logic in a source code function does meet the open
reengineering criterion. It is completely independent of text
formatting and is nearly independent of programming
language.
Ideally complexity measures should have both
descriptive and prescriptive components. Descriptive measures
identify software that is error-prone, hard to understand, hard
to modify, hard to test, and so on. Prescriptive measures
identify operational steps to help control software for example
splitting complex modules into several simpler ones or
indicating the amount of testing that should be performed on
given modules.
IV.
PRIORITIZATION OF IBTTS
Risk Summary
1-10
11-20
Moderate complexity,
medium risk
21-50
51+
2692
IJRITCC | September 2014, Available @ http://www.ijritcc.org
_______________________________________________________________________________________
ISSN: 2321-8169
2690 2694
_______________________________________________________________________________________________
Category
Methods
Selection
Loops
Operators
Exceptions
Threads
&&,||,? and :
catch, finally, throw or throws clause
start() call on a thread
Result Analysis
Validation
CONCLUSION
_______________________________________________________________________________________
ISSN: 2321-8169
2690 2694
_______________________________________________________________________________________________
Depending on the complexity of each method and its IBTTs
priority is assigned to Implementation Based Testing
Techniques. Due to priority assigned to Implementation Based
Testing Techniques the work of tester to select testing
technique is much more reduced.
AUTHORS
REFERENCES
[1]
[2]
[3]
[4]
[5]
[6]
[7]
[8]
[9]
[10]
[11]
[12]
[13]
2694
IJRITCC | September 2014, Available @ http://www.ijritcc.org
_______________________________________________________________________________________