Automated acceptance test refactoring

  • Authors:
  • Rodrick Borg;Martin Kropp

  • Affiliations:
  • UAS Northwestern Switzerland, Windisch, Switzerland;UAS Northwestern Switzerland, Windisch, Switzerland

  • Venue:
  • Proceedings of the 4th Workshop on Refactoring Tools
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

With the increasing popularity of agile software development and Test-Driven-Development, also maintenance of acceptance test has become an important issue. In this paper, we describe a concept and a tool for automated acceptance test maintenance using a refactoring approach. Acceptance tests are user tests which are used to determine if a system satisfies acceptance criteria and to enable a customer to determine whether or not to accept the system. In agile development acceptance test are also used as a mean for specification, i.e. acceptance tests are written in advance to the production code (called Behavior-Driven-Development - BDD). In an agile project this poses three major challenges with respect to maintenance of acceptance tests: new requirements may cause changes in the acceptance criteria, which require the system under test to be adapted; when the system under test undergoes a major restructuring, even the acceptance test might have to be adapted; with the increasing acceptance test suite in an agile project the tests themselves may undergo a major reorganization. Having a large acceptance test base, doing these refactorings manually is error prone and causes a lot of effort. In this paper we present a concept and tool for executing automated refactoring for Fit acceptance tests, which significantly reduces the effort for test maintenance and makes them much less error prone.