• DocumentCode
    50954
  • Title

    The Oracle Problem in Software Testing: A Survey

  • Author

    Barr, Earl T. ; Harman, Mark ; McMinn, Phil ; Shahbaz, Muzammil ; Shin Yoo

  • Author_Institution
    Dept. of Comput. Sci., Univ. Coll. London, London, UK
  • Volume
    41
  • Issue
    5
  • fYear
    2015
  • fDate
    May 1 2015
  • Firstpage
    507
  • Lastpage
    525
  • Abstract
    Testing involves examining the behaviour of a system in order to discover potential faults. Given an input for a system, the challenge of distinguishing the corresponding desired, correct behaviour from potentially incorrect behavior is called the “test oracle problem”. Test oracle automation is important to remove a current bottleneck that inhibits greater overall test automation. Without test oracle automation, the human has to determine whether observed behaviour is correct. The literature on test oracles has introduced techniques for oracle automation, including modelling, specifications, contract-driven development and metamorphic testing. When none of these is completely adequate, the final source of test oracle information remains the human, who may be aware of informal specifications, expectations, norms and domain specific information that provide informal oracle guidance. All forms of test oracles, even the humble human, involve challenges of reducing cost and increasing benefit. This paper provides a comprehensive survey of current approaches to the test oracle problem and an analysis of trends in this important area of software testing research and practice.
  • Keywords
    formal specification; program testing; contract-driven development; domain specific information; informal oracle guidance; informal specifications; metamorphic testing; oracle automation; software testing practice; software testing research; test oracle information; test oracle problem; Automation; Licenses; Market research; Probabilistic logic; Reliability; Software testing; Automatic testing; Test oracle; Testing formalism; automatic testing; testing formalism;
  • fLanguage
    English
  • Journal_Title
    Software Engineering, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    0098-5589
  • Type

    jour

  • DOI
    10.1109/TSE.2014.2372785
  • Filename
    6963470