Analysis and Testing of Ajax-based Single-page Web Applications
Analysis and Testing of Ajax-based Single-page Web Applications
Analysis and Testing of Ajax-based Single-page Web Applications
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
4.4 Experimental Design<br />
In this section we first present our research questions. Later we describe our<br />
proposed approach, <strong>and</strong> the independent <strong>and</strong> dependent variables which we<br />
will use to conduct the experiment <strong>and</strong> come to answers to our questions.<br />
4.4.1 Goal <strong>and</strong> Research Questions<br />
We set up our experiments in order to evaluate several dependent variables<br />
using the GQM/MEDEA 5 framework proposed by Bri<strong>and</strong> et al. (Bri<strong>and</strong> et al.,<br />
2002). First, we describe the goal, perspective <strong>and</strong> environment <strong>of</strong> our experiment:<br />
Goal. To obtain a rigorous underst<strong>and</strong>ing <strong>of</strong> the actual performance trade<br />
<strong>of</strong>fs between a push-<strong>based</strong> <strong>and</strong> a pull-<strong>based</strong> approach to <strong>Ajax</strong> data delivery.<br />
Perspective:. In particular, we aim at an automated, repeatable experiment,<br />
in which as many (combinations) <strong>of</strong> the factors that influence performance<br />
(such as the number <strong>of</strong> users, the number <strong>of</strong> published messages, the intervals<br />
between messages, etc.) can be taken into account.<br />
Environment. The experiments are targeted at distributed environments,<br />
particularly those with UNIX/Linux nodes. Further relevant factors <strong>of</strong> these<br />
systems will be described in Section 4.5.2.<br />
We have formulated a number <strong>of</strong> questions that we would like to find<br />
answers for in each approach. Our research questions can be summarized as:<br />
RQ1 How fast are state changes (new messages) on the server propagated to<br />
the clients?<br />
RQ2 What is the scalability <strong>and</strong> overall performance <strong>of</strong> the server?<br />
RQ3 To what extent is the network traffic generated between the server <strong>and</strong><br />
clients influenced?<br />
RQ4 How reliable is each approach? Are there messages that are missed or<br />
abundantly received on the clients?<br />
4.4.2 Outline <strong>of</strong> the Proposed Approach<br />
In order to obtain an answer to our research questions, we propose the following<br />
steps:<br />
1. creating two separate web applications, having the same functionality,<br />
using each push library (one for Cometd <strong>and</strong> one for DWR), consisting<br />
<strong>of</strong> the client <strong>and</strong> the server parts,<br />
5 Goal Question Metric/MEtric DEfinition Approach<br />
Chapter 4. Performance <strong>Testing</strong> <strong>of</strong> Data Delivery Techniques for <strong>Ajax</strong> 83