A testing strategy for abstract classes
TL;DR: This paper presents a structured approach that supports the testing of features in abstract classes, paying particular attention to ensuring that the features tested are those defined in the abstract class.
read more
Abstract: One of the characteristics of the increasingly widespread use of object-oriented libraries and the resulting intensive use of inheritance is the proliferation of dependencies on abstract classes. Since abstract classes cannot be instantiated, they cannot be tested in isolation using standard execution-based testing strategies. A standard approach to testing abstract classes is to instantiate a concrete descendant class and test the features that are inherited. This paper presents a structured approach that supports the testing of features in abstract classes, paying particular attention to ensuring that the features tested are those defined in the abstract class. Two empirical studies are performed on a suite of large Java programs and the results presented. The first study analyses the role of abstract classes from a testing perspective. The second study investigates the impact of the testing strategy on the programs in this suite to demonstrate its feasibility and to comment on the pragmatics of its use. Copyright © 2010 John Wiley & Sons, Ltd.
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
Integration testing object-oriented software systems: An experiment-driven research approach
Yvan Labiche
- 08 May 2011
TL;DR: There is a lack of research and practical results on how a class integration process can be used to conduct class unit/integration testing, so an experiment-driven research approach is suggested to solve the problem.
9
An approach of class integration test order determination based on test levels
TL;DR: A test‐level‐based approach to deal with class‐integration‐test order, in which both abstract classes and polymorphism are taken into account, and an edge‐removing algorithm to eliminate cycles caused by static and dynamic dependencies is developed.
6
Empirical studies of structural phenomena using a curated corpus of Java code
Hayden Melton
- 01 May 2017
TL;DR: Long cyclic dependencies are found to be widespread in sizeable, curated corpus of real Java software and among their causes may be overuse of static members, underuse of dependency injection and poor tool support for avoiding them.
5
References
•Book
Introduction to Algorithms
Thomas H. Cormen,Charles E. Leiserson,Ronald L. Rivest +2 more
- 01 Jan 1990
TL;DR: The updated new edition of the classic Introduction to Algorithms is intended primarily for use in undergraduate or graduate courses in algorithms or data structures and presents a rich variety of algorithms and covers them in considerable depth while making their design and analysis accessible to all levels of readers.
24.8K
•Book
Design Patterns: Elements of Reusable Object-Oriented Software
Erich Gamma,Richard Helm,Ralph E. Johnson,John Vlissides +3 more
- 01 Jan 1994
TL;DR: The book is an introduction to the idea of design patterns in software engineering, and a catalog of twenty-three common patterns, which most experienced OOP designers will find out they've known about patterns all along.
24.8K
Introduction to Algorithms
Xin-She Yang
- 01 Jan 2014
TL;DR: This chapter provides an overview of the fundamentals of algorithms and their links to self-organization, exploration, and exploitation.
8.3K
Depth-First Search and Linear Graph Algorithms
TL;DR: The value of depth-first search or “backtracking” as a technique for solving problems is illustrated by two examples of an improved version of an algorithm for finding the strongly connected components of a directed graph.
6.9K
Related Papers (5)
Peter Clarke,James F. Power,Djuradj Babich,Tariq M. Kingz +3 more
- 01 Jan 2012
Gabriela Arévalo,Tom Mens +1 more
- 01 Sep 2002
Gholam Ali Shaykhian
- 27 Apr 2007
Richard C. Lee,William M. Tepfenhart +1 more
- 01 May 2002