Test Case Prioritization Using Swarm Intelligence Algorithm To Improve Fault Coverage And Time For Web Applications: Software Engineering Dissertation, UTM, Malaysia

University Universiti Teknologi Malaysia (UTM)
Subject Software Engineering

1.1 Research Background

Software testing is one of the important and primary parts of software quality assurance (SQA). Testing a product or application is the main stage of the Software Development Life Cycle (SDLC). It assumes an extremely fundamental part in choosing the quality and usefulness of the product and guarantees that the finished result is according to the customers’ interest. The Testing of the product is done to identify flaws and mistakes in its functionality, based on which the performance and features of the product are enhanced further. The least known aspect of the software development process is software testing. Software testing is performed repeatedly, and it is often done in a rush due to time constraints and limited resources (Khatibsyarbini, Isa, Jawawi, Hamed, & Mohamed Suffian, 2019).

Test Case Prioritization (TCP) application appears to enhance the test viability in software testing activity (Khatibsyarbini et al., 2019). Test Case Prioritization (TCP) is a technique whereby each test case is assigned a priority. TCP orders the test cases on some properties so that highly ranked test cases execute at a higher priority (Bajaj & Sangwan, 2019). It enables a way to execute highly significant test cases initially and produce the ideal result, such as identifying flaws prior and giving feedback to the testers.

It likewise assists with tracking down the ideal permutation of a progression of test cases and could be executed in a reliable manner (Khatibsyarbini, Isa, Jawawi, & Tumeng, 2018). TCP techniques are very popular in the industry and are the focus of the study (Prado Lima & Vergilio, 2020). The number of publications related to the test case prioritization is still growing in recent years which includes the interest in the application of artificial intelligence, and machine learning in TCP (Mece, Binjaku, & Paci, 2020). Most researchers conduct the study by implementing metaheuristic algorithms to detect faults and time execution performance (Padmnav, Pahwa, Singh, & Bansal, 2019).

A metaheuristic is a significant level structure to create heuristic optimization algorithms that may give an adequate proper solution for an optimization problem, particularly with inadequate data (Padmnav et al., 2019). When compared to optimization algorithms, iterative approaches, or simple heuristics, metaheuristics enable us to find good solutions with less computational effort. Evolutionary computation, genetic algorithms and particle swarm optimization are population-based metaheuristics (Soghrati & Moeini, 2020).

Swarm Intelligence (SI) is a new research area inspired by the collective intelligence of social insects or animals in groups, such as ant colonies, bee colonies, bird flocking, fish schooling and animal herding (Chakraborty & Kar, 2017). The term collective intelligence was first used to describe how insects and animals self-organize and behave intelligently (Kumar, Kumar, & Jarial, 2017). Recent studies in TCP problems implemented swarm intelligence algorithms like Firefly Algorithm (FA (Khatibsyarbini et al., 2019), Ant Colony Optimization (ACO) (Panwar, Tomar, Harsh, & Siddique, 2018) and Artificial Bee Colony (ABC) (Padmnav et al., 2019), etc. From these studies, the results show to be that the algorithms implemented were a success for fault coverage. Hence, this research is going to focus on two swarm intelligence algorithms which are ABC and ACO to compare which is a better algorithm in terms of fault coverage and timely execution.

ABC is a metaheuristic and swarms intelligence algorithm proposed by Karaboga in 2015 (Huo & Liu, 2018). ABC is a bee-based optimization strategy that takes into account how groups of bees behave in the real world. In the actual Bee colony, there are mainly three kinds of bees which are Scout, Worker and Onlooker Bees (Kabra & Birajdar, 2016). A possible arrangement of the optimization problem is addressed by the placement of a food source, and the consistency of the solution is referred to as fitness (Xue, Jiang, Zhao, & Ma, 2018). The ABC algorithm is an evolutionary optimization method that is simple, efficient, reliable, and robust.

ABC has emerged as a possible appliance for resolving both local and global optimization issues which can also be implemented in TCP (Wen, Shao, Fang, & Xue, 2015). ACO algorithm is also a metaheuristic and swarms intelligence algorithm inspired by a real-life ant monitoring behaviour. This algorithm is an example of how computer scientists are simulating real ants in artificial ants (Agrawal & Kaur, 2018).

While each ant is visually impaired, fragile, and insignificant on its own, the province of ants demonstrates complex activities by allowing them to assist one another. One of them is the ability to lay down special chemicals called pheromones to find the quickest path to a food source or other interesting landmark (Srivastava et al., 2016).

More pheromone deposits on a path increase the likelihood that the path will be followed based on the maximum pheromone deposit from the start node, and the path will be evaluated for optimality (S & S S, 2020). The ACO algorithm is suitable to identify faults early as it has a special technique to find the quickest path. Thus, in this research, we proposed a study on TCP using ABC and ACO algorithms to improve fault coverage and timely execution for web applications. The results will then be compared to determine the effectiveness of both ABC and ACO algorithms.

Problem Statement

Test Case Prioritization (TCP) is a technique that assigns a priority to each test case. Priority is assigned based on a set of criteria, and the highest-priority test cases are scheduled first. The criterion might be that the test case with the fastest fault coverage receives the highest priority. This method has the advantage of neither discarding nor permanently removing test cases from the test suite (Raamesh, 2016).

Recently, several researchers performed a study on test case prioritization by implementing Genetic Algorithm (GA), Firefly Algorithm (FA), Bat Algorithm (BA), etc. The study outcome showed various results based on the domains used as well as the algorithms. The Firefly Algorithm showed a good response however, it slightly outperformed in terms of execution time (Khatibsyarbini et al., 2019).

Besides that, the research that was carried out to test the effectiveness between GA and ACO showed a positive outcome that ACO was a better algorithm when implemented in a time-constrained environment (Panwar et al., 2018). Hence, this research will be carried out to test and compare the effectiveness of two different algorithms under Swarm Intelligence, where ABC and ACO algorithms will be implemented in the study. The test will be executed to find the fault coverage and time execution when both algorithms are implemented as these are the curial aspects in software testing to
ensure good quality products are produced within the timeline.

Besides that, this research also will be carried out on web application test cases. As web applications or dynamic websites are commonly used by the broad population around the world for information, e-commerce, and e-learning, this is to test the effectiveness of both algorithms on the test cases (Pradesh & Pradesh, 2017). This would help to improve fault coverage and timely execution as these are the most crucial aspects in software testing to maintain good quality assurance within a proposed period.

Objectives and Aims

The research aims to implement a swarm intelligence algorithm for test case prioritization to improve fault coverage and timely execution for web applications. To achieve the aim, the following are the objectives of this research:

I To implement Artificial Bee Colony (ABC) and Ant Colony Optimization (ACO) in test case prioritization for web applications.

ii To compare the effectiveness of ABC and ACO algorithm to improve the fault coverage and timely execution for a web application scope of Research

The scopes of the study are:

I Conduct the study by using web application test cases datasets.

ii The algorithms that will be used are artificial bee colony and ant colony
optimization.

iii To improve fault coverage and the time of execution.

Research Significance

This study conducts a comparative analysis between two TCP algorithms under swarm intelligence, ABC and ACO algorithms. The significance of the proposed algorithm is to evaluate the effectiveness of the algorithms implemented in improving fault coverage and timely execution. The result was then compared to identify the better algorithm. To the best of our knowledge, there are no attempts made by researchers previously by comparing two algorithms under swarm intelligence for web applications. Hence, research gives a new contribution to TCP.

Get Solution of this Assessment. Hire Experts to solve this assignment for you Before Deadline.

Get Help By Expert

Malaysia Assignment Help offers top quality dissertation writing help to rank high in university. our writers have amazing skills to write perfect quality answers on essay writing, report writing, research paper, coursework writing, etc many more services as per your university guideline.

Answer

Recent Solved Questions

Online Exam & Assignment Writing Services

51770+ Orders Delivered

4.9/5
5 Star Rating

Confidential & Secure Assignment Help For

Group Assignment Help

Online Exam -Test & Quiz

Cheapest Price Quote

Diploma & Certificate Levels

Semester & FYP Papers

Summative & Individual

GBA & Reflective

Last Minute Assistance

Sample Assignment Download

FAR560 Financial Accounting And Reporting 4 Assignment Sample UiTM Malaysia
The fourth level course builds on knowledge and skills introduced in Financial accounting and reporting 3 (FAR 510). In this way, it tests students' abilities to apply their accumulated understanding…
Accounting
CSC401 Fundamentals of Computer Science Assignment Sample UITM Malaysia
This course will introduce you to the basics of computer science. You'll learn about how a computer system is put together, what all its various parts do and why they…
Computer & It

UP TO 15 % DISCOUNT

Instant Paper Writing Services by Native Malaysia Writers

Plagiarism Free Solutions
100% Original Work
24*7 Online Assistance
Native PhD Experts
Hire a Writer Now

Get Assistance for Assignments, online Exam, and Projects Writing