Journal Article10.1142/S0218194006002884
A tool to automatically map implementation-based testing techniques to classes
5
TL;DR: This paper presents a technique that automatically identifies those IBTTs that are most suitable for testing a class based on the characteristics of that class, and implements a tool that automates the process of mapping IB TTs to a class.
read more
Abstract: The object-oriented (OO) paradigm provides several benefits during analysis and design of large-scale software systems, but scores lower in terms of testability. The low testability score for OO software is due mainly to the composition of OO systems exhibiting the characteristics of abstraction, encapsulation, genericity, inheritance, polymorphism, concurrency and exception handling. To address the difficulty of testing the features of a class, a plethora of implementation-based testing techniques (IBTTs) have been developed. However, no one IBTT has emerged as the preferred technique to test the implementation of a class. In this paper we present a technique that automatically identify those IBTTs that are most suitable for testing a class based on the characteristics of that class. Our approach uses a taxonomy of OO classes that is used to succinctly abstract the characteristics of a class under test (CUT). We have implemented a tool that automates the process of mapping IBTTs to a class. In addition to identifying the IBTTs that would be best suited for testing a class, our tool provides feedback to the tester facilitating the identification of the characteristics of the class that are not suitably tested by any of the IBTTs in the list. We provide results of a study supporting the notion that using more than on IBTT during testing improves test coverage of a CUT.
read more
Chat with Paper
AI Agents for this Paper
Find similar papers on Google Scholar, PubMed and Arxiv
Write a critical review of this paper
Analyze citations of this paper to find unaddressed research gaps
Citations
A tool chain for reverse engineering C++ applications
TL;DR: This work describes a tool chain that enables reverse engineering and program analysis by exploiting gcc, and thus accepts any C++ application that can be analysed by the C++ parser and front end of gcc.
13
Analyzing clusters of class characteristics in OO applications
TL;DR: This paper investigates how the number and distribution of clusters are expected to change during the transition from Java 1.4 to 1.5 and shows how the variability of the combinations of class characteristics may affect the testing of class members.
9
Adaptive software fault prediction approach using object-oriented metrics
Djuradj Babic
- 01 Jan 2012
TL;DR: This dissertation proposes a fault prediction approach that exploits existing prediction models, adapting them to improve their ability to predict faulty system modules across different software projects, as a step towards solving the problem of predicting across projects.
References
Software unit test coverage and adequacy
TL;DR: The notion of adequacy criteria is examined together with its role in software dynamic testing and the methods for comparison and assessment of criteria are reviewed.
Object-oriented software construction
Bertrand Meyer
- 01 Jan 1997
TL;DR: In this paper, the authors present a comprehensive reference on all aspects of object technology, from design principles to object-oriented techniques, Design by Contract, Object-Oriented analysis, concurrency, persistence, abstract data types and many more.
1.3K
JCrasher: an automatic robustness tester for Java
TL;DR: JCrasher attempts to detect bugs by causing the program under test to ‘crash’, that is, to throw an undeclared runtime exception, to test the behavior of public methods under random data.
Testing: a roadmap
Mary Jean Harrold
- 01 May 2000
TL;DR: The state of the art in software testing is assessed, some future directions inSoftware testing are outlined, and some pointers to software testing resources are given.