An exploration of user-visible errors in web-based applications to improve web-based applications
Westley R. Weimer, Kinga Dobolyi · 2010
Web-based applications are one of the most widely used types of software and have become the backbone of the e-commerce and communications businesses. These applications are often mission-critical for many organizations, but generally suffer from low customer loyalty and approval. Although such concerns would normally motivate the need for highly-reliable and well-tested systems, web-based applications are subject to constraints in their development lifecycles that often preclude complete testing. To address these constraints, this research explores user-visible web-based application errors in the context of web-based application error detection and classification. The main thesis of this research is that user-visible web-based application errors have special properties that can be exploited to improve the current state of web application error detection, testing, and development. This thesis is evaluated using seven specific falsifiable hypotheses. This research presents highly-precise, automated approaches to the testing of web-based applications that reduce the cost of such testing, making their adoption more feasible for developers. Additionally, a model of user-visible web application error severity is constructed, backed by a human study, to refute the current underlying assumption of error severity uniformity in defect seeding for this domain, as well as to propose software engineering guidelines to avoid high severity errors, and facilitate testing techniques in finding high-severity defects. Studying error severities from the consumer perspective is a novel contribution to the web application testing field. This research approaches testing web-based applications by recognizing that errors in web applications can be successfully modeled using the tree-structured nature of XML/HTML output, that unrelated web applications fail in similar ways, and that these failures can be modeled according to their consumer-perceived severities, with the ultimate goal of improving the current state of web application testing and development. The strategies presented in this dissertation have the potential to (1) increase the perceived return-on-investment for testing web-based applications, thereby improving their reliability, and (2) decrease consumer loss due to errors and their perceived severity.