Sie sind auf Seite 1von 15

Optimized Regression Test Using Test Case Prioritization

by

Abrahmi d/o Silvarajoo


Masters in Information Technology (MIT)

Approved by,

____________________________
(Dr Mohammed Hazim Alkawaz)

Management and Science University


University Drive Off Persiaran,
Olahraga,Seksyen 13,40100,
Shah Alam, Selangor

March 2018
TITLE

Optimized Regression Test Using Test Case Prioritization

RESEARCH OBJECTIVE

To optimized regression test using test case prioritization by

implementing Ant Colony Prioritization(ACO) algorithm.


Table of Contents

TITLE ..................................................................................................................................................... 1
RESEARCH OBJECTIVE ..................................................................................................................... 1
1.0 Literature Review........................................................................................................................ 3
1.1 Problem Statement ............................................................................................................................ 5
1.2 Objectives ......................................................................................................................................... 5
1.3 Methodology ..................................................................................................................................... 5
1.5 Gantt Chart for Master Research Year 1 ......................................................................................... 11
1.6 Gantt Chart for Master Research Year 2 ......................................................................................... 12
1.7 Research contribution to country .................................................................................................... 13
1.8 Conclusion ...................................................................................................................................... 13
1.9 References ....................................................................................................................................... 13
1.0 Literature Review

Regression testing ensures that upgradation of software as far as including new highlights

or for bug settling purposes ought not hamper beforehand working functionalities. At whatever

point a software is redesigned or altered, a set of test cases are keep running on every one of

its capacities to guarantee that the change to that capacity isn't influencing different parts of the

software that were previously running flawlessly. For accomplishing this, all current test cases

need to keep running and new test cases may be required to be made. It isn't doable to re-

execute each test case for every one of the functions of a given software, because if there are

countless test cases to be run, at that point a ton of time and effort would be required. This issue

can be tended to by prioritizing test cases.

Test Case prioritization strategy reorders the need in which test cases are executed, trying

to guarantee that greatest faults are uncovered right off the bat by the high priority test case

executed first. In this paper the researcher proposed an optimized test case prioritization

method utilizing Ant Colony Optimization (ACO) to diminish the cost, effort and time taken

to perform regression testing and furthermore reveal most extreme flaws.

Ant Colony Optimization strategy is an arrangement of search algorithms of Artificial

Intelligence for ideal solutions. This system was proposed by Colorni, Dorigo and Maniezzo.

The iconic parts of ACO are ANTS. Ants are visually impaired and are little in measure, they

are yet ready to look for their sustenance and achieve their home utilizing shortest way. They

make utilization of their pheromones and antennas to be in contact with each other and locate

the optimal path. ACO is propelled from the conduct of ants.

ACO manages two vital procedures, to be specific Pheromone deposition and pheromone

evaporation. Pheromone deposition is the phenomena in which as the ant move starting with

one place then onto the next, it discharges a pheromone fluid. Pheromone evaporation is the
phenomena that over the time, saved pheromone have some day and age after which it

evaporates and vanishes. This pheromone trail is trailed by different ants by noticing which

tends to take after the way with greatest pheromone trail. Point of interest is that the ant the

food source and come back to the source even when they don’t have eyes. In this manner, ant

on the shortest way is the first to return to its nest. The procedure of way covering by ants is

appeared in Fig 1. This can be illustrated with an example demonstrated below:

Figure 1: ACO Example

Suppose there are 3 paths P1, P2 and P3, from the source (ant nest) to the destination

(food source). When ant move from its nest it can choose any of the path P1, P2, or P3.

After collecting food from the source ants move back to their nest. Ants on the shortest

path will be the one who will reach first at their nest. Therefore, more amount of pheromone

will deposit on this path. New ants starting from the nest may tend to follow this shortest

path and deposit more pheromone on this path. Thus, it is observed that most of the ants

follow the best path and this best path has maximum pheromone deposited. This

phenomenon of finding the best path is called Ant Colony Optimization.


1.1 Problem Statement
• The Existing system, test case prioritization using Genetic Algorithm, Simulated

Annealing Algorithms and Particle Swarm Optimization have been widely used but

when it comes to Ant Colony Optimization it is not still deeply studied in generating

test case and prioritization.

• Whenever software is modified, a set of test cases are run to assure that changes don’t

affect the other parts of the software. Hence all existing test cases need to be tested as

well as new test cases need to be created.

• Regression Testing without test case prioritization requires more effort and time. It is

nonviable to re-execute every test case for a given software, because if there are more

number of test cases to be tested, the is required.

1.2 Objectives
• To study the various existing techniques for test case prioritization.

• To investigate Ant Colony optimization technique for software test case prioritization.

• To purpose framework for test case prioritization based on statement coverage using

ACO Algorithm.

1.3 Methodology
In this research, there are two research methodology is being utilized. The first research

method is exploratory research. This research method recognizes and characterize the question

or issue of the research. It is being utilized as a part of the initial two stage (planning and

analysis) in the system methodology. In this research, exploratory research has been carried

out through qualitative information gathering where the researcher will review the record and

research paper that is pertinent to the research.


The second research approach is constructive research which tests the theories and the

solution that is being proposed and finish in the design and implementation phase and applies

it to the issue that is being recognize in the exploratory research. This research methodology

will just be being led after the exploratory research is finished. These researchers are required

to plan the solution through the design diagram, for example, activity, use case, class and

behavioural diagram. The research procedure might be repeated at whatever point new

requirement or new issue happens instantly or later.

Along the development period of this Master Studies, an 'Agile Scrum Methodology'

approach has been presented as a framework system which include me as developer and my

supervisor as one of the stakeholder to deal with keep track the development activities. Agile

development methodology gives chances to survey the direction of a project throughout the

software development lifecycle (SDLC). In addition, agile methodology permits adaptability

and dynamic cycle which will give a positive effect on conveying a decent quality and fulfilled

project. The iterative and incremental changes of the prerequisite dependably happen as there

are many variables should be considered while managing information. The effective and

productive communication skills among developer and stakeholder are the centre to guarantee

an average comprehension on the data being conveyed properly along the finish the project.

Indeed, this will aid necessity requirement engineering activities (i.e. elicitation, examination

analysis specification and verification) of pointless information. Practically, this model

comprises of sprint of 2 weeks which all the must be finished inside two-week time frame.

Each obstructions and updates should be available amid week after week scrum keeping in

mind the end goal to tell the stakeholders and resolve the issues at the earliest opportunity

without delayed.
Figure 2: Agile Incremental and Iterative development lifecycle

Planning Phase

The key stage in developing Master Studies, is planning stage which is the most vital

stage to decide the scope and topic of the project. In this stage, researchers are required to

propose the topic to be submitted for the endorsement by the research committee. After the

endorsement, the researcher needs to distinguish the problem statement on the topic chose.

After the issue is clearly defined, through the online research, the research is requiring coming

out with the goals and scope that should be finished inside the time of research. The researcher

needs to come out with a proposal that list out the requirement of the project and the scope to

be covered to review by the research supervisor. The discussion will be involved with the

research supervisor before proceeding to research on past work to avoid coming back to the

planning phase. At the end of the planning phase, research is required to, researcher is expected
to finish the literature review by analysing the past work and resources that support the study

and come out with a specific timeline on the milestones to be achieved.

Analysis Phase

The analysis stage answers the inquiries of who will utilize the framework, what the

framework will do, and where and when it will be utilized. Amid this stage, the researchers

have a legitimate study and research led on the topic to examine current system, recognizes

improvement opportunities, and develops up an idea for the new framework. The researcher is

required to collect necessary information where the researcher can have the study of the

requirement in user point of view. Even though, the submitted proposal has necessary

information on the studies, colleting existing information will enable the researcher to have a

clearer picture of the study and further support the study based on the updated problem in the

related parties. Once the researcher gathers the necessary information the researcher analyse

the information collected and list out system requirement to be done in the design and

implementation phase.

Design Phase

Design stage will require the examined requirement to design models for the

information administration and work process. In this phase, research will start modelling a new

business process by designing the activity diagram and will be further supported by the use

case diagram. The design will be discussing with the supervisor to verify the requirement and

to the turning back in this project. At the end of the design phase, researches are required to submit

the report on all the system, analysis and design result as the final delivery for a 4-month period.

Implementation Phase

Implementation stage comprise of development of the algorithm and testing of the

working algorithm. Based on the design in last phase, the researcher will start to develop the
algorithm based on the design on the previous phase. In this phase, only functionality will be

developed as interfaces have been developed in last phase. At the end of implementation, the

algorithm will become the system but that depend on the decision make the research committee

whether to implement the system in real life after the research complete.

Figure 3: Flow diagram of Ant Colony Optimization representing Ants behaviour


1.4 Key Milestones
EXPECTED COMPLETION YEAR: 2 YEARS

No Deliverables/Activities Schedule
1 Approach Supervisor Week 1-2
2 Propose Project Title Week 3
3 Proposal Submission Week 4
4 Proposal Approval Week 5
5 Problem Statements Week 6-11
6 Objectives Week 12-17
7 Scope of study Week 18-23
8 Project Significance Week 24-29
9 Market Survey & Client Week 30-35
Interview
10 Literature Review Week 36-41
11 Proposed Interface Design Week 42-47
12 Methodology Week 48-53
13 Expected Result & Discussion Week 54-59
14 Conclusion Week 60-65
15 Interim Report Week 66-71
16 Proposal Defence Week 72
17 Architecture and System Week 73-83
Design
18 System Complete Week 84-90
19 Submission of Technical Paper Week 91-94
20 Usability Testing Week 95-98
21 Viva Week 99
22 Final Dissertation Week 100-104
1.5 Gantt Chart for Master Research Year 1

MASTER RESEARCH YEAR 1


DETAILED 1 2 3 4 5 6- 12- 18- 24- 30- 36- 42- 48-
WEEK 11 17 23 29 35 41 47 53
Approach
Supervisor
Propose Project
Title
Proposal
Submission
Proposal Approval
Problem Statements
Objectives
Scope of study
Project Significance
Market Survey &
Client Interview
Literature Review
Proposed Interface
Design
Methodology
1.6 Gantt Chart for Master Research Year 2

MASTER RESEARCH YEAR 2


DETAILED WEEK 54- 60- 66- 72 73- 84- 91- 95- 99 100-
59 65 71 83 90 94 98 104
Expected Result &
Discussion
Conclusion
Interim Report
Proposal Defence
Architecture and System
Design
System Complete
Submission of Technical
Paper
Usability Testing
Viva
Final Dissertation
1.7 Research contribution to country
Software Testing is important to deliver quality products to the clients. Regression

Testing is one of the method in Software Testing which is carried out if and new functionalities

were added. This test is to ensure that the newly implemented function does not affect the

existing system. The overall research carried out to reduce the time consumption for regression

testing by implementing ACO algorithm. This algorithm helps to prioritize test cases which

reduces the time of the Software Tester to test the overall test cases all over again. This enable

the tester and development team to focus on delivering quality Software to their clients.

Through delivering quality products to clients, IT industry in Malaysia will be developed by

having strong software as resources.

1.8 Conclusion
In this paper the researcher has presented ACO technique for test case prioritization

which leads to optimal solution for selecting test cases. Efficiency of the algorithm is also

computed which has encouraged the use of ACO in time constraint test selection and

prioritization.

1.9 References

[1] Y.Singh, A.Kaur, B.Suri, “Test case prioritization using ant colony optimization”, ACM
SIGSOFT Software Engineering Notes, Vol.35 No.4, pages 1-7, July 2010

[2] A. Colorni, M. Dorigo, and V. Maniezzo, “Distributed optimization by ant colonies”,


Proceedings of ECAL'91, European Conference on Artificial Life, Elsevier Publishing,
Amsterdam,

[3] M. Dorigo, “Optimization, learning and natural algorithms”, Ph.D. Thesis, Politecnico
diMilano, Milano, 1992.
[4] M. Dorigo, V. Maniezzo, and A. Colorni, “The ant system: an autocatalytic optimizing
process”, Technical Report TR91-016, Politecnico di Milano (1991).

[5] T.H.Cormen, C.E.Leiserson, R.L.Rivest and C.Stein, “Introduction to Algorithms”, PHI


Publications, 2009 edition.

[6] www.codeproject.com [7] Y.Singh, A.Kaur, B.Suri, “Test case prioritization using ant
colony optimization”, ACM SIGSOFT Software Engineering Notes, Vol.35 No.4, pages 1-7,
July 2010.

Das könnte Ihnen auch gefallen