User Session Based Testing of Rich Internet JavaScript Applications

Author/Creator ORCID

Date

2022-01-01

Department

Information Systems

Program

Information Systems

Citation of Original Publication

Rights

This item may be protected under Title 17 of the U.S. Copyright Law. It is made available by UMBC for non-commercial research and education. For permission to publish or reproduce, please see http://aok.lib.umbc.edu/specoll/repro.php or contact Special Collections at speccoll(at)umbc.edu
Access limited to the UMBC community. Item may possibly be obtained via Interlibrary Loan through a local library, pending author/copyright holder's permission.
Access limited to the UMBC community. Item may possibly be obtained via Interlibrary Loan thorugh a local library, pending author/copyright holder's permission.

Abstract

Rich Internet Applications (RIAs) in general and Single Page Applications(SPAs) in particular have revolutionized the last decade of computing by moving the locus of computing from the server to the web browser. This foundational shift changes how users perceive and interact with web-based applications. Correspond- ingly, it fundamentally alters how software application development and testing must occur. In this research, we proposed an adaptation of an existing testing strategy called User Session Based Testing (USBT) which uses capturing and replaying user sessions, to the new RIA operating model. This technique, most often applied dur- ing regression or beta testing, uses existing applications and end-users to rapidly construct test suites. This adaptation uses client-side instrumentation to capture behavior and responses in a novel manner, using Domain Object Model (DOM) Mutation Observers and HTML5 Canvas instrumentation. We conducted a trial on eight RIA applications (video games) using this adapted technique in order to capture and analyze application responses to user behavior. We intended to under- stand if these event traces could form an effective test suite. We studied the DOM API to select common element attributes that they then captured. Using a testing technique called Mutation Testing, we attempted to determine the effectiveness of the test suite when applied to mutants of the original applications. The mutants contains systematically seeded faults. We also constructed several custom-designed oracle comparators to determine if these event traces could detect injected faults. As a result, we showed that USBT for RIAs could be an effective technique.