Connection between safe refactorings and acceptance test driven development - Fontela, Carlos (2013)
With the advent of improved strategies over Test Driven Development (TDD), like Acceptance TDD (ATDD), several benefits were recognized over the simple use of TDD with unit testing. In this article we propose an additional benefit of ATDD: the use of acceptance tests as ultimate invariants of the behavior that refactorings must preserve. Even when previous works have referred to this advantage of ATDD, the problem that remained unsolved was the lack of a complete and practical method that includes the different layers created by different types of tests. In this article we describe such a method, which uses multiple layers of tests and connects the layers through coverage analysis, in order to allow safe refactoring even when the refactorings break some tests. We also present Multilayer Coverage, an automatic tool for coverage analysis at different layers of tests and its intersection, to assist with the proposed method.