Bisanz, M., Grabowski, J., Neukirchen, H., & Zeiss, B. 2007, May 29–June 1, “Bad Smells” in TTCN-3 Test Suites. Unpublished paper presented at ETSI TTCN-3 User Conference 2007, Stockholm (Sweden).
Added by: Deleted user (8/1/08, 2:27 PM) Last edited by: Deleted user (8/20/08, 11:54 AM)
|Resource type: Conference Paper
BibTeX citation key: Bisanza
View all bibliographic details
Creators: Bisanz, Grabowski, Neukirchen, Zeiss
Publisher: Ericsson, ETSI (Stockholm (Sweden))
Collection: ETSI TTCN-3 User Conference 2007
The Testing and Test Control Notation (TTCN-3) is a language for test specification and test implementation which has been standardised by the European Telecommunications Standards Institute (ETSI). Experience with TTCN-3 test suites from industry and standardisation shows that large test suites suffer from the same quality problems as any ordinary source code of larger implementations does. For example, code duplication, unused variables, or high complexity lead to low quality in terms of maintainability, in particular with respect to quality characteristics like changeability and analysability. While such internal quality issues have been investigated for source code of implementation languages, assessment of the internal quality of TTCN-3 test suites is a current research topic.
One recent approach for the quality assessment of TTCN-3 test suites is the application of size and coupling metrics. However, such simple metrics are sometimes not powerful enough to detect certain issues. While these metrics are able to locate e.g. unused definitions or overly long code, they cannot detect advanced internal quality problems, e.g. complex code, code duplication or anomalies in control or data flow. As an addition to our previous results based on size and coupling metrics, we present therefore our latest results on applying a more powerful approach which is based on structural complexity metrics and pattern-based “bad smells”. Such “bad smells” are patterns of inappropriate usage of TTCN-3. So far, we have identified 39 TTCN-3 smells and collected them systematically in a catalogue. Examples from this catalogue are: duplicate branches in alternative behaviour, usage of hard coded values, unreachable code, violation of naming conventions, not setting a test verdict in a test case, or asymmetric activation/deactivation of TTCN-3 defaults. These smells can be used for a general quality assessment and issue detection in TTCN-3 test suites. Each smell is accompanied by a recommendation of one or more refactorings from our TTCN-3 refactoring catalogue which can be applied to remove the smell. As a result, we are not only able to assess the internal quality of TTCN-3 test suites, but also to improve their internal quality.
The effort for applying our approach is significantly reduced by providing corresponding tool support: TRex is an open-source TTCN-3 refactoring and metrics tool. TRex has been applied to huge TTCN-3 test suites which have been standardised by ETSI for testing implementations of the SIP and IPv6 protocol. We present latest results from the assessment of the internal quality of these test suites based on calculating structural complexity metrics and on locating issues in these test suites by identifying smells listed in our TTCN-3 smell catalogue.
Added by: Deleted user