Utilising Code Smells to Detect Quality Problems in TTCN-3 Test Suites

Today, test suites of several ten thousand lines of code are specified using the Testing and Test Control Notation (TTCN-3). Experience shows that the resulting test suites suffer from quality problems with respect to internal quality aspects like usability, maintainability, or reusability. Therefore, a quality assessment of TTCN-3 test suites is desirable. A powerful approach to detect quality problems in source code is the identification of code smells. Code smells are patterns of inappropriate language usage that is error-prone or may lead to quality problems. This paper presents a quality assessment approach for TTCN-3 test suites which is based on TTCN-3 code smells: To this aim, various TTCN-3 code smells have been identified and collected in a catalogue; the detection of instances of TTCN-3 code smells in test suites has been automated by a tool. The applicability of this approach is demonstrated by providing results from the quality assessment of several standardised TTCN-3 test suites.

[1]  Giancarlo Succi,et al.  Extreme Programming Perspectives , 2002 .

[2]  K. Barraclough Eclipse , 2006, BMJ : British Medical Journal.

[3]  Jens Grabowski,et al.  Refactoring and Metrics for TTCN-3 Test Suites , 2006, SAM.

[4]  Uday P. Khedker Data Flow Analysis , 2002, The Compiler Design Handbook.

[5]  Cemal Yilmaz,et al.  Software Metrics , 2008, Wiley Encyclopedia of Computer Science and Engineering.

[6]  Reinhard Gotzhein,et al.  System Analysis and Modeling: Language Profiles, 5th International Workshop, SAM 2006, Kaiserslautern, Germany, May 31 - June 2, 2006, Revised Selected Papers , 2006, SAM.

[7]  Frank Weil,et al.  Model-Driven engineering in a large industrial context — motorola case study , 2005, MoDELS'05.

[8]  Murray Hill,et al.  Lint, a C Program Checker , 1978 .

[9]  Leon J. Osterweil,et al.  Data Flow Analysis in Software Reliability , 1976, CSUR.

[10]  Ina Schieferdecker,et al.  Applying the ISO 9126 quality model to test specifications - exemplified for TTCN-3 test specifications , 2007, Software Engineering.

[11]  Serge Demeyer,et al.  Characterizing the Relative Significance of a Test Smell , 2006, 2006 22nd IEEE International Conference on Software Maintenance.

[12]  Martin Fowler,et al.  Refactoring - Improving the Design of Existing Code , 1999, Addison Wesley object technology series.

[13]  Gerard Meszaros,et al.  xUnit Test Patterns: Refactoring Test Code , 2007 .

[14]  Dieter Hogrefe,et al.  An introduction to the testing and test control notation (TTCN-3) , 2003, Comput. Networks.

[15]  Leon Moonen,et al.  Java quality assurance by detecting code smells , 2002, Ninth Working Conference on Reverse Engineering, 2002. Proceedings..

[16]  Arie van Deursen,et al.  Refactoring test code , 2001 .

[17]  Jens Grabowski,et al.  TRex - The Refactoring and Metrics Tool for TTCN-3 Test Specifications , 2006, Testing: Academic & Industrial Conference - Practice And Research Techniques (TAIC PART'06).