Search for Prioritized Test Cases during Web Application Testing

Search for Prioritized Test Cases during Web Application Testing

Munish Khanna (YMCA University of Science & Technology, Faridabad, India), Naresh Chauhan (YMCA University, Faridabad, India) and Dilip Kumar Sharma (GLA University, Mathura, India)
Copyright: © 2019 |Pages: 26
DOI: 10.4018/IJAMC.2019040101

Abstract

Regression testing of evolving software is a critical constituent of the software development process. Due to resources constraints, test case prioritization is one of the strategies followed in regression testing during which a test case that satisfies predefined objectives the most, as the tester perceives, would be executed the earliest. In this study, all the experiments were performed on three web applications consisting of 65 to 100 pages with lines of code ranging from 5000 to 7000. Various state-of-the-art approaches such as, heuristic approaches, Greedy approaches, and meta heuristic approaches were applied so as to identify the prioritized test sequence which maximizes the value of average percentage of fault detection. Performance of these algorithms was compared using different parameters and it was concluded that the Artificial Bee Colony algorithm performs better than all. Two novel greedy algorithms are also proposed in the study, of which the goal is to smartly manage the state of a tie, where a tie exhibits the condition that all the test cases participating in the tie are of equal significance in achieving the objective. It has also been validated that the performance of these novel proposed algorithm(s) is better than that of traditionally followed greedy approach, most of the time.
Article Preview

1. Introduction

In the present E-Commerce-oriented state of business, web applications play very vital role. These are buildup of different web technologies and are hosted over web servers so that users can access them using intranet or internet through a web browser. Being volatile in nature, effective and consistent testing of web applications becomes necessary. In order to satisfy the never-ending expectations of the customers and to sustain in a highly competitive era, frequent updates and up gradations in web applications (dynamic websites) on hourly or daily basis are required, without suspending the provided services. Regression testing is required to validate these updates and up gradations because any fault in a specific page can interfere with one or more functionalities of the website. Moreover, structure of these applications is complex; any dynamic website consists of a number of pages that are, in turn, connected to several other pages hence fault on any one page can hamper performance. The efficacy of proper testing is to be measured in terms of effective and complete testing within a limited time.

Regression testing is one of the inevitable processes executed during the maintenance phase of SDLC (Chauhan, 2010; Mathur, 2012; Singh, 2012).

The formal definition of regression testing as specified by IEEE is,

“Selective retesting of a system or component to verify that modifications have not caused unintended effects and that the system or component still complies with its specified requirement…” (IEEE Standard Computer Dictionary).The main objective behind its execution is to ensure that changes introduced in the delivered software do not initiate any new fault in the modified as well as the previously flawlessly working and tested code. It is a complex process to certify that recently introduced changes/features do not hamper the performance of the existing, unchanged part of the software.

The formal definition (Rothermal, Untch, & Harrold, 2001) of Test Case Prioritization (TCP), one of the strategies followed during regression testing, is given below.

Given: Let a test suite T be given along with the set of all possible permutations (ordering) of T, PT, of T and a function f from PT to the real numbers.

Problem: Find a new permutation T which belongs to the set of permutations PT such that its value for f(T) is greater than or equal to any other permutation T which also belongs to PT where PT represents the set of all possible permutations of T, and f is a function that, when applied to any such ordering, yields an award value for that ordering. It is assumed that higher award values are preferable to lower ones. In other words, f is a quantitative measure that satisfies the goal of escalating the likelihood of satisfying predefined objectives.

TCP is a discrete combinatorial problem which falls under the class of NP-Hard problems (Cormen, Leiserson, Rivest & Stein, 2001; Horowitz, Sahni & Rajasekaran, 2007; Jingui, Min & Immune, 2010) and its time complexity is exponential in nature. Finding optimal sequence of a large size test suite is a challenging task for which various attempts have been made by the researcher’s fraternity; however, finding a near optimal solution could be an alternative. Several software engineering problems are formulated as single objective optimization problems and TCP is one example. During TCP there could be various objective(s) to be satisfied. However, in this study finding the highest rate of fault coverage is the objective. During literature study, it has been noted that diverse optimization problems have been effectively solved using nature inspired approaches and the achieved results are optimal or nearby optimal in nature. Various nature inspired techniques such as Hill Climbing, Genetic Algorithm and Tabu search have already been applied to solve test cases prioritization problem (Li, Harman, & Hierons, 2007).

Complete Article List

Search this Journal:
Reset
Open Access Articles: Forthcoming
Volume 11: 4 Issues (2020): Forthcoming, Available for Pre-Order
Volume 10: 4 Issues (2019): 2 Released, 2 Forthcoming
Volume 9: 4 Issues (2018)
Volume 8: 4 Issues (2017)
Volume 7: 4 Issues (2016)
Volume 6: 4 Issues (2015)
Volume 5: 4 Issues (2014)
Volume 4: 4 Issues (2013)
Volume 3: 4 Issues (2012)
Volume 2: 4 Issues (2011)
Volume 1: 4 Issues (2010)
View Complete Journal Contents Listing