Testing concurrent user behavior of synchronous web applications with Petri nets

被引:10
作者
Offutt, Jeff [1 ]
Thummala, Sunitha [1 ]
机构
[1] George Mason Univ, Software Engn, Fairfax, VA 22030 USA
关键词
Web applications; Model-based testing; Test criteria; Petri nets;
D O I
10.1007/s10270-018-0655-8
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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.
引用
收藏
页码:913 / 936
页数:24
相关论文
共 69 条
  • [1] Adjir N, 2009, LECT NOTES COMPUT SC, V5826, P1, DOI 10.1007/978-3-642-05031-2_1
  • [2] Aggarwal G., 2010, USENIX SECURITY 10, P6
  • [3] Coverage criteria for logical expressions
    Ammann, P
    Offutt, J
    Huang, H
    [J]. ISSRE 2003: 14TH INTERNATIONAL SYMPOSIUM ON SOFTWARE RELIABILITY ENGINEERING, PROCEEDINGS, 2003, : 99 - 107
  • [4] Ammann P., 2008, COVERAGE COMPUTATION
  • [5] Ammann P., 2017, INTRO SOFTWARE TESTI
  • [6] Andrews A, 2005, SOFTWARE SYSTEMS MOD, V4, P326, DOI DOI 10.1007/S10270-004-0077-7
  • [7] [Anonymous], 2003, P 14 AUSTRALASIAN DA
  • [8] [Anonymous], 1992, RTCA. DO-178B
  • [9] Benedikt M., 2002, Proceedings 11th International Conference on World Wide Web WWW02, page, P654
  • [10] Bernardi S., 2002, P 3 INT WORKSH SOFTW, P35, DOI [10.1145/584369.584376, DOI 10.1145/584369.584376]