• DocumentCode
    59889
  • Title

    Equality to Equals and Unequals: A Revisit of the Equivalence and Nonequivalence Criteria in Class-Level Testing of Object-Oriented Software

  • Author

    Huo Yan Chen ; Tse, T.H.

  • Author_Institution
    Dept. of Comput. Sci., Jinan Univ., Guangzhou, China
  • Volume
    39
  • Issue
    11
  • fYear
    2013
  • fDate
    Nov. 2013
  • Firstpage
    1549
  • Lastpage
    1563
  • Abstract
    Algebraic specifications have been used in the testing of object-oriented programs and received much attention since the 1990s. It is generally believed that class-level testing based on algebraic specifications involves two independent aspects: the testing of equivalent and nonequivalent ground terms. Researchers have cited intuitive examples to illustrate the philosophy that even if an implementation satisfies all the requirements specified by the equivalence of ground terms, it may still fail to satisfy some of the requirements specified by the nonequivalence of ground terms. Thus, both the testing of equivalent ground terms and the testing of nonequivalent ground terms have been considered as significant and cannot replace each other. In this paper, we present an innovative finding that, given any canonical specification of a class with proper imports, a complete implementation satisfies all the observationally equivalent ground terms if and only if it satisfies all the observationally nonequivalent ground terms. As a result, these two aspects of software testing cover each other and can therefore replace each other. These findings provide a deeper understanding of software testing based on algebraic specifications, rendering the theory more elegant and complete. We also highlight a couple of important practical implications of our theoretical results.
  • Keywords
    algebraic specification; object-oriented programming; program testing; algebraic specifications; canonical specification; class-level testing; equivalent ground terms; nonequivalence criteria; object-oriented programs; object-oriented software; software testing; Computer science; Context; Observers; Semantics; Software; Software testing; Software testing; algebraic specification; equivalence criterion; nonequivalence criterion; object-oriented software;
  • fLanguage
    English
  • Journal_Title
    Software Engineering, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    0098-5589
  • Type

    jour

  • DOI
    10.1109/TSE.2013.33
  • Filename
    6570471