Requirement Prioritization of Complex Web 2.0 Application Based on Effects on Regression Testing: A Hybrid Approach

Requirement Prioritization of Complex Web 2.0 Application Based on Effects on Regression Testing: A Hybrid Approach

Varun Gupta (Jawaharlal Nehru Govt. Engineering College, India), D.S. Chauhan (Uttarakhand Technical University, India) and Kamlesh Dutta (National Institute of Technology, India)
DOI: 10.4018/978-1-5225-3422-8.ch050
OnDemand PDF Download:
$30.00
List Price: $37.50

Abstract

Web 2.0 applications are complex information systems. Likewise any desktop applications, web applications are complex and require effective requirement prioritization preceded by effective decision aspect prioritization by involving diverse stakeholders. During the release of new increments, objective is to provide value to the software and simultaneously lowering the regression testing effort. This can be achieved by implementing all highest priority requirements along with those dependent on them so that next increments implemented requirements independent of already implemented ones. The challenges involved in aspect selection, requirement prioritization, and effective selection of the security requirements of Web 2.0 application makes its incremental deliveries a complex task as compared to that of desktop applications. The proposed requirement prioritization process is hybrid approach i.e. Based on combination of negotiations and methods to prioritize both decision aspects and software requirements. This technique reduces regression testing effort by taking an impact on regression testing as one of the parameters during prioritization and overcomes various problems related to prioritization of web 2.0 applications. This technique is applied on live system of “Virtual Classroom”, by employing three stakeholder groups with total 8 stakeholders. Results were promising since it resulted in the successful delivery of web application due to effective aspect and requirement prioritization thereby leading to reduced regression testing effort.
Chapter Preview
Top

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 (Lehtola et. al, 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 seperated 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 and 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 (Gupta et al., 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 analyzing 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:
Reset