skip to main content
10.1145/1984732.1984736acmconferencesArticle/Chapter ViewAbstractPublication PagessplashConference Proceedingsconference-collections
research-article

Automated acceptance test refactoring

Published: 22 May 2011 Publication History

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.

References

[1]
Melnik, G., Maurer, F., Chiasson, M. 2006. Executable Acceptance Tests for Communicating Business Requirements: Customer Perspective. In. Proceedings of AGILE 2006 Conference (Minneapolis, Minnesota, USA). http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=01667561
[2]
C2-wiki. Acceptance Test. http://c2.com/cgi/wiki?AcceptanceTest Date: 24.01.2011.
[3]
Muckgridge, R., Cunningham, W. 2005. Fit for developing Software. Pearson Eduaction, Inc. New Jersey, USA.
[4]
Leif Frenzel, April 2006, The Language Toolkit: An API for Automated Refactorings in Eclipse-based IDEs, Eclipse Magazin Vol. 5, January 2006, http://www.eclipse.org/articles/Article-LTK/ltk.html
[5]
Thomas Kuhn, Eye Media GmbH, Olivier Thomann, 2006, Abstract Syntax Tree, IBM Ottawa Lab, DOI = http://www.eclipse.org/articles/article.php?file=Article-JavaCodeManipulation_AST/index.html
[6]
Beck, K. Test Driven Development: By Example. 2002. Addison-Wesley Professional.
[7]
Martin, R., Newkirk, J., Koss, R. Agile Software Development, Principles, Patterns, and Practices. 2002. Prentice Hall; 1st Ed.
[8]
W. Cunningham. Framework for Integrated Test - Fit. http://fit.c2.com/ (28.01.2011), 2011.
[9]
North, D. Behavior Modification. Better Software Magazine. March 2006.
[10]
Liu, X. Fit Refactoring-Improving the quality of Fit acceptance test. 2007. Master Thesis. Graduate College of Bowling Green, State University.
[11]
Fowler, M. Refactoring: Improving the Design of Existing Code. 1999. Addison-Wesley Professional.
[12]
Borg, R., Kropp, M. ReFit - a Fit Refactoring Eclipse plugin. 31.01.2011. https://sourceforge.net/projects/fitrefactoring/.
[13]
ProMedServices - Proactive Software Service Improvement, http://seal.ifi.uzh.ch/promedservices/, 2007-2009.
[14]
jBehave Web Site. http://jbehave.org/, (7.3.2011), 2011
[15]
Cucumber Web Site. http://cukes.info/, (7.3.2011), 2011
[16]
rSpec2 Web Site. http://relishapp.com/rspec (7.3.2011), 2011.

Cited By

View all
  • (2024)Detecting refactoring type of software commit messages based on ensemble machine learning algorithmsScientific Reports10.1038/s41598-024-72307-014:1Online publication date: 12-Sep-2024
  • (2023)On the Experiences of Practitioners with Requirements Elicitation TechniquesProceedings of the XXXVII Brazilian Symposium on Software Engineering10.1145/3613372.3613410(442-451)Online publication date: 25-Sep-2023
  • (2023)Behavior Driven Development: A Systematic Literature ReviewIEEE Access10.1109/ACCESS.2023.330235611(88008-88024)Online publication date: 2023
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
WRT '11: Proceedings of the 4th Workshop on Refactoring Tools
May 2011
52 pages
ISBN:9781450305792
DOI:10.1145/1984732
  • Program Chairs:
  • Danny Dig,
  • Don Batory
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 22 May 2011

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. acceptance test
  2. automation
  3. eclipse
  4. maintenance
  5. plug-in
  6. refactoring

Qualifiers

  • Research-article

Conference

ICSE11
Sponsor:
ICSE11: International Conference on Software Engineering
May 22, 2011
HI, Waikiki, Honolulu, USA

Acceptance Rates

Overall Acceptance Rate 9 of 9 submissions, 100%

Upcoming Conference

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)13
  • Downloads (Last 6 weeks)0
Reflects downloads up to 20 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2024)Detecting refactoring type of software commit messages based on ensemble machine learning algorithmsScientific Reports10.1038/s41598-024-72307-014:1Online publication date: 12-Sep-2024
  • (2023)On the Experiences of Practitioners with Requirements Elicitation TechniquesProceedings of the XXXVII Brazilian Symposium on Software Engineering10.1145/3613372.3613410(442-451)Online publication date: 25-Sep-2023
  • (2023)Behavior Driven Development: A Systematic Literature ReviewIEEE Access10.1109/ACCESS.2023.330235611(88008-88024)Online publication date: 2023
  • (2023)Improving the Quality of Open Source SoftwareAgile Software Development10.1002/9781119896838.ch16(309-323)Online publication date: 8-Feb-2023
  • (2021)Supporting refactoring of BDD specifications—An empirical studyInformation and Software Technology10.1016/j.infsof.2021.106717(106717)Online publication date: Aug-2021
  • (2018)A systematic literature review: Refactoring for disclosing code smells in object oriented softwareAin Shams Engineering Journal10.1016/j.asej.2017.03.0029:4(2129-2151)Online publication date: Dec-2018
  • (2016)A web framework for test automationProceedings of the 18th International Conference on Information Integration and Web-based Applications and Services10.1145/3011141.3011158(458-467)Online publication date: 28-Nov-2016
  • (2015)A Reusable Automated Acceptance Testing Architecture for Microservices in Behavior-Driven DevelopmentProceedings of the 2015 IEEE Symposium on Service-Oriented System Engineering10.1109/SOSE.2015.55(321-325)Online publication date: 30-Mar-2015
  • (2013)Strategies for avoiding text fixture smells during software evolutionProceedings of the 10th Working Conference on Mining Software Repositories10.5555/2487085.2487156(387-396)Online publication date: 18-May-2013
  • (2013)Strategies for avoiding text fixture smells during software evolution2013 10th Working Conference on Mining Software Repositories (MSR)10.1109/MSR.2013.6624053(387-396)Online publication date: May-2013
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media