Automatic mock object creation for test factoring

TitleAutomatic mock object creation for test factoring
Publication TypeConference Paper
Year of Publication2004
AuthorsSaff D, Ernst MD
Conference NameACM SIGPLAN/SIGSOFT Workshop on Program Analysis for Software Tools and Engineering (PASTE'04)
Date or Month PublishedJune 7–8
Conference LocationWashington, DC, USA
Abstract<p><em> Test factoring</em> creates fast, focused unit tests from slow system-wide tests; each new unit test exercises only a subset of the functionality exercised by the system tests. Augmenting a test suite with factored unit tests, and prioritizing the tests, should catch errors earlier in a test run. </p> <p> One way to factor a test is to introduce <em>mock objects</em>. If a test exercises a component A, which is designed to issue queries against or mutate another component B, the implementation of B can be replaced by a <em> mock</em>. The mock has two purposes: it checks that A's calls to B are as expected, and it simulates B's behavior in response. Given a system test for A and B, and a record of A's and B's behavior when the system test is run, we would like to automatically generate unit tests for A in which B is mocked. The factored tests can isolate bugs in A from bugs in B and, if B is slow or expensive, improve test performance or cost. </p> <p> This paper motivates test factoring with an illustrative example, proposes a simple procedure for automatically generating mock objects for factored tests, and gives examples of how the procedure can be extended to larger change languages.</p>
DownloadsPDF PostScript
Citation KeySaffE2004:mock-creation
Last changed Mon, 2013-06-03 10:27