Requirement Prioritization of Complex Web 2.0 Application Based on Effects on Regression Testing

Author(s):  
Varun Gupta ◽  
D.S. Chauhan ◽  
Kamlesh Dutta

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.

Author(s):  
Varun Gupta ◽  
D.S. Chauhan ◽  
Kamlesh Dutta

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.


Author(s):  
Varun Gupta

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.


2019 ◽  
Vol 10 (2) ◽  
pp. 1-26 ◽  
Author(s):  
Munish Khanna ◽  
Naresh Chauhan ◽  
Dilip Kumar Sharma

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.


Undeniably the most favored web scripting language is PHP. Almost 80% of the internet’s server-side web applications are written in PHP which includes big giants like WordPress, Wikipedia, and Facebook. In present-day, at an accelerating pace, the quantity of digital content is burgeoning. A heterogeneous set of users' devices is being amassed by these contents and administering these contents manually is an infeasible solution engendering an increasing set of problems. A solution to this problem would be to switch to a web programming language, which can be compiled. We are describing an easy to deploy and a continuous conversion mechanism for converting existing Web 2.0 PHP application systems into Facebook’s HHVM supported Hack server-side application systems. We are trying to use the power of Hack language and amplify the performance of existing PHP server-side applications. Instead of interpreting all of your code Hack translates it to assembly and runs that instead, which can lead to an immense amount of increase in performance. We are using Hacktificator, a tool developed by Facebook Developers and our demo web application running on HHVM to test and convert user’s existing PHP codebase to Hack language. With this proposed methodology we do not have to make any change to existing codebase manually or hire new engineers for the conversion, nor do we have to take down our live systems. Conversion can be done on the fly and will result in approximately 2x to 20x better performance. The availability of this tool can save costs for manual conversion, save time as well as improve the user experience of websites with better performance


Author(s):  
Akihiro Hori ◽  
Shingo Takada ◽  
Toshiyuki Kurabayashi ◽  
Haruto Tanno

Much work has been done on automating regression testing for applications. But most of them focus on test execution. Little work has been done on automatically determining if a test case passes or fails. This decision is often made by comparing the results of executing test cases on a base version of the application and post-modification version of the application. If the two results match, the test case passes, otherwise fails. However, to the best of our knowledge, there is no regression testing method for automatically deciding pass/fail of dynamic Web applications which use JavaScript or CSS. We propose a method that automatically decides if a dynamic Web application passes a regression test case. The basic idea is to obtain a screenshot each time the GUI of the Web application (i.e. Web page) changes its state, and then compare each corresponding screenshot to see if they match. The evaluation results showed that the accuracy rate of our approach is high and our approach can be considered as fast enough for practical use.


Author(s):  
Tzanetos Pomonis ◽  
Dimitrios A. Koutsomitropoulos ◽  
Sotiris P. Christodoulou ◽  
Theodore Papatheodorou

The aim of this work is to help cultural web application developers to benefit from the latest technological achievements in Web research. The authors introduce a 3-tier architecture that combines Web 2.0 principles, especially those that focus on usability, community and collaboration, with the powerful Semantic Web infrastructure, which facilitates the information sharing among applications. Moreover, they present a development methodology, based on this architecture, especially tailored for the cultural heritage domain. Cultural developers can exploit this architecture and methodology in order to construct web2.0-powered cultural applications with rich-content and responsive user-interface. Furthermore, they outline some indicative applications in order to illustrate the features of the proposed architecture and prove that it can be applied today and support modern cultural web applications.


Author(s):  
Pankaj Kamthan

In this chapter, we view the development and maintenance of Web applications from an engineering perspective. A methodology, termed as POWEM, for deploying patterns as means for improving the quality of Web applications is presented. To that end, relevant quality attributes and corresponding stakeholder types are identified. The role of a process, the challenges in making optimal use of patterns, and feasibility issues involved in doing so, are analyzed. The activities of a systematic selection and application of patterns are explored. Following a top-down approach to design, examples illustrating the use of patterns during macro- and micro-architecture design of a Web application are given. Finally, the implications towards Semantic Web applications and Web 2.0 applications are briefly outlined.


Author(s):  
David Parsons

This chapter explores how Web application software architecture has evolved from the simple beginnings of static content, through dynamic content, to adaptive content and the integrated client-server technologies of the Web 2.0. It reviews how various technologies and standards have developed in a repeating cycle of innovation, which tends to fragment the Web environment, followed by standardisation, which enables the wider reach of new technologies. It examines the impact of the Web 2.0, XML, Ajax and mobile Web clients on Web application architectures, and how server side processes can support increasingly rich, diverse and interactive clients. It provides an overview of a server-side Java-based architecture for contemporary Web applications that demonstrates some of the key concepts under discussion. By outlining the various forces that influence architectural decisions, this chapter should help developers to take advantage of the potential of innovative technologies without sacrificing the broad reach of standards based development.


2012 ◽  
Vol 2 (2) ◽  
pp. 112-116
Author(s):  
Shikha Bhatia ◽  
Mr. Harshpreet Singh

With the mounting demand of web applications, a number of issues allied to its quality have came in existence. In the meadow of web applications, it is very thorny to develop high quality web applications. A design pattern is a general repeatable solution to a generally stirring problem in software design. It should be noted that design pattern is not a finished product that can be directly transformed into source code. Rather design pattern is a depiction or template that describes how to find solution of a problem that can be used in many different situations. Past research has shown that design patterns greatly improved the execution speed of a software application. Design pattern are classified as creational design patterns, structural design pattern, behavioral design pattern, etc. MVC design pattern is very productive for architecting interactive software systems and web applications. This design pattern is partition-independent, because it is expressed in terms of an interactive application running in a single address space. We will design and analyze an algorithm by using MVC approach to improve the performance of web based application. The objective of our study will be to reduce one of the major object oriented features i.e. coupling between model and view segments of web based application. The implementation for the same will be done in by using .NET framework.


Sign in / Sign up

Export Citation Format

Share Document