Refactoring and Metrics for TTCN-3 Test Suites

  • Benjamin Zeiss
  • Helmut Neukirchen
  • Jens Grabowski
  • Dominic Evans
  • Paul Baker
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4320)


Experience with the development and maintenance of test suites has shown that the Testing and Test Control Notation (TTCN-3) provides very good concepts for adequate test specification. However, experience has also demonstrated that during either the migration of legacy test suites to TTCN-3, or the development of large TTCN-3 test specifications, users have found it is difficult to construct TTCN-3 tests that are concise with respect to readability, usability, and maintainability. To address these issues, this paper investigates refactoring and metrics for TTCN-3. Refactoring restructures a test suite systematically without changing its behaviour. Complementary metrics are used to assess the quality of TTCN-3 test suites. For automation, a tool called TRex has been developed that supports refactoring and metrics for TTCN-3.


Test Suite Session Initiation Protocol Syntax Tree European Telecommunication Standard Institute Parametrise Template 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Baker, P., Loh, S.C., Weil, F.: Model-Driven Engineering in a Large Industrial Context — Motorola Case Study. In: Briand, L.C., Williams, C. (eds.) MoDELS 2005. LNCS, vol. 3713, pp. 476–491. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  2. 2.
    ETSI: European Standard (ES) 201 873-1 V3.1.1 (2005-06): The Testing and Test Control Notation version 3; Part 1: TTCN-3 Core Language. European Telecommunications Standards Institute (ETSI), Sophia-Antipolis, France; Also published as ITU-T Recommendation Z.140 (2005)Google Scholar
  3. 3.
    Grabowski, J., Hogrefe, D., Réthy, G., Schieferdecker, I., Wiles, A., Willcock, C.: An Introduction into the Testing and Test Control Notation (TTCN-3). Computer Networks 42(3), 375–403 (2003)CrossRefMATHGoogle Scholar
  4. 4.
    Mens, T., Tourwe, T.: A Survey of Software Refactoring. IEEE Transactions on Software Engineering 30(2), 126–139 (2004)CrossRefGoogle Scholar
  5. 5.
    Fowler, M.: Refactoring. Addison-Wesley, Reading (1999)Google Scholar
  6. 6.
    Parnas, D.L.: Software Aging. In: Proceedings of the 16th International Conference on Software Engineering (ICSE), Sorrento, Italy, May 16–21, 1994, pp. 279–287. IEEE Computer Society/ACM Press (1994)Google Scholar
  7. 7.
    Opdyke, W.F.: Refactoring Object-Oriented Frameworks. PhD thesis, University of Illinois at Urbana-Champaign, USA (1992)Google Scholar
  8. 8.
    Beck, K.: Extreme Programming Explained. Addison-Wesley, Reading (2000)Google Scholar
  9. 9.
    Gamma, E., Beck, K.: JUnit (2006),
  10. 10.
    v. Deursen, A., Moonen, L., v. d. Bergh, A., Kok, G.: Refactoring Test Code. In: Marchesi, M., Succi, G. (eds.) Proceedings of the 2nd International Conference on Extreme Programming and Flexible Processes in Software Engineering (2001)Google Scholar
  11. 11.
    ETSI: Technical Report (TR) 101 666 (1999-05): Information technology – Open Systems Interconnection Conformance testing methodology and framework; The Tree and Tabular Combined Notation (TTCN) (Ed. 2++). European Telecommunications Standards Institute (ETSI), Sophia-Antipolis, France (1999)Google Scholar
  12. 12.
    Schmitt, M.: Automatic Test Generation Based on Formal Specifications – Practical Procedures for Efficient State Space Exploration and Improved Representation of Test Cases. PhD thesis, University of Göttingen, Germany (2003)Google Scholar
  13. 13.
    Wu-Hen-Chang, A., Viet, D.L., Batori, G., Gecse, R., Csopaki, G.: High-Level Restructuring of TTCN-3 Test Data. In: Grabowski, J., Nielsen, B. (eds.) FATES 2004. LNCS, vol. 3395, pp. 180–194. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  14. 14.
    Deiß, T.: Refactoring and Converting a TTCN-2 Test Suite. In: Presentation at the TTCN-3 User Conference 2005, Sophia-Antipolis, France, June 6–8 (2005)Google Scholar
  15. 15.
    Milner, R.: A Calculus of Communication Systems. LNCS, vol. 92. Springer, Heidelberg (1980)MATHGoogle Scholar
  16. 16.
    Zeiss, B.: A Refactoring Tool for TTCN-3. Master’s thesis, Institute for Informatics, University of Göttingen, Germany, ZFI-BM-2006-05 (2006)Google Scholar
  17. 17.
    Brown, W.J., Malveau, R.C., McCormick, H.: Anti-Patterns. Wiley, Chichester (1998)Google Scholar
  18. 18.
    Fenton, N.E., Pfleeger, S.L.: Software Metrics. PWS Publishing Company (1997)Google Scholar
  19. 19.
    Halstead, M.H.: Elements of Software Science. Elsevier, Amsterdam (1977)MATHGoogle Scholar
  20. 20.
    Watson, A.H., McCabe, T.J.: Structured Testing: A Testing Methodology Using the Cyclomatic Complexity Metric. NIST Special Publication 500-235, National Institute of Standards and Technology, Gaithersburg, MD, USA (1996)Google Scholar
  21. 21.
    Henderson-Sellers, B.: Object-Oriented Metrics. Prentice-Hall, Englewood Cliffs (1996)Google Scholar
  22. 22.
    Chidamber, S.R., Kemerer, C.: A Metric Suite for Object-Oriented Design. IEEE Transactions of Software Engineering 20(6), 476–493 (1994)CrossRefGoogle Scholar
  23. 23.
    Vega, D.E., Schieferdecker, I.: Towards Quality of TTCN-3 Tests. In: Proceedings of SAM’06: Fifth Workshop on System Analysis and Modelling. University of Kaiserslautern, Germany (2006)Google Scholar
  24. 24.
    Basili, V.R., Weiss, D.M.: A Methodology for Collecting Valid Software Engineering Data. IEEE Transactions on Software Engineering SE-10 6, 728–738 (1984)CrossRefGoogle Scholar
  25. 25.
    Eclipse Foundation: Eclipse (2006),
  26. 26.
    Parr, T.: ANTLR parser generator (2006),
  27. 27.
    Schieferdecker, I., Din, G.: A meta-model for TTCN-3. In: Núñez, M., Maamar, Z., Pelayo, F.L., Pousttchi, K., Rubio, F. (eds.) FORTE 2004. LNCS, vol. 3236, pp. 366–379. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  28. 28.
  29. 29.
    Baker, P., Evans, D., Grabowski, J., Neukirchen, H., Zeiss, B.: TRex – The Refactoring and Metrics Tool for TTCN-3 Test Specifications. In: Proceedings of TAIC PART 2006 (Testing: Academic & Industrial Conference – Practice And Research Techniques), Windsor, UK, 29th–31st August 2006. IEEE Computer Society, Los Alamitos (2006)Google Scholar
  30. 30.
    ETSI: TS 102 027-3: SIP ATS & PIXIT; Part 3: Abstract Test Suite (ATS) and partial Protocol Implementation eXtra Information for Testing (PIXIT). European Telecommunications Standards Institute (ETSI), Sophia-Antipolis, France (2005)Google Scholar
  31. 31.
    Zeiss, B., Neukirchen, H., Grabowski, J., Evans, D., Baker, P.: TRex – An Open-Source Tool for Quality Assurance of TTCN-3 Test Suites. In: Proceeedings of CONQUEST 2006 – 9th International Conference on Quality Engineering in Software Technology, Berlin, Germany, September 27–29. dpunkt.Verlag (2006)Google Scholar
  32. 32.
    OMG: UML Testing Profile (Version 1.0 formal/05-07-07). Object Management Group (OMG) (2005)Google Scholar
  33. 33.
    ITU-T: Recommendation Z.100 (08/02): Specification and Description Language (SDL). International Telecommunication Union (ITU-T), Geneve (2002)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Benjamin Zeiss
    • 1
  • Helmut Neukirchen
    • 1
  • Jens Grabowski
    • 1
  • Dominic Evans
    • 2
  • Paul Baker
    • 2
  1. 1.Software Engineering for Distributed Systems Group, Institute for InformaticsUniversity of GöttingenGöttingenGermany
  2. 2.Motorola Labs, Jays Close, Viables Industrial EstateBasingstokeUK

Personalised recommendations