A Hybrid Approach of Regression-Testing-Based Requirement Prioritization of Web Applications

A Hybrid Approach of Regression-Testing-Based Requirement Prioritization of Web Applications

Varun Gupta (Amity University, India)
Copyright: © 2018 |Pages: 19
DOI: 10.4018/978-1-5225-5951-1.ch009


The chapter gives a hybrid approach for prioritization of software requirements by considering regression testing efforts as one of the criteria. The prioritization is performed against the prioritized decision aspects. The chapter gives software engineers a technique for prioritizing both requirements and aspects. This technique considers regression testing effort as one of important parameters during requirement prioritization thereby reducing the regression testing effort. This technique is applied on live web application of “virtual classroom” and the results were promising. The technique resulted in decision aspect prioritization thereby leading to effective requirement prioritization and lower regression testing efforts.
Chapter Preview

1. Introduction

Requirement prioritization is an essential activity to be carried out by any software firm to deliver software in increments, with each increment implementing highest priority requirements. Priority of requirement is calculated against different conflicting prioritization dimensions by diverse stakeholders. One of the problem as reported by (L. Lehtola, M. Kauppinen, S. Kujala, 2004) was that the requirement priorities allotted by developers were on the basis of tactic knowledge or feelings about requirement priorities. This guess work about priorities allotments is done by involving few developers. There is no method for involving diverse stakeholders, no means for selection of decision aspects and no technique for negotiations for resolving conflicts. Decision aspects need to be prioritized and employed for ranking of large requirements by involving diverse stakeholders. Decision aspect prioritization and requirement prioritization are similar to the maximum extend since both require stakeholders to give their preferences that needs to be effectively mapped to single priority value. Involving a large number of stakeholders would mean success but on the other hand, requires decision makers to resolve conflicts that arise due to different viewpoints. Requirement prioritization also suffers from the scalability problem which means that with the increase in the number of requirements, a prioritization process goes more complex and requires large effort. Scalability problem is less in the case of the decision aspect prioritization process.

The diverse stakeholders differ in their viewpoints, expertise, knowledge, locations, cultures etc. Managing these stakeholders separated by global distances is quite challenging. Involving a large number of stakeholders during the prioritization process is no doubt essential for project success but the ranking of aspects and thousands of requirements by involving these diverse stakeholders suffers from various problems like need for an effective method for mapping values given by “N” stakeholders into single priority value for each requirement, the need for effective resolution of conflicts due to conflicting viewpoints etc. Above mentioned requirements requires effective communication and collaboration between globally distributed stakeholders which is very difficult to maintain due to the existence of global distances. (Gupta & Srivastav, 2011) proposed a web based framework that overcomes global distances that exists in globally distributed environments, thereby making global developments easier.

During the release of next increment, software engineer’s implements delayed requirements along with changed ones. This means that source code will be altered in terms of addition of new statements or modules and changes in existing ones. This task of alteration of source code will result in ripple effects in other already tested parts of source code. New test cases executing newly added code along with existing ones executing already tested code needs to be executed for this new version. In earlier work (V. Gupta, D.S Chauhan, K. Dutta, 2012a) it was found that decision aspect prioritization effects requirement prioritization process which further affects regression testing activity to the maximum extend. Improvements in the requirement prioritization process can lower regression testing activity to the maximum possible extend and improves software success rate. The requirement prioritization process can be modified in such a manner that requirement priorities are computed by analysing the effect of regression testing. This happens by implementing sets of dependent requirements independent of delayed set of dependent lower priority requirements. This gives stakeholders highest priority requirements along with extra dependent ones. This lowers regression testing effort since the addition of new requirement will have no ripple effect since it is independent of already implemented ones.

Complete Chapter List

Search this Book: