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.
system. <strong>Web</strong> applications <strong>based</strong> on the classical model <strong>of</strong> the web <strong>and</strong> the<br />
technologies available in the early nineties, have aged <strong>and</strong> become out-dated.<br />
Over the course <strong>of</strong> the past 15 years, many web technologies (e.g., browsers,<br />
servers, web st<strong>and</strong>ards) have evolved. These technological advancements have<br />
made it possible to develop web systems that meet up with current user expectations,<br />
i.e., a satisfactory degree <strong>of</strong> responsiveness <strong>and</strong> interactivity similar<br />
to desktop applications. However, what we witness is that web applications<br />
built with the new models <strong>and</strong> technologies have issues with existing tools<br />
(e.g., web crawlers) <strong>and</strong> techniques (e.g., web testing) that are still focused on<br />
the old models (multi-<strong>page</strong>).<br />
This leads developers to a dilemma: on the one h<strong>and</strong>, sticking to the classical<br />
web model means missing on the advantages <strong>of</strong> the technological innovations<br />
<strong>and</strong> failing to meet today’s expectations. On the other h<strong>and</strong>, adopting<br />
the new model means renovating the system to meet expectations <strong>and</strong>, at<br />
the same time, facing many challenges the new model has with existing web<br />
technologies. The challenges are mainly due to the fact that <strong>Ajax</strong> shatters the<br />
metaphor <strong>of</strong> a web ‘<strong>page</strong>’ (i.e., a sequence <strong>of</strong> web <strong>page</strong>s connected through<br />
hyperlinks) upon which many web technologies are <strong>based</strong>. Hence, the <strong>Ajax</strong><strong>based</strong><br />
web model will only be widely adopted with success, if the supporting<br />
technologies also evolve <strong>and</strong> support the new model.<br />
Figure 1.9 shows our s<strong>of</strong>tware engineering research viewpoints on modern<br />
<strong>Ajax</strong> web application. Our focus in this work has been on three main research<br />
themes:<br />
S<strong>of</strong>tware Architecture to gain an abstract underst<strong>and</strong>ing <strong>of</strong> the new <strong>Ajax</strong><strong>based</strong><br />
web model;<br />
S<strong>of</strong>tware Reengineering to underst<strong>and</strong> the implications <strong>of</strong> reengineering classical<br />
multi-<strong>page</strong> web systems to single-<strong>page</strong> <strong>Ajax</strong> variants;<br />
S<strong>of</strong>tware <strong>Analysis</strong> <strong>and</strong> <strong>Testing</strong> to explore strategies for analyzing <strong>and</strong> testing<br />
this new breed <strong>of</strong> web application.<br />
Below, we discuss these viewpoints <strong>and</strong> formulate the research questions<br />
that drive the work presented in this thesis.<br />
1.3.1 Architecture<br />
After the neologism <strong>Ajax</strong> was introduced in 2005, numerous frameworks <strong>and</strong><br />
libraries appeared, <strong>and</strong> many web developers started adopting one or more<br />
<strong>of</strong> the ideas underpinning <strong>Ajax</strong>. However, despite all the attention <strong>Ajax</strong> has<br />
been receiving from the web community, the field is characterized by a lack<br />
<strong>of</strong> coherent <strong>and</strong> precisely defined architectural descriptions.<br />
<strong>Ajax</strong> provides us with a set <strong>of</strong> techniques to design a new style <strong>of</strong> web<br />
client/server interaction that was not possible in classical web systems. An<br />
interesting question is whether concepts <strong>and</strong> principles as developed in the<br />
s<strong>of</strong>tware architecture research community, <strong>and</strong> specifically those related to<br />
14 1.3. Challenges <strong>and</strong> Research Questions