Since the 1980s the term "Test Case" (TC) has been recognized as a building block for describing testing items, widely used as a work unit, metric and documentation entity. In light of the centrality of the TC concept in testing processes, the questions this paper attempts to answer are: What are the uses of TC in software testing? Is there a general, commonly agreed-upon definition of a TC? If not, what are the implications of this situation? This article reviews and explores the history, use and definitions of TCs, showing that while extensively used in research and practice, there is no one formal agreed upon definition of a TC. In this paper we point at undesirable implications of this situation, suggest four criteria for a 'good' TC definition, and discuss the benefits accrued from such a definition. We conclude by urging the academic and professional community to formalize a TC definition for the benefits of the industry and its customers, and strongly believe that this review paves the way to articulating a formal TC definition. Such a definition, when widely accepted, will clarify some of the ambiguity currently associated with TC interpretation, hence with software testing assessment which relies on TCs as metrics. Furthermore, a formal definition can advance automation of TC generation and management.