Anda di halaman 1dari 5

International Journal of Computer Systems (ISSN: 2394-1065), Volume 03 Issue 03, March, 2016

Available at http://www.ijcsonline.com/

Regression Testing through Prioritization Technique on the Basis of Various


Dependency Approaches
Diviaka Abbi
Department of CSE,
Lovely Professional University, Punjab, India

Abstract
Software testing is the technique which is used to detect errors, bugs in the system software. The various types of testing
are used to accomplish the required task. These testing techniques are white box, black box, automation, model based
and regression testing are much popular. On the developed software, various improvement has been done time to time to
improve its efficiency. To test the various changes in software, regression testing has been applied on system software.
The test case prioritization is the technique which prioritize the test cases according to the changes which are made in
software. In the previous research paper, genetic algorithm was being proposed to prioritize the test cases. To prioritize
the test cases, mutation values were selected randomly and functional dependency was calculated on the basis of
dependency test cases were prioritized. In this work , improvement will be proposed in genetic algorithm to calculate
functional dependency more accurately. This will lead to improvement in the fault detection rate in the regression testing.
Keywords: Software engineering, model based testing, test case, test case prioritization, functional dependency.

I.

INTRODUCTION

A. Software Testing
Software testing is the process of accepting and
verifying the program or application ,which checks the
proper functionality i.e. usefulness of the system and
confirms that the project meets the technical and business
requirements as expected and can be implemented with the
same qualities. Testing procedure creates comparison of the
expected outcome with the actual outcome which helps in
detecting the errors which may occur during the
development of the project [1].
B. Two Terms which are Considered
Validation: software validation is the dynamic
procedure which access the software during or towards the
end of the development process to fulfill whether it
satisfies specified requirements and ensures that we
building or assembling the right product .
Verification: software verification is the static system
for evaluating software. It determine whether the products
of a provided development phase satisfy the conditions
forced at the start of that phase
C. Models of software Testing
a) White box testing: white box testing model is that
sort of model which depends on analysis of the code and
the internal logic of the software or product . It requires
good programming skill and logic ability of programmer to
test with this model.
b) Black box testing: In this type of model no internal
working of the system is needed to be known, also no
programming abilities are required. Input is given to the
system and output is solved that whether it is correct or
incorrect. Only the external behavior is observed, without
any knowledge or learning of internal functioning.

c) System testing: It is performed on a complete or full


framework system also the software is put under different
environments and situations. It can only be performed after
the complete implementation of the system. Stress testing,
performance testing and usability testing are performed on
it in order to check the system: under stress (load),
performance (speed and accuracy) and usability (user
friendliness) respectively. The model used in this testing is
black box.
d) Acceptance testing: In this type of testing customer
checks for output that whether the system is able to meet
his necessary requirements. Also customer checks whether
the purpose of the system is resolved or not. The model
used in it is black box.
e) Regression (retest) testing: this type of testing is
performed in order to validate that whenever there is any
modification or advancement are made in any part of code,
function or component will not induce any defect in the
functionality of the other parts of the software. [2] It is re
execution of some of the subset of test cases that have
already been conducted to ensure that changes have not
propagated the side effects. This process is very tedious,
time consuming and costly affair but it is very important
for improving the quality of the software.
In order to increase the efficiency and reduce the cost
three techniques are used in regression testing and those are
test case minimization, test case selection and test case
prioritization. The model used in it is black box. [3]
f) Model Based Testing
Model based testing is an automated or computerized
type of black box testing approach which provides an
creative and advanced method for test case generation and
test case evaluation. The test cases are build at the early
stages of development based on the model, model provide
an actual overview about the requirement, specification and

262 | International Journal of Computer Systems, ISSN-(2394-1065), Vol. 03, Issue 03, March, 2016

Diviaka Abbi et al

Regression Testing through Prioritization Technique on the Basis of Various Dependency Approaches

behavior of the system. Specific industry standard are there


which represents an era of the model, which can be further
enhanced by experience standard [4].

D. Test Case Prioritization.


Test case prioritization is one of the proficient
techniques of regression testing which aims at scheduling
the execution procedure of test cases in such a way that
improves the efficiency of regression testing. Whenever
there is any modification in the software the regression
testing has to be done in order to validate the functionality
of the software, which is a costly affair and requires a lot of
money and time. In order to reduce the burden of
regression testing prioritization of test cases is done. [6]
The process of Test case prioritization aims at
providing higher priority to those test cases which are
crucial for the system and would have taken long time to
run as per the conventional testing process. As now a day
most of the industries are working toward the agile
development, it has become necessary to increase the
efficiency of test case prioritization.
There are various approaches provided by various
researchers such as test case prioritization based on history,
customer requirement, code coverage etc. to prioritize the
test case. However as the system is getting complex and
advanced the number of component and the interaction
between them is also increasing with greater rate.
Therefore there is a great requirement of such technique
which can handle such complex system and can provide an
efficient testing technique which requires less cost,
efficient utilization of resources, early detection of the
fault, satisfies the entire functional requirement and provide
greater reliability of the software.

E.

Dependency Approach
A large software product is consisting of vast number
of subsystem or segments which further contains programs
to a specific task. In software engineering these subsystems
or components are called as scenarios. This scenario
depicts the behavior or sequence of action which is
performed by system. These ordering of the scenario show
the interaction among the scenario and the dependency
between them. Action of the one scenario is dependent on
the other and that cannot be executed before the completion
of the action of the dependent scenario. [12]
(a) Prioritization Of The Test Cases Using Dependency:
Complexity of the large system is greater due to the
large amount coupling and the interaction between the parts
of the system. For the early detection of the fault it is
prescribed to find out those parts of system which have
higher interaction and connections. [14] Interaction among
the system demonstrates the dependencies of the function
in the system. Therefore prioritization of the test cases in
the order of the weights of the dependencies will result into
the early detection of the faults in the system. [15] In order
to find the priority of the function dependencies a
technique is used which is called dependency structure
prioritization (DSP).

II.

SURVEY OF RESEARCH

S Yoo and M Harman, Regression Testing


Minimisation Selection And Prioritisation: A Survey,":Shin Yoo and Mark Harman, have studied and tested the
papers which concentrate on test suite minimization, test
case selection and test case prioritization. They suggested
that the work on these three is firmly associated to each
other. The function of test suite minimization is to check
out for the test plans. Test suite minimization ensures the
duplicity, by decreasing the size of test plans. This leads to
the test suite minimization. With the reduction the test
suites gets removed everlasting. Test case selection process
selects the test cases from a typical set of test cases. The
priorities to different test cases are provided by Test case
prioritization technique. Then these test cases will be run in
the order of their priority. Higher priority test case will run
first and then the test case with lowest priority run next.
Dependencies and prioritization of test cases, in
coordination with those dependencies which are discovered
have been the principle basis of this paper.
H Cichos ,and T.S. Heinze Efficient Reduction of
Model-Based Generated Test Suites Through Test Case
Pair Prioritization IEEE 2010 Workshop on Model-Driven
Engineering, Verification, and Validation :- Harald Cichos
and Thomas S. Heinze, recommended an methodology for
systematically integrating the test cases rather than
randomly making the pair and merging them aimlessly.
The size of test suites can be decreased by this technique.
In this technique resemblance among the test cases is
identified and then based on those resemblances a pair of
test cases is generated. After making the pair based on the
resemblance, integration is performed with which the size
will get diminished. A model checker has been used for
scientifically creating the test cases.
X Han, H Zeng and H Gao A Heuristic Model-Based
Test Prioritization Method for Regression Testing IEEE
2012 :-Xiaobo Han, Hongwei Zeng and Honghao Gao,
based on heuristic models implemented a new strategy of
prioritization. This technique acquires two types of
information from the models. With the heuristic models the
defects can be detected earlier. This earlier detection of
defects serves by reducing the error rate and because of this
the average percent of fault detection will increase. This
technique has proven the better early rate of the detection
of faults. This will lead to the quality product analysis.
X Lin Regression Testing in Research And Practice
IEEE International Conference on. IEEE, 2006:- Xuan Lin
inferred that Prioritization of test cases is the demonstration
of providing the order in which test cases must be run. This
result in the better utilization of the resources or assets and
also the test cases which urgently needs to get executed. It
takes the priority into account to run. Reduction of test
suites is the process of eliminating the test cases from the
test suite which are redundant. As they are not removed
hence they will take more time to complete. Also they will
take more resources in the comparison. Test complete tool
provides an environment for automating the testing. This
tool basically is made for the unit testing and functional
testing but it also can be used for regression testing.
S Biswas and R Mall Regression Test Selection
Techniques: A Survey :-Swarnendu Biswas and Rajib
Mall [24], have explained test suite management as in order

263 | International Journal of Computer Systems, ISSN-(2394-1065), Vol. 03, Issue 03, March, 2016

Diviaka Abbi et al

Regression Testing through Prioritization Technique on the Basis of Various Dependency Approaches

to provide more effective functionality, during the changes


being made in the original test suites, there is a requirement
of test suits to be managed. It can be done, by putting some
new test cases in while some of the test cases are needed to
get out of the suite. Both the in and out process require
management. The process of using again the test cases
which have been used earlier before the modifications were
done is known as Test case reuse. The reuse of the test
cases reduces the effort and money.
G Rothermel, R.H. Untch and M.J. Harrold
Prioritizing Test Cases For Regression Testing IEEE
2001:- Gregg Rothermel, Roland H. Untch and Mary Jean
Harrold, have proposed the technique for prioritizing the
test cases with the help of execution information.

Mitrabinda Ray Durga Prasad Mohapatra have


explained the prioritization based testing approach to
achieve high reliability with the available test sources. In
first case test cases are prioritize according to their impact
on the reliability of the system. A test case selection
approaches to select a fixed number of test cases out of a
pool of test cases. A new CDD scheme is used for slicing.
The slices of CDD are extracted and used along the
prioritize scenarios. The thoroughness with which a
component is tested is proportional to its priority, in which
the test case selection approach is a multi-objective
optimization problem. To solve this problem genetic
algorithm based scheme has been proposed. The
experimental result shows the effectiveness of the approach
as compared to the existing approach.

Firstly the test case prioritization is done on the analysis


and basis of the code which is covered. Secondly,
prioritization is done on the basis of the code coverage
which has not been covered earlier. Thirdly, prioritization
is done on the basis of the capability of discovering the
defects and errors. These techniques are hypothetically
implied on various test suites. More APFD has been found
which reflects the efficiency of these techniques. The main
drawbacks of these techniques are that they are very costly.
Hence further research is going on to reduce the cost of
factor also.

"Indumathi CP , Selvamani K" Test Cases Prioritization


Using Open Dependenmcy Structure Algorithm ,ICCS
2015:-In this paper, the proposed work was done with the
help of algorithm of six Program from the Siemen's test
Suites which indicated that the proposed work provided a
better solution. The majors of dependency Structure was
being taken. In this, dependency was calculated
automatically among the test cases. So in this, it has
reduced the time and speed of the processes which
increased the rate of fault detection.

P Mahali and A.A. Acharya Model Based Test Case


Prioritization Using UML Activity Diagram And
Evolutionary Algorithm 2013:- Prateeva Mahali and Arup
Abhinna Acharya, have studied and analysed the model
based optimization and prioritization for the test suites in
regression testing. Their methodology and research
suggested that using the genetic algorithm, the optimization
of test cases is first performed and then prioritization is
performed. This can result in producing better results and
the successful regression testing. The authors also found
that there is reduction in the cost and time with these
methods. Case study of a shopping mall was taken into
account in order to provide results which are better in
comparison. They presented the system under test by an
activity diagram in UML 2.0.

"T.Dinesh Parthiban,Mr.R.Kamalrj, Dr. S. Karthik"


Establishing A Test Case Prioritization Technique Using
Dependency Estimation of Functional Requirement, ICETS
2014:-

Qurat-ul-ann Farooq ,M Zohaib Z. Iqbal Zafar I.


Malik and M Riebisch A Model-Based Regression
Testing Approach for Evolving Software Systems with
Flexible Tool Support IEEE 2010:Quart-ul-an-farooq, Mohammad Zohaib Z. Iqbal, Zafar
I Malik and Matthias Riebish [20], studied an methodology
of state based regression testing. START, an eclipse based
tool was used for this approach. Dependencies exists is
various states gets treated by START. START makes it
possible to take care of the dependencies during the
modifications take place. UML 2.1 class diagrams and state
machines are taken in account by START. The
effectiveness of this technique was proved by a case study
on the student enrolment system. This shows test suites
reduction. START works fine even if we integrate it with
other testing tools. Parser, Comparator and test suite
analyzer are the main parts of START. XMI v2.1 format is
used as an input in START.
Shifa-e-Zehra Haidry and T Miller, Using Dependency
Structures For Prioritization Of Functional Test Suites,
2013:-

In this Paper, the author has done the empirical study of


evaluation based on six system which showed that through
these techniques the speed has been increased. The
technique based on coarse grained functional coverage
points. Firstly to run test suites, test cases must be
prioritized. After that short iterations could be done.
Second part deals with the fine grained suites and
deppendency is calculated on the basis of these suites. So
functional estimates were made on the basis of number of
accurate functions provided in a data.
" Gregg Rothermel , Roland H. Untch" Prioritizing Test
Cases for Regression Testing:In this paper, the empirical study of different technique
of test case prioritization was done. It define how we can
efficiently calculate the rate of fault detection . Various
techniques like APFD metrics, FEB Technique, were used
based on dynamic dependencies. Differences were
calculated based on the various prioritization techniques.
Through these results, we can conclude that the test case
minimization, test case selection might be cost effective but
regression done with prioritizing the test cases has proved
to be cost effective manner.
"Renee C. Bryce, Sreedevi Sampath "Developing a
Single model and test prioritization strategies for event
driven software IEEE 2011:- In this paper, the technology
of Event driven Software was used to estimate the test
cases values. Test cases were prioritized according to the
web based application . It determines the empirical study
through various techniques. The 2-Way method was used
to prioritized the various test cases which was based on
GUI interfaces. It was hybrid technique. It was statistical
method of interfaces.

264 | International Journal of Computer Systems, ISSN-(2394-1065), Vol. 03, Issue 03, March, 2016

Diviaka Abbi et al

Regression Testing through Prioritization Technique on the Basis of Various Dependency Approaches

"W.Eric Wong, J.R. Horgan, Saul London , Hira


Agarwal" A Study Of Effective Regression Testing :- In
this paper, its purpose is to make changes in the software .
The technique was a hybrid technique which includes the
techniques of minimization , prioritization and selection
criteria using all the subsets of test cases. ATAC metrics
was used to reduce the size .It made the new versions in
the software by modification of the subsets of various
techniques.
III.

PROPOSED METHODOLOGY

Regression testing is used to verify the modified


version of the software. A test case has an input, an action
performs and an expected result as an output.
3.1 Flow Chart of Proposed Work

Maintain database which contain project id,


project name etc.

important function so that it could be executed first. Test


case prioritization schedules the test cases in a regression
test suite with a view of maximizing certainty of finding
faults which help to reduce the time and cost required to
maintain service-oriented business applications. As we
discussed earlier, test cases are prioritized on the basis of
time and faults, but sometime a particular test case gives 1st
priority to that function which is least important on the
basis of either faults finding or timing constraints and gives
last priority to that which is most important. The existing
test cases prioritization has some problems. To overcome
this problem a new algorithm will be implement which will
prioritize according to functions importance .
Algorithm: Steps of proposed algorithm are as follow:
1. Maintain a database which contains all the related
information of the project i.e. project id, no. of
changes made and affected functions due to
changes.
2. Match new projects with database and find out that
functions which are affected due to changes in the
functionality.

Matching the new project with the existing


project from the database and identify the
changes occur in new project

Identify the changes made

3. Evaluate Function Values (FV) of each function


according to formula of Function value.

4. Traverse activity diagram with the help of DFS to


find out function functionality dependency.
5. Find out the Function Test value (FTV) by adding
values of each FV.

Evaluate Function Value

6. Prioritize the test cases according to the descending


order of each test case
IV.

With the help of DFD, Traverse the activity


diagram and check the functional dependency
of the function

Calculate FTV by adding values of each FV


Figure 3.1 Flow Chart of Proposed Work

EXPECTED OUTCOME

In this, efficiency could be increased and in this


approach we have to select mutation values on the basis of
certain parameters. In the previous technique it enhanced
the efficiency of regression testing but problem lies with
the randomly selection of mutation values, which liberates
the final test cases through which efficiency was reduced
but in proposed work , both of them together will give a
stronger technique to prioritize test cases. This technique
will detect fault in the early stages of development and will
also provide higher rate of fault detection and will reduce
the time of regression testing.
V.

Prioritize the Test Cases in the descending


order
3.2 Algorithm of Proposed Methodology
The main goal of test cases is to find out the errors. Test
case prioritization are of different kind i.e. faults finding
based or timing based depends upon the requirement. Test
cases are prioritized to give importance to the most

CONCLUSIONS

In this paper, it has been concluded that concept of


model based testing and functional dependency approach is
combined efficiently in prioritizing the test cases which
could results in better effectiveness of the models. Both of
these techniques have the advantages and are efficient for
increasing the efficiency of the test case prioritization.
Using this technique, the rate of fault detection would be
increased and time for testing would be reduced which
could increase the efficiency of regression testing.

265 | International Journal of Computer Systems, ISSN-(2394-1065), Vol. 03, Issue 03, March, 2016

Diviaka Abbi et al

Regression Testing through Prioritization Technique on the Basis of Various Dependency Approaches

REFERENCES
[1]
[2]

[3]
[4]

[5]
[6]

[7]

[8]
[9]

[10]

[11]

[12]

[13]

Indumathi CP , Selvamani K" Test Cases Prioritization Using Open


Dependenmcy Structure Algorithm ",ICCS 2015
T.Dinesh Parthiban,Mr.R.Kamalrj, Dr. S. Karthik "Establishing A
Test Case Prioritization Technique Using Dependency Estimation
of Functional Requirement", ICETS 2014
Gregg Rothermel , Roland H. Untch "Prioritizing Test Cases for
Regression Testing"
Renee C. Bryce, Sreedevi Sampath "Developing a Single model
and test prioritization strategies for event driven software IEEE
2011"
W.Eric Wong, J.R. Horgan, Saul London , Hira Agarwal "A Study
Of Effective Regression Testing"
B Bhattad1 and A Kothari 2 , Study of defects test cases and
testing challenges in website projects using manual and automated
techniques Computer Science & Information Technology (CS &
IT)
M. J. Harold, J. A. Jone, T. Li, and D. Liang, Regression test
selection for java software, in Proc. of the ACM Conference on
OO Programming, Systems, Languages, and Applications,2001.
S Yoo and M Harman, Regression Testing Minimisation Selection
And Prioritisation: A Survey, WC2R 2LS, UK
G Rothermel, R.H. Untch, C. Chu, and M.J. Harrold,
Prioritizing Test Cases for Regression Testing, IEEE Trans.
Software Engg vol. 27, no. 10, pp. 929-948, Sept. 2001.
Shifa-e-Zehra Haidry and T Miller, Using Dependency Structures
For Prioritization Of Functional Test Suites, IEEE Transaction on
software Engineering ,vol. 39,no. 2,Feb 2013.
K.S. Lew, T.S. Dillon, and K.E. Forward, Software Complexity
and Its Impact on Software Reliability, IEEE Trans. Software
Eng., vol. 14, no. 11, pp. 1645-1655, Nov. 1988
G. Rothermel, S. Elbaum, A. Malishevsky, P. Kallakuri, and B.
Davia, The Impact of Test Suite Granularity on the CostEffectiveness of Regression Testing, Proc. 24th Intl Conf.
Sofware Eng., p. 130, 2002
Mitrabinda Ray Durga Prasad Mohapatra, Multi-objective test
prioritization via a genetic algorithm, Innovations System
Software Eng, 2015

266 | International Journal of Computer Systems, ISSN-(2394-1065), Vol. 03, Issue 03, March, 2016

Anda mungkin juga menyukai