Title :
Test Blueprints - Exposing Side Effects in Execution Traces to Support Writing Unit Tests
Author :
Lienhard, Adrian ; Gîrba, Tudor ; Greevy, Orla ; Nierstrasz, Oscar
Author_Institution :
Univ. of Bern, Bern
Abstract :
Writing unit tests for legacy systems is a key maintenance task. When writing tests for object-oriented programs, objects need to be set up and the expected effects of executing the unit under test need to be verified. If developers lack internal knowledge of a system, the task of writing tests is non-trivial. To address this problem, we propose an approach that exposes side effects detected in example runs of the system and uses these side effects to guide the developer when writing tests. We introduce a visualization called Test Blueprint, through which we identify what the required fixture is and what assertions are needed to verify the correct behavior of a unit under test. The dynamic analysis technique that underlies our approach is based on both tracing method executions and on tracking the flow of objects at runtime. To demonstrate the usefulness of our approach we present results from two case studies.
Keywords :
data flow analysis; object-oriented programming; program testing; program visualisation; software maintenance; system monitoring; Test Blueprint; dynamic analysis; execution traces; legacy system; object flow analysis; object-oriented program; software maintenance; software visualization; tracing method; writing unit test; Automatic testing; Fixtures; Information analysis; Performance analysis; Performance evaluation; Runtime; Software maintenance; Software testing; System testing; Writing; Dynamic Analysis; Object Flow Analysis; Software Maintenance; Unit Testing;
Conference_Titel :
Software Maintenance and Reengineering, 2008. CSMR 2008. 12th European Conference on
Conference_Location :
Athens
Print_ISBN :
978-1-4244-2157-2
DOI :
10.1109/CSMR.2008.4493303