DocumentCode
155182
Title
An Empirical Study on the Usage of Mocking Frameworks in Software Testing
Author
Mostafa, Shaikh ; Xiaoyin Wang
Author_Institution
Dept. of Comput. Sci., Univ. of Texas at San Antonio, San Antonio, TX, USA
fYear
2014
fDate
2-3 Oct. 2014
Firstpage
127
Lastpage
132
Abstract
In software testing, especially unit testing, it is very common that software testers need to test a class or a component without integration with some of its dependencies. Typical reasons for excluding dependencies in testing include the unavailability of some dependency due to concurrent software development and callbacks in frameworks, high cost of invoking some dependencies (e.g., slow network or database operations, commercial third-party web services), and the potential interference of bugs in the dependencies. In practice, mock objects have been used in software testing to simulate such missing dependencies, and a number of popular mocking frameworks (e.g., Mockito, EasyMock) have been developed for software testers to generate mock objects more conveniently. However, despite the wide usage of mocking frameworks in software practice, there have been very few academic studies to observe and understand the usage status of mocking frameworks, and the major issues software testers are facing when using such mocking frameworks. In this paper, we report on an empirical study on the usage of four most popular mock frameworks (Mockito, EasyMock, JMock, and JMockit) in 5,000 open source software projects from GitHub. The results of our study show that the above mentioned mocking frameworks are used in a large portion (about 23%) of software projects that have test code. We also find that software testers typically create mocks for only part of the software dependencies, and there are more mocking of source code classes than library classes.
Keywords
concurrency control; program debugging; program testing; public domain software; software engineering; EasyMock; GitHub; JMockit; Mockito; bug interference; concurrent software development; missing dependency simulation; mocking frameworks; open source software projects; software dependencies; software testing; source code classes; unit testing; Electronic mail; Java; Libraries; Open source software; Servers; Testing; Mocking Frameworks; Testing;
fLanguage
English
Publisher
ieee
Conference_Titel
Quality Software (QSIC), 2014 14th International Conference on
Conference_Location
Dallas, TX
ISSN
1550-6002
Print_ISBN
978-1-4799-7197-8
Type
conf
DOI
10.1109/QSIC.2014.19
Filename
6958396
Link To Document