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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

correct behavior. Violations in the invariants can be seen as c<strong>and</strong>idate faults.<br />

The invariants can be generic, such as DOM validation <strong>and</strong> correctness, or<br />

application-specific, constraining DOM elements’ properties, relations, <strong>and</strong><br />

occurrences.<br />

The proposed technique in Chapter 6 provides evidence that automatic testing<br />

<strong>of</strong> dynamic interfaces is possible through invariants. Invariants not only<br />

help during the test process to automate the oracle, but at the same time they<br />

can form an appropriate vehicle for documenting the system behavior, especially<br />

in web-<strong>based</strong> applications where documenting the dynamic behavior is<br />

far from trivial.<br />

As a comparison, Chiron, presented in Chapter 4, analyzes the behavior<br />

<strong>of</strong> the web application by simulating a high number <strong>of</strong> clients <strong>and</strong> examining<br />

system properties such as server performance, network usage, data coherence,<br />

etc. On the other h<strong>and</strong>, Atusa focuses on testing the run-time behavior <strong>of</strong> one<br />

single web application, by simulating user events on the client interface <strong>and</strong><br />

analyzing the response.<br />

Atusa does not replace manual user interface testing, but augments it. One<br />

limitation <strong>of</strong> our approach is the state space explosion, which is an inherent<br />

problem in all state-<strong>based</strong> testing approaches <strong>and</strong> our tool is not an exception,<br />

although we do provide a number <strong>of</strong> mechanisms to constrain the state space,<br />

as discussed in Chapter 6.<br />

7.3 Evaluation<br />

In this section we discus our research challenges <strong>and</strong> the threats to validity <strong>of</strong><br />

our results.<br />

The work described in this thesis started under the <strong>Single</strong> Page Computer<br />

Interaction (SPCI) project, a project initiated by:<br />

• Backbase, a computer s<strong>of</strong>tware company specialized in creating <strong>Ajax</strong><strong>based</strong><br />

web applications, founded in 2003 in Amsterdam, see 2.2.3 for<br />

more details about their <strong>Ajax</strong> framework.<br />

• CWI, the Dutch National Research Institute for Mathematics <strong>and</strong> Computer<br />

Science, <strong>and</strong><br />

• the Delft University <strong>of</strong> Technology.<br />

In fact, the term <strong>Ajax</strong> was not even coined yet when the project’s proposal<br />

was written. The goal <strong>of</strong> the project was to better underst<strong>and</strong> the implications<br />

<strong>of</strong> adopting modern st<strong>and</strong>ards-<strong>based</strong> single-<strong>page</strong> web applications.<br />

One challenge we faced at the start <strong>of</strong> the project was that the literature<br />

on modern web applications in general <strong>and</strong> <strong>Ajax</strong> in particular, appeared to<br />

be a scarcely populated area. Many traditional s<strong>of</strong>tware <strong>and</strong> web engineering<br />

techniques appeared to be unfit for <strong>Ajax</strong> <strong>and</strong> therefore had to be adapted to<br />

the new requirements.<br />

Chapter 7. Conclusion 159

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

Saved successfully!

Ooh no, something went wrong!