Vol.8 No.4
December
1, 2009
Web
Application Evolution
Editorial
(pp285-286)
Shihong Huang and Massimiliano Di Penta
Research Articles:
Performance Testing of
Data Delivery Techniques for AJAX Applications
(pp287-315)
Engin Bozdag,
Ali Mesbah, and Arie van Deursen
AJAX applications are designed to have high user interactivity and low
user-perceived latency. Real-time dynamic web data such as news
headlines, stock tickers, and auction updates need to be propagated to
the users as soon as possible. However, AJAX still suffers from the
limitations of the Web's request/response architecture which prevents
servers from pushing real-time dynamic web data. Such applications
usually use a pull style to obtain the latest updates, where the client
actively requests the changes based on a predefined interval. It is
possible to overcome this limitation by adopting a push style of
interaction where the server broadcasts data when a change occurs on the
server side. Both these options have their own trade-offs. This paper
first introduces the characteristics of both pull and push approaches It
then presents the design and implementation of our distributed test
framework, called \tool, where different AJAX applications based on each
approach can be automatically tested on. Finally, we present and discuss
the results of our empirical study comparing different web-based data
delivery approaches.
An
Empirical Validation of a Web Fault Taxonomy and its Usage for Web
Testing
(pp316-345)
Alessandro
Marchetto, Filippo Ricca, and Paolo Tonella
Web testing is assuming an increasingly important role in Web
engineering, as a result of the quality demands put onto modern
Web-based systems and of the complexity of the involved technologies.
Most of the existing works in Web testing are focused on the definition
of novel testing techniques, while only limited effort was devoted to
understanding the specific nature of Web faults. However, the
performance of a new Web testing technique is strictly dependent on the
classes of Web faults it addresses. In this paper, we describe the
process followed in the construction of a Web fault taxonomy. We used an
iterative, mixed top-down and bottom-up approach. An initial taxonomy
was defined by analyzing the high level characteristics of Web
applications. Then the taxonomy was subjected to several iterations of
empirical validation. During each iteration the taxonomy was refined by
analyzing real faults and mapping them onto the appropriate categories.
Metrics collected during this process were used to ensure that in the
final taxonomy bugs distribute quite evenly among fault categories;
fault categories are not-too-big, not-too-small and not ambiguous.
Testers can use our taxonomy to define test cases that target specific
classes of Web faults, while researchers can use it to build fault
seeding tools, to inject artificial Web faults into benchmark
applications. The final taxonomy is publicly available for consultation:
since it is organized as a Wiki page, it is also open to external
contributions. We conducted a case study in which test cases have been
derived from the taxonomy for a sample Web application. The case study
indicates that the proposed taxonomy is very effective in directing the
testing effort toward those test scenarios that have higher chances of
revealing Web specific faults.
An Investigation of Clustering
Algorithms in the Comprehension of Legacy Web Applications
(pp346-370)
Andrea De Lucia, Michele Risi, Giuseppe Scanniello, and Genoveffa
Tortora
In this paper we investigate the effect of using clustering algorithms
in the reverse engineering field to identify pages that are similar
either at the structural level or at the content level. To this end, we
have used two instances of a general process that only differ for the
measure used to compare web pages. In particular, two web pages at the
structural level and at the content level are compared by using the
Levenshtein edit distances and Latent Semantic Indexing, respectively.
The static pages of two web applications and one static web site have
been used to compare the results achieved by using the considered
clustering algorithms both at the structural and content level. On these
applications we generally achieved comparable results. However, the
investigation has also suggested some heuristics to quickly identify the
best partition of web pages into clusters among the possible partitions
both at the structural and at the content level.
Systematic Improvement
of Web Applications Design
(pp371-404)
Alejandra
Garrido, Gustavo Rossi, and Damiano Distante
Web applications are usually characterized by a rapid development
process and continuous evolution. This evolution implies growth of the
graph of pages and navigation paths, as well as new functionality and
new data made available to the user. Measurement of the system
usability, periodic or after a time of growth, is crucial to the
system's evolution in the line of design maturity and to prevent the
system from decay. This kind of evolution is one of the main practices
of agile methods, in which design improvement occurs daily during
development and often during maintenance.In this paper we propose a list
of changes for the design models of a Web application and when they may
be applied, in order to improve the application's usability while
preserving its functionality. The purpose of the proposed changes is to
improve the maturity of the design instead of adding new features; we
call them Web design improvements. This paper starts a catalogue
of Web design improvements for the navigation and presentation models of
a Web application. Since changing these models has direct impact on the
user experience with the application, our Web design improvements aim at
improving the external quality and user experience.
Back
to JWE Online Front Page
|