25.07.2014 Views

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

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!