SlideShare ist ein Scribd-Unternehmen logo
1 von 12
Downloaden Sie, um offline zu lesen
International Journal of Software Engineering & Applications (IJSEA), Vol.4, No.6, November 2013

CODE COVERAGE BASED TEST CASE SELECTION
AND PRIORITIZATION
R.Beena 1, Dr.S.Sarala 2
1

Research Scholar, Dept. of Information Technology, Bharathiar University, Coimbatore.
2
Assistant Professor, Dept. of Information Technology, Bharathiar University,
Coimbatore

ABSTRACT
Regression Testing is exclusively executed to guarantee the desirable functionality of existing software
after pursuing quite a few amendments or variations in it. Perhaps, it testifies the quality of the modified
software by concealing the regressions or software bugs in both functional and non-functional applications
of the system. In fact, the maintenance of test suite is enormous as it necessitates a big investment of time
and money on test cases on a large scale. So, minimizing the test suite becomes the indispensable requisite
to lessen the budget on regression testing. Precisely, this research paper aspires to present an innovative
approach for the effective selection and prioritization of test cases which in return may procure a maximum
code average.

KEYWORDS
Test Case Selection, Test Case Prioritization, Code Coverage

1. INTRODUCTION
Regression testing is an authentication method pursued in all levels of system and software
testing. Despite ensuring the functioning capacity of the software or system after making
amendments, Regression Testing, exhibits a predominant function with the previously deployed
test codes of the enhanced software. The prime aspiration of running a Regression Test is to
assure that modified or amended component of software does not give way for bugs in the
unaltered portion of the software. The re-execution of test cases are performed to verify that the
previous functionality clubbed with the present changes is desirably functioning.
The various regression testing techniques are test case minimization, test case selection and test
case prioritization .The aim of test case minimization technique is to eliminate the redundant test
cases, while test case selection techniques are performed to reduce the size of a test suite. Test
case prioritization techniques are concerned with ordering of test cases for detection of faults at
the earliest. This paper presents a customized technique for Test case selection and Test case
prioritization.

DOI : 10.5121/ijsea.2013.4604

39
International Journal of Software Engineering & Applications (IJSEA), Vol.4, No.6, November 2013

Test case selection implies identifying a smaller subset of test suite from the existing large test
suite [1]. According to [2], test case selection problem is stated subsequently.
Given: The original program, P, the revised version of P, P' and a test suite, T.
Aim: To identify T' ∈T, for the modified version P'

Test Case Prioritization is the process of arranging test cases in an order according to some
criteria. Test case prioritization problem defined by Rothermel et al. [3] is follows:
Given: A test suite, T, the set of permutations of T, PT, a function from PT to the real
numbers, f.
Aim: To identify T′ ∈ PT such that (∀T″) (T″∈PT) (T″≠T′) f (T′) ≥ f (T″)

Here, ‘PT’ represents the set of all possible prioritizations of ‘T’ and ‘f’. The function that is
applied to any such ordering actually yields an award value for the respective ordering.

2. RELATED WORK
Fischer et al. formulated a test case selection problem with the application of Integer
Programming [4]. The variations of the control flow were not discussed in this approach.
Agrawal et al. outlined an exclusive strategy on test case selection with a special perspective to
the discrepancies found in the program slicing techniques [5].
Rothermel and Harrold elucidated regression test case selection techniques based on graph
walking of Control, Program Dependence Graphs [6], and System Dependence Graphs [7]
besides, Control Flow Graphs [8].
Benedusi et al. executed path analysis for test case selection [9]. A testing structure called
TestTube was introduced by Chen et al. [10] which make use of a modification-based method for
selection of test cases.
Leung and White highlighted a firewall technique for regression testing of system integration
[11]. Laski and Szemer offered a technique for test case selection which is based on cluster
identification technique [12].
In [13], [14], Rothermel et al. were the premiers to study test case prioritization predicaments that
paved a way to them to present six different strategies based on the coverage of statement or
branches.
In [15], Li et al. gives empirical study results of two metaheuristic search techniques and three
greedy search techniques applied to six programs for regression test case prioritization.
In [16], Praveen et al. initiated a novel test case prioritization algorithm that calculates average
faults observed per minute.

40
International Journal of Software Engineering & Applications (IJSEA), Vol.4, No.6, November 2013

A Regression Testing Technique for Test Case Prioritization based on Code Coverage criteria is
recommended by K.K.Aggarwal in [17].

3. TEST CASE SELECTION
The test cases those are available for the existing version of the program is grouped into three
clusters. Those clusters are named as out-dated, required and surplus. The out-dated cluster
contains the test cases that are not required by both the original program and the modified
program. The required test case group consists of the test cases that are required to be executed
for the modified version of the software. The surplus group comprises of test cases that may be
essential for the later versions of P but are not required for the modified version of P i.e. P'. The
algorithm for Test Case Selection (TCS) which is contributed in the previous work [18] is given
in Figure 1.
Algorithm TCS
Input:
- Matrix TCCij representing the test cases and their statements covered
- Vector SDELi representing the statements deleted in P’
- Vector SMODi representing the statements modified in P’
Output :
- Modified Matrix TCCij, Cluster of Test Cases out_datedi, surplusi, requiredi
begin
1. for each statement that belongs to SDELi
Remove the corresponding statements from TCCij.
2. Find the sum of each row.
3. if sum of the row is 0 then
Add the corresponding test case in the vector out_datedi. and
Remove it from TCCij.
4. Find the test cases that do not cover the statements in the vector SMODi,
Add the corresponding test case in the vector surplusi and
Remove it from TCCij.
5. Add the left over test cases in the vector requiredi.
End
Figure 1. Algorithm TCS

4. TEST CASE PRIORITIZATION
The output obtained from algorithm TCS is supplied as input to the algorithm Test Case
Prioritization (TCP) which is described in Figure 2. An example for the steps of the algorithm
TCS and TCP is elucidated in section 5.

41
International Journal of Software Engineering & Applications (IJSEA), Vol.4, No.6, November 2013

Algorithm TCP
Input:
- Modified Matrix TCCij representing selected test cases and their statements covered
Output :
- Vector TCPi which contains the test cases to achieve 100% code coverage.
begin
1. Find the sum of each row of the matrix TCCij.
2. Select the test case with highest sum and add that test case into the vector TCPi.
3. Remove all the statements covered by that test case.
4. Repeat step1 until all the statements are deleted.
End
Figure 2. Algorithm TCP

5. EXPERIMENTS AND RESULTS
5.1. Test Case Selection
The original version of the program contains 15 statements and 15 test cases. The test cases and
the coverage of the statements by the test cases are represented as a binary matrix. The binary
matrix represented as (TCCij) is given in Table 1.

S1

S3

S4

S5

S6

S7

S8

S9

S10

S11

S12

S13

S14

S15

T1
T2
T3
T4
T5
T6
T7
T8
T9
T10
T11
T12
T13
T14
T15

S2

Table1. Test cases and statement coverage TCCij

1
1
0
0
1
0
1
0
0
1
0
1
0
0
1

0
0
0
1
0
1
0
1
0
1
0
1
1
1
0

1
0
1
0
1
0
0
1
0
0
0
0
0
0
0

1
1
0
1
0
1
0
0
1
0
1
0
1
0
0

1
0
0
0
1
0
1
0
1
0
0
1
0
0
1

0
1
1
0
1
0
0
1
1
0
0
0
1
0
0

1
0
0
1
0
1
0
0
1
1
0
1
1
0
0

1
1
0
1
0
0
0
0
0
1
1
0
1
0
0

0
1
0
1
0
1
1
1
1
1
0
0
0
0
1

1
1
1
0
1
1
0
0
1
0
1
0
1
0
0

1
0
0
0
0
1
0
1
0
0
0
0
0
0
1

0
0
0
0
0
1
1
1
0
0
0
0
1
0
1

0
1
1
1
0
0
0
0
1
1
1
0
1
0
0

0
0
0
1
1
0
1
0
0
1
0
0
1
0
0

0
0
0
0
1
0
0
0
0
1
0
1
0
0
0

Let us consider, in the modified version of the program the statements S3, S4, S6, S8, S10, S13
have been deleted and the statements S2, S7, S15 have been modified. So the two vectors SDELi
and SMODi are represented as

42
International Journal of Software Engineering & Applications (IJSEA), Vol.4, No.6, November 2013

SDELi = {S3, S4, S6, S8, S10, S13}

SMODi = {S2, S7, S15}

Table2. Modified TCCij

T1
T2
T3
T4
T5
T6
T7
T8
T9
T10
T11
T12
T13
T14
T15

S1
1
1
0
0
1
0
1
0
0
1
0
1
0
0
1

S2
0
0
0
1
0
1
0
1
0
1
0
1
1
1
0

S5
1
0
0
0
1
0
1
0
1
0
0
1
0
0
1

S7
1
0
0
1
0
1
0
0
1
1
0
1
1
0
0

S9
0
1
0
1
0
1
1
1
1
1
0
0
0
0
1

S11
1
0
0
0
0
1
0
1
0
0
0
0
0
0
1

S12
0
0
0
0
0
1
1
1
0
0
0
0
1
0
1

S14
0
0
0
1
1
0
1
0
0
1
0
0
1
0
0

S15
0
0
0
0
1
0
0
0
0
1
0
1
0
0
0

The matrix TCCij is personalized by removing the statements that are available in the vector
group SDELi at the end of the execution of step 1.The modified TCCij is given in Table 2. The
number of statements covered by each test case is calculated according to step 2. For example T1
covers four statements namely S1, S5, S7 and S11.Table 3 represents the total number of
statements covered by each test case.
Table3. Number of statements covered by test cases
Test Cases
T1
T2
T3
T4
T5
T6
T7
T8
T9
T10
T11
T12
T13
T14
T15

Statements
Covered
4
2
0
4
4
5
5
4
3
6
0
5
4
1
5

43
International Journal of Software Engineering & Applications (IJSEA), Vol.4, No.6, November 2013

As given in step 3, the test cases with the sum as zero are removed from the matrix TCCij. Now
the new matrix TCCij is given in Table 4. A new vector out_datedi is created which contains the
removed test cases from TCCij. The vector out-datedi = {T3, T11}
Table4.TCCij without out-datedi

T1
T2
T4
T5
T6
T7
T8
T9
T10
T12
T13
T14
T15

S1
1
1
0
1
0
1
0
0
1
1
0
0
1

S2
0
0
1
0
1
0
1
0
1
1
1
1
0

S5
1
0
0
1
0
1
0
1
0
1
0
0
1

S7
1
0
1
0
1
0
0
1
1
1
1
0
0

S9
0
1
1
0
1
1
1
1
1
0
0
0
1

S11
1
0
0
0
1
0
1
0
0
0
0
0
1

S12
0
0
0
0
1
1
1
0
0
0
1
0
1

S14
0
0
1
1
0
1
0
0
1
0
1
0
0

S15
0
0
0
1
0
0
0
0
1
1
0
0
0

The vector SMODi contains the statements that are modified in the new version of the program
and the test cases that do not cover those statements are removed from TCC ij and inserted into the
cluster surplusi. The new TCCij is given in Table 5. The vector surplusi = {T2, T7, T15}
Table5.TCCij without surplusi

T1
T4
T5
T6
T8
T9
T10
T12
T13
T14

S1
1
0
1
0
0
0
1
1
0
0

S2
0
1
0
1
1
0
1
1
1
1

S5
1
0
1
0
0
1
0
1
0
0

S7
1
1
0
1
0
1
1
1
1
0

S9
0
1
0
1
1
1
1
0
0
0

S11
1
0
0
1
1
0
0
0
0
0

S12
0
0
0
1
1
0
0
0
1
0

S14
0
1
1
0
0
0
1
0
1
0

S15
0
0
1
0
0
0
1
1
0
0

All the remaining test cases that are available in TCCij are inserted into a new cluster group
requiredi as mentioned in step 5.The vector
requiredi = {T1, T4, T5, T6, T8, T9, T10, T12, T13, T14}
The comparison between the original size of the test suite and the reduced size of the test suite is
specified in Figure 3. The result shows that there is a notable reduction in the size between the
two test suites.

44
International Journal of Software Engineering & Applications (IJSEA), Vol.4, No.6, November 2013
120
100
80
60
40
20
0
Initial Suite

After Test Case
Selection
Test Suite Size

Figure3. Test Suite Size after Selection

5.2. Test Case Prioritization
Input matrix TCCij for Test Case Prioritization is given in Table 5.
Iteration 1:
As given in step 1, the number of statements covered by each test case is counted from the new
matrix TCCij. It is given in Table 6.
Table 6. Number of statements covered by test cases
Test Cases
T1
T4
T5
T6
T8
T9
T10
T12
T13
T14

Statements
Covered
4
4
4
5
4
3
6
5
4
1

As given in step 2, the test case with highest sum is removed from TCCij and that test case is
added into the Test Case Prioritized vector TCPi. The vector TCPi = {T10}.All the statements
that are covered by the test case T10 is removed from TCCij. The modified TCCij is given in
Table 7.

45
International Journal of Software Engineering & Applications (IJSEA), Vol.4, No.6, November 2013
Table7.Updated TCCij

Iteration 2:
As given in step 1, the sum of each row of the updated matrix TCCij given in Table 7 is computed
and the sum is specified in Table 8.
Table8. Number of statements covered by test cases
Test Cases
T1
T4
T5
T6
T8
T9
T10
T12
T13
T14

Statements
Covered
2
0
1
2
2
1
0
1
1
0

As given in step 2, the test case with highest sum is removed from TCCij and that test case is
added into the vector TCPi. Here in this example, there are three test cases {T1, T6, T8} with
highest sum. The test case T1 is selected here. The issue of equal priority is to be considered in
future. Now the vector TCPi = {T10, T1}. All the statements that are covered by the test case T1
is removed from TCCij. The modified TCCij is given in Table 9.

46
International Journal of Software Engineering & Applications (IJSEA), Vol.4, No.6, November 2013
Table 9. Updated TCCij

Iteration 3:
As given in step 1, the sum of each row of the updated matrix TCCij given in Table 9 is computed
and the sum is specified in Table 10.
Table 10. Number of statements covered by test cases
Test Cases
T1
T4
T5
T6
T8
T9
T10
T12
T13
T14

Statements
Covered
0
0
0
1
1
0
0
0
1
0

As given in step 2, the test case with highest sum is removed from TCCij and that test case is
added into the vector TCPi. Here in this example, there are three test cases {T6, T8, T13} with
highest sum. The test case T6 is selected here. The final prioritized vector
TCPi = {T10, T1, T6}
Figure4 gives the size of the test suite after test case prioritization. The size of the test suite is
very much reduced and hence the cost of regression testing and time for execution of test cases
can be minimized to a greater extent.

47
International Journal of Software Engineering & Applications (IJSEA), Vol.4, No.6, November 2013
80
70
60
50
40
30
20
10
0
After Test Case
Selection

After Test Case
Prioritization

Test Suite Size

Figure4. Test Suite Size after Prioritization

6. CONCLUSION
Regression testing is carried out in the maintenance phase of the software development to retest
the software for the revisions it has endured and to confirm the accurate functionalities of the
revised version. A new technique for test case selection and test case prioritization process for
regression testing is proposed in this paper. The proposed technique is very effective in terms of
cost and time involved in regression testing. In future, the regression testing techniques may be
combined with optimization algorithms to contribute more enhanced results.

REFERENCES
[1]

[2]
[3]
[4]

[5]

[6]

[7]

Rothermel G, Harrold MJ. A safe, efficient algorithm for regression test selection. Proceedings of
International Conference on Software Maintenance (ICSM 2003), IEEE Computer Society Press,
1993; 358–367.
Rothermel G, Harrold MJ. Analyzing regression test selection techniques. IEEE Transactions on
Software Engineering August 1996; 22(8):529–551.
G. Rothermel, R. Untch, C. Chu, and M.J.Harrold, “Prioritizing Test Cases for Regression Testing,”
IEEE Trans. Software Eng.,vol. 27, no. 10, pp. 929-948, Oct. 2001.
Fischer K. A test case selection method for the validation of software maintenance modifications.
Proceedings of International Computer Software and Applications Conference, IEEE Computer
Society Press, 1977; 421–426.
Agrawal H, Horgan JR, Krauser EW, London SA. Incremental regression testing. Proceedings of the
International Conference on Software Maintenance (ICSM 1993), IEEE Computer Society, 1993;
348–357.
Rothermel G, Harrold MJ. Selecting tests and identifying test coverage requirements for modified
software. Proceedings of International Symposium on Software Testing and Analysis (ISSTA 1994),
ACM Press, 1994; 169–184.
Rothermel G, Harrold MJ. A safe, efficient regression test selection technique. ACM Transactions on
Software Engineering and Methodology April 1997; 6(2):173–210.
48
International Journal of Software Engineering & Applications (IJSEA), Vol.4, No.6, November 2013
[8]
[9]

[10]

[11]
[12]

[13]
[14]
[15]
[16]
[17]
[18]

Rothermel G, Harrold MJ. Experience with regression test selection. Empirical Software Engineering:
An International Journal 1997; 2(2):178–188.
Benedusi P, Cmitile A, De Carlini U. Post-maintenance testing based on path change analysis.
Proceedings of the International Conference on Software Maintenance (ICSM 1988), IEEE Computer
Society Press, 1988; 352–361.
Chen YF, Rosenblum D, Vo KP. Testtube: A system for selective regression testing. Proceedings of
the 16th International Conference on Software Engineering (ICSE 1994), ACM Press, 1994; 211–
220.
Leung HKN, White L. Insights into testing and regression testing global variables. Journal of
Software Maintenance 1990; 2(4):209–222.
Laski J, Szermer W. Identification of program modifications and its applications in software
maintenance. Proceedings of the International Conference on Software Maintenance (ICSM 1992),
IEEE Computer Society Press, 1992; 282–290.
G. Rothermel, R. Untch, C. Chu, and M.J. Harrold, “Test Case Prioritization: An Empirical Study,”
Proc. Int’l Conf. Software Maintenance, pp. 179-188, Sept. 1999.
S. Elbaum, A. Malishevsky, and G.Rothermel Test case prioritization: A family of empirical studies.
IEEE Transactions on Software Engineering, February 2002.
Z. Li, M. Harman, and R. M. Hierons. Search Algorithms for Regression Test Case Prioritization,
IEEE Transaction on Software Engineering, vol. 33, no. 4, pp.
225-237, 2007.
Praveen Ranjan Srivastava, Test Case Prioritization, Journal of Theoretical and Applied Information
Technology, pp. 178-181, 2008.
K. K. Aggrawal , Yogesh Singh , A. Kaur, Code coverage based technique for prioritizing test cases
for regression testing, ACM SIGSOFT Software Engineering Notes, v.29 n.5, September 2004.
R. Beena and S. Sarala, A Personalized Approach for Code Coverage based Test Suite Selection,
2012 International Conference on Computer and Software Modeling (ICCSM 2012), IPCSIT vol. 54,
2012.

49
International Journal of Software Engineering & Applications (IJSEA), Vol.4, No.6, November 2013

INTENTIONAL BLANK

50

Weitere ähnliche Inhalte

Was ist angesagt?

A study on the efficiency of a test analysis method utilizing test-categories...
A study on the efficiency of a test analysis method utilizing test-categories...A study on the efficiency of a test analysis method utilizing test-categories...
A study on the efficiency of a test analysis method utilizing test-categories...Tsuyoshi Yumoto
 
A Test Analysis Method for Black Box Testing Using AUT and Fault Knowledge.
A Test Analysis Method for Black Box Testing Using AUT and Fault Knowledge.A Test Analysis Method for Black Box Testing Using AUT and Fault Knowledge.
A Test Analysis Method for Black Box Testing Using AUT and Fault Knowledge.Tsuyoshi Yumoto
 
Thetheoryofsoftwaretesting
ThetheoryofsoftwaretestingThetheoryofsoftwaretesting
ThetheoryofsoftwaretestingPiyushMehta57
 
Enhanced technique for regression testing
Enhanced technique for regression testingEnhanced technique for regression testing
Enhanced technique for regression testingeSAT Journals
 
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 IJECEIAES
 
A software fault localization technique based on program mutations
A software fault localization technique based on program mutationsA software fault localization technique based on program mutations
A software fault localization technique based on program mutationsTao He
 
Software testing strategy
Software testing strategySoftware testing strategy
Software testing strategyijseajournal
 
Software Testing
Software TestingSoftware Testing
Software TestingKiran Kumar
 
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 nIAEME Publication
 
Introduction to specification based test design techniques
Introduction to specification based test design techniquesIntroduction to specification based test design techniques
Introduction to specification based test design techniquesYogindernath Gupta
 
The Current State of the Art of Regression Testing
The Current State of the Art of Regression TestingThe Current State of the Art of Regression Testing
The Current State of the Art of Regression TestingJohn Reese
 
SOFTWARE QUALITY ASSURANCE AND TESTING - SHORT NOTES
SOFTWARE QUALITY ASSURANCE AND TESTING - SHORT NOTESSOFTWARE QUALITY ASSURANCE AND TESTING - SHORT NOTES
SOFTWARE QUALITY ASSURANCE AND TESTING - SHORT NOTESsuthi
 
Black Box Test Design Techniques
Black Box Test Design TechniquesBlack Box Test Design Techniques
Black Box Test Design TechniquesGlobalLogic Ukraine
 
THE APPLICATION OF CAUSE EFFECT GRAPH FOR THE COLLEGE PLACEMENT PROCESS
THE APPLICATION OF CAUSE EFFECT GRAPH FOR THE COLLEGE PLACEMENT PROCESSTHE APPLICATION OF CAUSE EFFECT GRAPH FOR THE COLLEGE PLACEMENT PROCESS
THE APPLICATION OF CAUSE EFFECT GRAPH FOR THE COLLEGE PLACEMENT PROCESSVESIT/University of Mumbai
 
Boundary and equivalnce systematic test design
Boundary and equivalnce   systematic test designBoundary and equivalnce   systematic test design
Boundary and equivalnce systematic test designIan McDonald
 
An Empirical Comparison of Model Validation Techniques for Defect Prediction ...
An Empirical Comparison of Model Validation Techniques for Defect Prediction ...An Empirical Comparison of Model Validation Techniques for Defect Prediction ...
An Empirical Comparison of Model Validation Techniques for Defect Prediction ...Chakkrit (Kla) Tantithamthavorn
 
Test design techniques
Test design techniquesTest design techniques
Test design techniquesYAObbiIkhsan
 
ISTQB Advanced Study Guide - 5
ISTQB Advanced Study Guide - 5ISTQB Advanced Study Guide - 5
ISTQB Advanced Study Guide - 5Yogindernath Gupta
 
Testing Fundamentals
Testing FundamentalsTesting Fundamentals
Testing FundamentalsKiran Kumar
 

Was ist angesagt? (20)

A study on the efficiency of a test analysis method utilizing test-categories...
A study on the efficiency of a test analysis method utilizing test-categories...A study on the efficiency of a test analysis method utilizing test-categories...
A study on the efficiency of a test analysis method utilizing test-categories...
 
A Test Analysis Method for Black Box Testing Using AUT and Fault Knowledge.
A Test Analysis Method for Black Box Testing Using AUT and Fault Knowledge.A Test Analysis Method for Black Box Testing Using AUT and Fault Knowledge.
A Test Analysis Method for Black Box Testing Using AUT and Fault Knowledge.
 
Thetheoryofsoftwaretesting
ThetheoryofsoftwaretestingThetheoryofsoftwaretesting
Thetheoryofsoftwaretesting
 
Enhanced technique for regression testing
Enhanced technique for regression testingEnhanced technique for regression testing
Enhanced technique for regression testing
 
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
 
A software fault localization technique based on program mutations
A software fault localization technique based on program mutationsA software fault localization technique based on program mutations
A software fault localization technique based on program mutations
 
Software testing strategy
Software testing strategySoftware testing strategy
Software testing strategy
 
Software Testing
Software TestingSoftware Testing
Software Testing
 
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
 
Introduction to specification based test design techniques
Introduction to specification based test design techniquesIntroduction to specification based test design techniques
Introduction to specification based test design techniques
 
The Current State of the Art of Regression Testing
The Current State of the Art of Regression TestingThe Current State of the Art of Regression Testing
The Current State of the Art of Regression Testing
 
SOFTWARE QUALITY ASSURANCE AND TESTING - SHORT NOTES
SOFTWARE QUALITY ASSURANCE AND TESTING - SHORT NOTESSOFTWARE QUALITY ASSURANCE AND TESTING - SHORT NOTES
SOFTWARE QUALITY ASSURANCE AND TESTING - SHORT NOTES
 
Black Box Test Design Techniques
Black Box Test Design TechniquesBlack Box Test Design Techniques
Black Box Test Design Techniques
 
THE APPLICATION OF CAUSE EFFECT GRAPH FOR THE COLLEGE PLACEMENT PROCESS
THE APPLICATION OF CAUSE EFFECT GRAPH FOR THE COLLEGE PLACEMENT PROCESSTHE APPLICATION OF CAUSE EFFECT GRAPH FOR THE COLLEGE PLACEMENT PROCESS
THE APPLICATION OF CAUSE EFFECT GRAPH FOR THE COLLEGE PLACEMENT PROCESS
 
Boundary and equivalnce systematic test design
Boundary and equivalnce   systematic test designBoundary and equivalnce   systematic test design
Boundary and equivalnce systematic test design
 
An Empirical Comparison of Model Validation Techniques for Defect Prediction ...
An Empirical Comparison of Model Validation Techniques for Defect Prediction ...An Empirical Comparison of Model Validation Techniques for Defect Prediction ...
An Empirical Comparison of Model Validation Techniques for Defect Prediction ...
 
Test design techniques
Test design techniquesTest design techniques
Test design techniques
 
10 software testing_technique
10 software testing_technique10 software testing_technique
10 software testing_technique
 
ISTQB Advanced Study Guide - 5
ISTQB Advanced Study Guide - 5ISTQB Advanced Study Guide - 5
ISTQB Advanced Study Guide - 5
 
Testing Fundamentals
Testing FundamentalsTesting Fundamentals
Testing Fundamentals
 

Ähnlich wie Code coverage based test case selection and prioritization

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 classificationcseij
 
H047054064
H047054064H047054064
H047054064inventy
 
Test case prioritization usinf regression testing.pptx
Test case prioritization usinf regression testing.pptxTest case prioritization usinf regression testing.pptx
Test case prioritization usinf regression testing.pptxmaheshwari581940
 
TEST CASE PRIORITIZATION FOR OPTIMIZING A REGRESSION TEST
TEST CASE PRIORITIZATION FOR OPTIMIZING A REGRESSION TESTTEST CASE PRIORITIZATION FOR OPTIMIZING A REGRESSION TEST
TEST CASE PRIORITIZATION FOR OPTIMIZING A REGRESSION TESTijfcstjournal
 
TEST CASE PRIORITIZATION FOR OPTIMIZING A REGRESSION TEST
TEST CASE PRIORITIZATION FOR OPTIMIZING A REGRESSION TESTTEST CASE PRIORITIZATION FOR OPTIMIZING A REGRESSION TEST
TEST CASE PRIORITIZATION FOR OPTIMIZING A REGRESSION TESTijfcstjournal
 
TEST CASE PRIORITIZATION FOR OPTIMIZING A REGRESSION TEST
TEST CASE PRIORITIZATION FOR OPTIMIZING A REGRESSION TESTTEST CASE PRIORITIZATION FOR OPTIMIZING A REGRESSION TEST
TEST CASE PRIORITIZATION FOR OPTIMIZING A REGRESSION TESTijfcstjournal
 
TEST CASE PRIORITIZATION FOR OPTIMIZING A REGRESSION TEST
TEST CASE PRIORITIZATION FOR OPTIMIZING A REGRESSION TESTTEST CASE PRIORITIZATION FOR OPTIMIZING A REGRESSION TEST
TEST CASE PRIORITIZATION FOR OPTIMIZING A REGRESSION TESTijfcstjournal
 
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 Prioritizationijsrd.com
 
Aco based solution for tsp model for evaluation of software test suite
Aco based solution for tsp model for evaluation of software test suiteAco based solution for tsp model for evaluation of software test suite
Aco based solution for tsp model for evaluation of software test suiteIAEME Publication
 
Aco based solution for tsp model for evaluation of software test suite
Aco based solution for tsp model for evaluation of software test suiteAco based solution for tsp model for evaluation of software test suite
Aco based solution for tsp model for evaluation of software test suiteIAEME Publication
 
Aco based solution for tsp model for evaluation of software test suite
Aco based solution for tsp model for evaluation of software test suiteAco based solution for tsp model for evaluation of software test suite
Aco based solution for tsp model for evaluation of software test suiteIAEME Publication
 
Regression test selection model: a comparison between ReTSE and pythia
Regression test selection model: a comparison between ReTSE and pythiaRegression test selection model: a comparison between ReTSE and pythia
Regression test selection model: a comparison between ReTSE and pythiaTELKOMNIKA JOURNAL
 
A NOVEL APPROACH FOR TEST CASEPRIORITIZATION
A NOVEL APPROACH FOR TEST CASEPRIORITIZATIONA NOVEL APPROACH FOR TEST CASEPRIORITIZATION
A NOVEL APPROACH FOR TEST CASEPRIORITIZATIONIJCSEA Journal
 
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 IJECEIAES
 
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
 

Ähnlich wie Code coverage based test case selection and prioritization (20)

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
 
Ijsea04031006
Ijsea04031006Ijsea04031006
Ijsea04031006
 
H047054064
H047054064H047054064
H047054064
 
Test case prioritization usinf regression testing.pptx
Test case prioritization usinf regression testing.pptxTest case prioritization usinf regression testing.pptx
Test case prioritization usinf regression testing.pptx
 
TEST CASE PRIORITIZATION FOR OPTIMIZING A REGRESSION TEST
TEST CASE PRIORITIZATION FOR OPTIMIZING A REGRESSION TESTTEST CASE PRIORITIZATION FOR OPTIMIZING A REGRESSION TEST
TEST CASE PRIORITIZATION FOR OPTIMIZING A REGRESSION TEST
 
TEST CASE PRIORITIZATION FOR OPTIMIZING A REGRESSION TEST
TEST CASE PRIORITIZATION FOR OPTIMIZING A REGRESSION TESTTEST CASE PRIORITIZATION FOR OPTIMIZING A REGRESSION TEST
TEST CASE PRIORITIZATION FOR OPTIMIZING A REGRESSION TEST
 
TEST CASE PRIORITIZATION FOR OPTIMIZING A REGRESSION TEST
TEST CASE PRIORITIZATION FOR OPTIMIZING A REGRESSION TESTTEST CASE PRIORITIZATION FOR OPTIMIZING A REGRESSION TEST
TEST CASE PRIORITIZATION FOR OPTIMIZING A REGRESSION TEST
 
TEST CASE PRIORITIZATION FOR OPTIMIZING A REGRESSION TEST
TEST CASE PRIORITIZATION FOR OPTIMIZING A REGRESSION TESTTEST CASE PRIORITIZATION FOR OPTIMIZING A REGRESSION TEST
TEST CASE PRIORITIZATION FOR OPTIMIZING A REGRESSION TEST
 
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
 
Aco based solution for tsp model for evaluation of software test suite
Aco based solution for tsp model for evaluation of software test suiteAco based solution for tsp model for evaluation of software test suite
Aco based solution for tsp model for evaluation of software test suite
 
Aco based solution for tsp model for evaluation of software test suite
Aco based solution for tsp model for evaluation of software test suiteAco based solution for tsp model for evaluation of software test suite
Aco based solution for tsp model for evaluation of software test suite
 
Aco based solution for tsp model for evaluation of software test suite
Aco based solution for tsp model for evaluation of software test suiteAco based solution for tsp model for evaluation of software test suite
Aco based solution for tsp model for evaluation of software test suite
 
Regression test selection model: a comparison between ReTSE and pythia
Regression test selection model: a comparison between ReTSE and pythiaRegression test selection model: a comparison between ReTSE and pythia
Regression test selection model: a comparison between ReTSE and pythia
 
A NOVEL APPROACH FOR TEST CASEPRIORITIZATION
A NOVEL APPROACH FOR TEST CASEPRIORITIZATIONA NOVEL APPROACH FOR TEST CASEPRIORITIZATION
A NOVEL APPROACH FOR TEST CASEPRIORITIZATION
 
U180304130141
U180304130141U180304130141
U180304130141
 
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
 
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)
 
50120140502017
5012014050201750120140502017
50120140502017
 
Unit2 for st
Unit2 for stUnit2 for st
Unit2 for st
 

Kürzlich hochgeladen

Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 

Kürzlich hochgeladen (20)

Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 

Code coverage based test case selection and prioritization

  • 1. International Journal of Software Engineering & Applications (IJSEA), Vol.4, No.6, November 2013 CODE COVERAGE BASED TEST CASE SELECTION AND PRIORITIZATION R.Beena 1, Dr.S.Sarala 2 1 Research Scholar, Dept. of Information Technology, Bharathiar University, Coimbatore. 2 Assistant Professor, Dept. of Information Technology, Bharathiar University, Coimbatore ABSTRACT Regression Testing is exclusively executed to guarantee the desirable functionality of existing software after pursuing quite a few amendments or variations in it. Perhaps, it testifies the quality of the modified software by concealing the regressions or software bugs in both functional and non-functional applications of the system. In fact, the maintenance of test suite is enormous as it necessitates a big investment of time and money on test cases on a large scale. So, minimizing the test suite becomes the indispensable requisite to lessen the budget on regression testing. Precisely, this research paper aspires to present an innovative approach for the effective selection and prioritization of test cases which in return may procure a maximum code average. KEYWORDS Test Case Selection, Test Case Prioritization, Code Coverage 1. INTRODUCTION Regression testing is an authentication method pursued in all levels of system and software testing. Despite ensuring the functioning capacity of the software or system after making amendments, Regression Testing, exhibits a predominant function with the previously deployed test codes of the enhanced software. The prime aspiration of running a Regression Test is to assure that modified or amended component of software does not give way for bugs in the unaltered portion of the software. The re-execution of test cases are performed to verify that the previous functionality clubbed with the present changes is desirably functioning. The various regression testing techniques are test case minimization, test case selection and test case prioritization .The aim of test case minimization technique is to eliminate the redundant test cases, while test case selection techniques are performed to reduce the size of a test suite. Test case prioritization techniques are concerned with ordering of test cases for detection of faults at the earliest. This paper presents a customized technique for Test case selection and Test case prioritization. DOI : 10.5121/ijsea.2013.4604 39
  • 2. International Journal of Software Engineering & Applications (IJSEA), Vol.4, No.6, November 2013 Test case selection implies identifying a smaller subset of test suite from the existing large test suite [1]. According to [2], test case selection problem is stated subsequently. Given: The original program, P, the revised version of P, P' and a test suite, T. Aim: To identify T' ∈T, for the modified version P' Test Case Prioritization is the process of arranging test cases in an order according to some criteria. Test case prioritization problem defined by Rothermel et al. [3] is follows: Given: A test suite, T, the set of permutations of T, PT, a function from PT to the real numbers, f. Aim: To identify T′ ∈ PT such that (∀T″) (T″∈PT) (T″≠T′) f (T′) ≥ f (T″) Here, ‘PT’ represents the set of all possible prioritizations of ‘T’ and ‘f’. The function that is applied to any such ordering actually yields an award value for the respective ordering. 2. RELATED WORK Fischer et al. formulated a test case selection problem with the application of Integer Programming [4]. The variations of the control flow were not discussed in this approach. Agrawal et al. outlined an exclusive strategy on test case selection with a special perspective to the discrepancies found in the program slicing techniques [5]. Rothermel and Harrold elucidated regression test case selection techniques based on graph walking of Control, Program Dependence Graphs [6], and System Dependence Graphs [7] besides, Control Flow Graphs [8]. Benedusi et al. executed path analysis for test case selection [9]. A testing structure called TestTube was introduced by Chen et al. [10] which make use of a modification-based method for selection of test cases. Leung and White highlighted a firewall technique for regression testing of system integration [11]. Laski and Szemer offered a technique for test case selection which is based on cluster identification technique [12]. In [13], [14], Rothermel et al. were the premiers to study test case prioritization predicaments that paved a way to them to present six different strategies based on the coverage of statement or branches. In [15], Li et al. gives empirical study results of two metaheuristic search techniques and three greedy search techniques applied to six programs for regression test case prioritization. In [16], Praveen et al. initiated a novel test case prioritization algorithm that calculates average faults observed per minute. 40
  • 3. International Journal of Software Engineering & Applications (IJSEA), Vol.4, No.6, November 2013 A Regression Testing Technique for Test Case Prioritization based on Code Coverage criteria is recommended by K.K.Aggarwal in [17]. 3. TEST CASE SELECTION The test cases those are available for the existing version of the program is grouped into three clusters. Those clusters are named as out-dated, required and surplus. The out-dated cluster contains the test cases that are not required by both the original program and the modified program. The required test case group consists of the test cases that are required to be executed for the modified version of the software. The surplus group comprises of test cases that may be essential for the later versions of P but are not required for the modified version of P i.e. P'. The algorithm for Test Case Selection (TCS) which is contributed in the previous work [18] is given in Figure 1. Algorithm TCS Input: - Matrix TCCij representing the test cases and their statements covered - Vector SDELi representing the statements deleted in P’ - Vector SMODi representing the statements modified in P’ Output : - Modified Matrix TCCij, Cluster of Test Cases out_datedi, surplusi, requiredi begin 1. for each statement that belongs to SDELi Remove the corresponding statements from TCCij. 2. Find the sum of each row. 3. if sum of the row is 0 then Add the corresponding test case in the vector out_datedi. and Remove it from TCCij. 4. Find the test cases that do not cover the statements in the vector SMODi, Add the corresponding test case in the vector surplusi and Remove it from TCCij. 5. Add the left over test cases in the vector requiredi. End Figure 1. Algorithm TCS 4. TEST CASE PRIORITIZATION The output obtained from algorithm TCS is supplied as input to the algorithm Test Case Prioritization (TCP) which is described in Figure 2. An example for the steps of the algorithm TCS and TCP is elucidated in section 5. 41
  • 4. International Journal of Software Engineering & Applications (IJSEA), Vol.4, No.6, November 2013 Algorithm TCP Input: - Modified Matrix TCCij representing selected test cases and their statements covered Output : - Vector TCPi which contains the test cases to achieve 100% code coverage. begin 1. Find the sum of each row of the matrix TCCij. 2. Select the test case with highest sum and add that test case into the vector TCPi. 3. Remove all the statements covered by that test case. 4. Repeat step1 until all the statements are deleted. End Figure 2. Algorithm TCP 5. EXPERIMENTS AND RESULTS 5.1. Test Case Selection The original version of the program contains 15 statements and 15 test cases. The test cases and the coverage of the statements by the test cases are represented as a binary matrix. The binary matrix represented as (TCCij) is given in Table 1. S1 S3 S4 S5 S6 S7 S8 S9 S10 S11 S12 S13 S14 S15 T1 T2 T3 T4 T5 T6 T7 T8 T9 T10 T11 T12 T13 T14 T15 S2 Table1. Test cases and statement coverage TCCij 1 1 0 0 1 0 1 0 0 1 0 1 0 0 1 0 0 0 1 0 1 0 1 0 1 0 1 1 1 0 1 0 1 0 1 0 0 1 0 0 0 0 0 0 0 1 1 0 1 0 1 0 0 1 0 1 0 1 0 0 1 0 0 0 1 0 1 0 1 0 0 1 0 0 1 0 1 1 0 1 0 0 1 1 0 0 0 1 0 0 1 0 0 1 0 1 0 0 1 1 0 1 1 0 0 1 1 0 1 0 0 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 1 1 1 0 0 0 0 1 1 1 1 0 1 1 0 0 1 0 1 0 1 0 0 1 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 0 0 0 0 1 1 1 0 0 0 0 1 0 1 0 1 1 1 0 0 0 0 1 1 1 0 1 0 0 0 0 0 1 1 0 1 0 0 1 0 0 1 0 0 0 0 0 0 1 0 0 0 0 1 0 1 0 0 0 Let us consider, in the modified version of the program the statements S3, S4, S6, S8, S10, S13 have been deleted and the statements S2, S7, S15 have been modified. So the two vectors SDELi and SMODi are represented as 42
  • 5. International Journal of Software Engineering & Applications (IJSEA), Vol.4, No.6, November 2013 SDELi = {S3, S4, S6, S8, S10, S13} SMODi = {S2, S7, S15} Table2. Modified TCCij T1 T2 T3 T4 T5 T6 T7 T8 T9 T10 T11 T12 T13 T14 T15 S1 1 1 0 0 1 0 1 0 0 1 0 1 0 0 1 S2 0 0 0 1 0 1 0 1 0 1 0 1 1 1 0 S5 1 0 0 0 1 0 1 0 1 0 0 1 0 0 1 S7 1 0 0 1 0 1 0 0 1 1 0 1 1 0 0 S9 0 1 0 1 0 1 1 1 1 1 0 0 0 0 1 S11 1 0 0 0 0 1 0 1 0 0 0 0 0 0 1 S12 0 0 0 0 0 1 1 1 0 0 0 0 1 0 1 S14 0 0 0 1 1 0 1 0 0 1 0 0 1 0 0 S15 0 0 0 0 1 0 0 0 0 1 0 1 0 0 0 The matrix TCCij is personalized by removing the statements that are available in the vector group SDELi at the end of the execution of step 1.The modified TCCij is given in Table 2. The number of statements covered by each test case is calculated according to step 2. For example T1 covers four statements namely S1, S5, S7 and S11.Table 3 represents the total number of statements covered by each test case. Table3. Number of statements covered by test cases Test Cases T1 T2 T3 T4 T5 T6 T7 T8 T9 T10 T11 T12 T13 T14 T15 Statements Covered 4 2 0 4 4 5 5 4 3 6 0 5 4 1 5 43
  • 6. International Journal of Software Engineering & Applications (IJSEA), Vol.4, No.6, November 2013 As given in step 3, the test cases with the sum as zero are removed from the matrix TCCij. Now the new matrix TCCij is given in Table 4. A new vector out_datedi is created which contains the removed test cases from TCCij. The vector out-datedi = {T3, T11} Table4.TCCij without out-datedi T1 T2 T4 T5 T6 T7 T8 T9 T10 T12 T13 T14 T15 S1 1 1 0 1 0 1 0 0 1 1 0 0 1 S2 0 0 1 0 1 0 1 0 1 1 1 1 0 S5 1 0 0 1 0 1 0 1 0 1 0 0 1 S7 1 0 1 0 1 0 0 1 1 1 1 0 0 S9 0 1 1 0 1 1 1 1 1 0 0 0 1 S11 1 0 0 0 1 0 1 0 0 0 0 0 1 S12 0 0 0 0 1 1 1 0 0 0 1 0 1 S14 0 0 1 1 0 1 0 0 1 0 1 0 0 S15 0 0 0 1 0 0 0 0 1 1 0 0 0 The vector SMODi contains the statements that are modified in the new version of the program and the test cases that do not cover those statements are removed from TCC ij and inserted into the cluster surplusi. The new TCCij is given in Table 5. The vector surplusi = {T2, T7, T15} Table5.TCCij without surplusi T1 T4 T5 T6 T8 T9 T10 T12 T13 T14 S1 1 0 1 0 0 0 1 1 0 0 S2 0 1 0 1 1 0 1 1 1 1 S5 1 0 1 0 0 1 0 1 0 0 S7 1 1 0 1 0 1 1 1 1 0 S9 0 1 0 1 1 1 1 0 0 0 S11 1 0 0 1 1 0 0 0 0 0 S12 0 0 0 1 1 0 0 0 1 0 S14 0 1 1 0 0 0 1 0 1 0 S15 0 0 1 0 0 0 1 1 0 0 All the remaining test cases that are available in TCCij are inserted into a new cluster group requiredi as mentioned in step 5.The vector requiredi = {T1, T4, T5, T6, T8, T9, T10, T12, T13, T14} The comparison between the original size of the test suite and the reduced size of the test suite is specified in Figure 3. The result shows that there is a notable reduction in the size between the two test suites. 44
  • 7. International Journal of Software Engineering & Applications (IJSEA), Vol.4, No.6, November 2013 120 100 80 60 40 20 0 Initial Suite After Test Case Selection Test Suite Size Figure3. Test Suite Size after Selection 5.2. Test Case Prioritization Input matrix TCCij for Test Case Prioritization is given in Table 5. Iteration 1: As given in step 1, the number of statements covered by each test case is counted from the new matrix TCCij. It is given in Table 6. Table 6. Number of statements covered by test cases Test Cases T1 T4 T5 T6 T8 T9 T10 T12 T13 T14 Statements Covered 4 4 4 5 4 3 6 5 4 1 As given in step 2, the test case with highest sum is removed from TCCij and that test case is added into the Test Case Prioritized vector TCPi. The vector TCPi = {T10}.All the statements that are covered by the test case T10 is removed from TCCij. The modified TCCij is given in Table 7. 45
  • 8. International Journal of Software Engineering & Applications (IJSEA), Vol.4, No.6, November 2013 Table7.Updated TCCij Iteration 2: As given in step 1, the sum of each row of the updated matrix TCCij given in Table 7 is computed and the sum is specified in Table 8. Table8. Number of statements covered by test cases Test Cases T1 T4 T5 T6 T8 T9 T10 T12 T13 T14 Statements Covered 2 0 1 2 2 1 0 1 1 0 As given in step 2, the test case with highest sum is removed from TCCij and that test case is added into the vector TCPi. Here in this example, there are three test cases {T1, T6, T8} with highest sum. The test case T1 is selected here. The issue of equal priority is to be considered in future. Now the vector TCPi = {T10, T1}. All the statements that are covered by the test case T1 is removed from TCCij. The modified TCCij is given in Table 9. 46
  • 9. International Journal of Software Engineering & Applications (IJSEA), Vol.4, No.6, November 2013 Table 9. Updated TCCij Iteration 3: As given in step 1, the sum of each row of the updated matrix TCCij given in Table 9 is computed and the sum is specified in Table 10. Table 10. Number of statements covered by test cases Test Cases T1 T4 T5 T6 T8 T9 T10 T12 T13 T14 Statements Covered 0 0 0 1 1 0 0 0 1 0 As given in step 2, the test case with highest sum is removed from TCCij and that test case is added into the vector TCPi. Here in this example, there are three test cases {T6, T8, T13} with highest sum. The test case T6 is selected here. The final prioritized vector TCPi = {T10, T1, T6} Figure4 gives the size of the test suite after test case prioritization. The size of the test suite is very much reduced and hence the cost of regression testing and time for execution of test cases can be minimized to a greater extent. 47
  • 10. International Journal of Software Engineering & Applications (IJSEA), Vol.4, No.6, November 2013 80 70 60 50 40 30 20 10 0 After Test Case Selection After Test Case Prioritization Test Suite Size Figure4. Test Suite Size after Prioritization 6. CONCLUSION Regression testing is carried out in the maintenance phase of the software development to retest the software for the revisions it has endured and to confirm the accurate functionalities of the revised version. A new technique for test case selection and test case prioritization process for regression testing is proposed in this paper. The proposed technique is very effective in terms of cost and time involved in regression testing. In future, the regression testing techniques may be combined with optimization algorithms to contribute more enhanced results. REFERENCES [1] [2] [3] [4] [5] [6] [7] Rothermel G, Harrold MJ. A safe, efficient algorithm for regression test selection. Proceedings of International Conference on Software Maintenance (ICSM 2003), IEEE Computer Society Press, 1993; 358–367. Rothermel G, Harrold MJ. Analyzing regression test selection techniques. IEEE Transactions on Software Engineering August 1996; 22(8):529–551. G. Rothermel, R. Untch, C. Chu, and M.J.Harrold, “Prioritizing Test Cases for Regression Testing,” IEEE Trans. Software Eng.,vol. 27, no. 10, pp. 929-948, Oct. 2001. Fischer K. A test case selection method for the validation of software maintenance modifications. Proceedings of International Computer Software and Applications Conference, IEEE Computer Society Press, 1977; 421–426. Agrawal H, Horgan JR, Krauser EW, London SA. Incremental regression testing. Proceedings of the International Conference on Software Maintenance (ICSM 1993), IEEE Computer Society, 1993; 348–357. Rothermel G, Harrold MJ. Selecting tests and identifying test coverage requirements for modified software. Proceedings of International Symposium on Software Testing and Analysis (ISSTA 1994), ACM Press, 1994; 169–184. Rothermel G, Harrold MJ. A safe, efficient regression test selection technique. ACM Transactions on Software Engineering and Methodology April 1997; 6(2):173–210. 48
  • 11. International Journal of Software Engineering & Applications (IJSEA), Vol.4, No.6, November 2013 [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] Rothermel G, Harrold MJ. Experience with regression test selection. Empirical Software Engineering: An International Journal 1997; 2(2):178–188. Benedusi P, Cmitile A, De Carlini U. Post-maintenance testing based on path change analysis. Proceedings of the International Conference on Software Maintenance (ICSM 1988), IEEE Computer Society Press, 1988; 352–361. Chen YF, Rosenblum D, Vo KP. Testtube: A system for selective regression testing. Proceedings of the 16th International Conference on Software Engineering (ICSE 1994), ACM Press, 1994; 211– 220. Leung HKN, White L. Insights into testing and regression testing global variables. Journal of Software Maintenance 1990; 2(4):209–222. Laski J, Szermer W. Identification of program modifications and its applications in software maintenance. Proceedings of the International Conference on Software Maintenance (ICSM 1992), IEEE Computer Society Press, 1992; 282–290. G. Rothermel, R. Untch, C. Chu, and M.J. Harrold, “Test Case Prioritization: An Empirical Study,” Proc. Int’l Conf. Software Maintenance, pp. 179-188, Sept. 1999. S. Elbaum, A. Malishevsky, and G.Rothermel Test case prioritization: A family of empirical studies. IEEE Transactions on Software Engineering, February 2002. Z. Li, M. Harman, and R. M. Hierons. Search Algorithms for Regression Test Case Prioritization, IEEE Transaction on Software Engineering, vol. 33, no. 4, pp. 225-237, 2007. Praveen Ranjan Srivastava, Test Case Prioritization, Journal of Theoretical and Applied Information Technology, pp. 178-181, 2008. K. K. Aggrawal , Yogesh Singh , A. Kaur, Code coverage based technique for prioritizing test cases for regression testing, ACM SIGSOFT Software Engineering Notes, v.29 n.5, September 2004. R. Beena and S. Sarala, A Personalized Approach for Code Coverage based Test Suite Selection, 2012 International Conference on Computer and Software Modeling (ICCSM 2012), IPCSIT vol. 54, 2012. 49
  • 12. International Journal of Software Engineering & Applications (IJSEA), Vol.4, No.6, November 2013 INTENTIONAL BLANK 50