TitleAutomatic mock object creation for test factoring
Publication TypeConference Paper
Year of Publication2004
AuthorsSaff D, Ernst MD
Conference NamePASTE 2004: ACM SIGPLAN/SIGSOFT Workshop on Program Analysis for Software Tools and Engineering (PASTE'04)
Pagination49–51
Date or Month PublishedJune
Conference LocationWashington, DC, USA
Abstract\em Test factoring 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. \par One way to factor a test is to introduce \emphmock objects. 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. 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. \par 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.
Downloadshttps://homes.cs.washington.edu/~mernst/pubs/mock-factoring-paste2004.pdf PDF https://homes.cs.washington.edu/~mernst/pubs/mock-factoring-paste2004-sl... slides (PDF) https://homes.cs.washington.edu/~mernst/pubs/mock-factoring-paste2004-sl... slides (PowerPoint)
Citation KeySaffE2004:mock-creation