skip to main content
10.1145/1295074.1295081acmconferencesArticle/Chapter ViewAbstractPublication PagesfseConference Proceedingsconference-collections
Article

Refactoring test suites versus test behaviour: a TTCN-3 perspective

Published:03 September 2007Publication History

ABSTRACT

As a software engineering discipline, refactoring offers the opportunity for reversal of software 'decay' and preservation of a level of software quality. In a recent paper by Zeiss et al. [23], a set of fifteen refactorings were found applicable to Testing and Test Control Notation (TTCN-3) test behaviour and a set of thirteen refactorings to improving the overall structure of a TTCN-3 test suite. All twenty-eight refactorings were taken from the set of seventy-two described in the seminal text by Fowler [10]. An important issue with any refactoring is the testing effort required during implementation of its mechanics. In this paper, we explore the trade-offs between, and the contrasting characteristics of, the two TTCN-3 sets of refactorings from a refactoring mechanics perspective. Firstly, we use a meta-analysis of the same twenty-eight refactorings based on a dependency matrix developed through scrutiny of the mechanics of all seventy-two refactorings in [10] and then an analysis of the refactoring chains emerging from each of the same twenty-eight refactorings. Results suggest that there are compelling reasons for avoiding test suite structure refactorings when the dependencies and chains of the test suite refactorings are considered. Refactoring test behaviour potentially offers a far simpler, less demanding set of tasks required of the developer both from a re-testing and dependency viewpoint.

References

  1. D. Advani, Y. Hassoun and S. Counsell. Extracting Refactoring Trends from Open-source Software and a Possible Solution to the 'Related Refactoring' Conundrum. Proc of ACM Symposium on Applied Computing, Dijon, France, April 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. P. Baker, D. Evans, J. Grabowski, H. Neukirchen and B. Zeiss. TRex - The Refactoring and Metrics Tool for TTCN-3 Test Specifications. Proceedings of the Testing: Academic and Industrial Conference on Practice (TAIC PART), Windsor, UK, August 2006, pages 90--94, IEEE Computer Society Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. K. Beck, Extreme Programming Explained: Embrace Change, Addison Wesley, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. M. Bruntink and A. van Deursen. An empirical study into class testability. Journal of Systems and Software, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. S. Counsell, R. M. Hierons, R. Najjar, G. Loizou and Y. Hassoun. The Effectiveness of Refactoring Based on a Compatibility Testing Taxonomy and a Dependency Graph. Proceedings of Testing: Academic and Industrial Conference (TAIC PART), Windsor, UK, August 2006, pages 181--190. IEEE Computer Society Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. S. Counsell, Y. Hassoun, R. Johnson, K. Mannock and E. Mendes. Trends in Java code changes: the key identification of refactorings, ACM 2nd Intl. Conference on the Principles and Practice of Programming in Java, Kilkenny, Ireland, June 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. S. Demeyer, S. Ducasse and O. Nierstrasz, Finding refactorings via change metrics, ACM Conference on Object Oriented Programming Systems Languages and Applications (OOPSLA), Minneapolis, USA. pages 166--177, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. A. Van Deursen and L. Moonen. The Video Store Revisited - Thoughts on Refactoring and Testing. Proceedings of the third International Conference on eXtreme Programming and Flexible Processes in Software Engineering XP 2002, Sardinia, Italy.Google ScholarGoogle Scholar
  9. B. Foote and W. Opdyke, Life Cycle and Refactoring Patterns that Support Evolution and Reuse. Pattern Languages of Programs (James O. Coplien and Douglas C. Schmidt, editors), Addison Wesley, May, 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. M. Fowler. Refactoring (Improving the Design of Existing Code). Addison Wesley, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. R. Johnson and B. Foote. Designing Reusable Classes, Journal of Object-Oriented Programming 1(2), pages 22--35. June/July 1988.Google ScholarGoogle Scholar
  12. J. Kerievsky, Refactoring to Patterns, Addison Wesley, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. T. Mens and A. van Deursen. Refactoring: Emerging Trends and Open Problems. Proceedings First International Workshop on REFactoring: Achievements, Challenges, Effects (REFACE). University of Waterloo, 2003.Google ScholarGoogle Scholar
  14. T. Mens and T. Tourwe, A Survey of Software Refactoring, IEEE Transactions on Software Engineering 30(2): 126--139 (2004). Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. S. Mouchawrab, L. C. Briand and Y. Labiche, A Measurement Framework for Object-Oriented Software Testability, Journal of Information and Software Technology, vol. 47, no. 15, pages 979--997, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. R. Najjar, S. Counsell, G. Loizou and K. Mannock. The role of constructors in the context of refactoring object-oriented software. Seventh European Conference on Software Maintenance_and Reengineering (CSMR '03). Benevento, Italy, March 26--28, 2003. pages 111 -- 120. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. R. Najjar, S. Counsell and G. Loizou. Encapsulation and the vagaries of a simple refactoring: an empirical study. Proceedings Int. Conference on Software Systems Engineering and its Applications, Paris, France, Dec. 2005.Google ScholarGoogle Scholar
  18. M. O'Cinneide and P. Nixon. Composite Refactorings for Java Programs. Proceedings of the Workshop on Formal Techniques for Java Programs. ECOOP Workshops 1998.Google ScholarGoogle Scholar
  19. W. Opdyke. Refactoring object-oriented frameworks, Ph.D. Thesis, University of Illinois. 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. D. Saff, S. Artzi, J. Perkins and D. Ernst. Automatic test factoring for Java. Proceedings 21st Annual Int. Conference on Automated Software Engineering, Long Beach, USA, Nov. 9--11, 2005, pp. 114--123. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. T. Tourwe and T. Mens. Identifying Refactoring Opportunities Using Logic Meta Programming, Proc. 7th European Conference on Software Maintenance and Re-Engineering, Benevento, Italy, 2003, pages 91--100. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. C. Willcock, T. Deiß, S. Tobies, S. Keil, F. Engler and S. Schulz. An Introduction to TTCN-3, Wiley, 2005.Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. B. Zeiss, H. Neukirchen, J. Grabowski, D. Evans and P. Baker: Refactoring and Metrics for TTCN-3 Test Suites. 5th Workshop on System Analysis and Modelling (SAM), Kaiserslautern, Germany, May 2006, pages 148--165. Google ScholarGoogle ScholarDigital LibraryDigital Library

Recommendations

Comments

Login options

Check if you have access through your login credentials or your institution to get full access on this article.

Sign in
  • Published in

    cover image ACM Conferences
    SOQUA '07: Fourth international workshop on Software quality assurance: in conjunction with the 6th ESEC/FSE joint meeting
    September 2007
    120 pages
    ISBN:9781595937247
    DOI:10.1145/1295074
    • General Chair:
    • Mauro Pezzè

    Copyright © 2007 ACM

    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]

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    • Published: 3 September 2007

    Permissions

    Request permissions about this article.

    Request Permissions

    Check for updates

    Qualifiers

    • Article

PDF Format

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader