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.
Empirical evaluation (Wohlin et al., 2000) is an effective way to asses the<br />
validity <strong>of</strong> any new concept or method. As far as the proposed Spiar architectural<br />
style (Chapter 2) is concerned, empirical evaluation is very challenging,<br />
if not impossible. Therefore, we have taken an analytical approach in<br />
evaluating Spiar by discussing the rationale behind the style <strong>and</strong> its scope<br />
regarding different web architectures. We have conducted a controlled experiment<br />
(Wohlin et al., 2000) in Chapter 4 <strong>and</strong> have empirically evaluated Retjax<br />
(Chapter 3), Crawljax (Chapter 5), <strong>and</strong> Atusa (Chapter 6) by conducting case<br />
studies (Yin, 2003; Kitchenham et al., 1995) <strong>and</strong> reporting the results. One<br />
challenge in conducting the case studies was the lack <strong>of</strong> existing comparable<br />
methods <strong>and</strong> tools to form a comparison baseline (Kitchenham et al., 2002)<br />
for the results.<br />
Another issue we faced revolved around finding industrial real-world cases<br />
for the evaluation part, which can be seen as an external threat to validity.<br />
Due to the relatively new nature <strong>of</strong> the technology, we were not able to find<br />
as many industrial <strong>Ajax</strong>-<strong>based</strong> applications to conduct experiments on, as we<br />
had wished for. Therefore, most <strong>of</strong> our case study subjects are open source<br />
applications. Although the size <strong>of</strong> the chosen case subjects is relatively small,<br />
they are representative <strong>of</strong> the type <strong>of</strong> web applications our methods are focused<br />
on, i.e., st<strong>and</strong>ards-<strong>based</strong> single-<strong>page</strong> web applications. With respect to<br />
reliability <strong>and</strong> replication, the open source nature <strong>of</strong> both the case subjects<br />
<strong>and</strong> the tools makes the experiment <strong>and</strong> case studies fully reproducible.<br />
As far as the internal validity is concerned, we minimized the chance <strong>of</strong><br />
development errors by including rigorous unit testing for all the implemented<br />
tools. We have used various external libraries <strong>and</strong> third party components,<br />
<strong>and</strong> while we did encounter problems in some <strong>of</strong> them, they do not affect<br />
the validity <strong>of</strong> our results. Sections 4.7 <strong>and</strong> 6.10 provide a more detailed<br />
discussion <strong>of</strong> the threats to validity.<br />
Our emphasis in this thesis has been on ideal ultimate st<strong>and</strong>ards-<strong>based</strong><br />
‘single-<strong>page</strong>’ web interfaces. As we have seen in this work, single-<strong>page</strong> web<br />
interfaces are great if the surrounding web technologies, such as crawlers <strong>and</strong><br />
browsers, also support them. We believe that for the time being, a hybrid<br />
approach which unifies the benefits <strong>of</strong> both dynamic fine-grained single-<strong>page</strong><br />
<strong>and</strong> static large-grain multi-<strong>page</strong> approaches, is the best option for developing<br />
web applications without having to face the negative side effects <strong>of</strong> the two<br />
ends, i.e., issues with amnesic <strong>page</strong>s without any history, linking, bookmarking,<br />
indexing by general search engines on the one h<strong>and</strong>, <strong>and</strong> low latency,<br />
responsiveness <strong>and</strong> interactivity on the other h<strong>and</strong>.<br />
It is worth mentioning that for closed (authenticated) web applications,<br />
single-<strong>page</strong> interfaces are ideal since many <strong>of</strong> the issues mentioned above,<br />
such as discoverability by search engines, do not play a role.<br />
Our Spiar architectural style is deduced from single-<strong>page</strong> <strong>Ajax</strong> applications.<br />
Whether such a style can support hybrid architectures needs further<br />
exploration. Our crawling <strong>and</strong> testing methods should have no difficulties<br />
in dealing with such hybrid settings, although here again, more experiments<br />
need to be carried out.<br />
160 7.3. Evaluation