Skip to main navigation Skip to search Skip to main content

Testing concurrent user behavior of synchronous web applications with Petri nets

  • George Mason University

Research output: Contribution to journalArticlepeer-review

14 Scopus citations

Abstract

Web applications are now used in every aspect of our lives to manage work, provide products and services, read email, and provide entertainment. The software technologies used to build web applications provide features that help designers provide flexible functionality, but that are challenging to model and test. In particular, the network-based request-response model of programming means that web applications are inherently “stateless” and implicitly concurrent. They are stateless because a new network connection is made for each request (for example, when a user clicks a submit button). Thus, the server does not, by default, recognize multiple requests from the same user. Web applications are also concurrent because multiple users can use the same web application at the same time, creating contention for the same resources. Unfortunately, most web application testing does not adequately evaluate these aspects of web applications, leaving many software faults in deployed web applications. Part of this problem is because most traditional software modeling tools (such as UML) do not have built-in support for the stateless and concurrent aspects of web applications. This research project uses a novel model that is based on Petri nets to describe certain aspects of the behavior of web applications. This paper makes several contributions. We present a novel technique to design tests from this model that explicitly tests concurrency in web applications. We present novel coverage criteria that are defined on the Petri net model. We present results from an empirical study of 18 web applications with 343 components and 30,186 lines of code, followed by a case study on a large industrial web application. The tests found significantly more faults than traditional requirements-based tests, with fewer tests.

Original languageEnglish
Pages (from-to)913-936
Number of pages24
JournalSoftware and Systems Modeling
Volume18
Issue number2
DOIs
StatePublished - Apr 4 2019

Keywords

  • Model-based testing
  • Petri nets
  • Test criteria
  • Web applications

Fingerprint

Dive into the research topics of 'Testing concurrent user behavior of synchronous web applications with Petri nets'. Together they form a unique fingerprint.

Cite this