• DocumentCode
    1034528
  • Title

    Unit tests reloaded: parameterized unit testing with symbolic execution

  • Author

    Tillmann, Nikolai ; Schulte, Wolfram

  • Author_Institution
    Microsoft Res., Redmond, WA
  • Volume
    23
  • Issue
    4
  • fYear
    2006
  • Firstpage
    38
  • Lastpage
    47
  • Abstract
    Unit tests are becoming popular. Are there ways to automate the generation of good unit tests? Parameterized unit tests are unit tests that depend on inputs. PUTs describe behavior more concisely than traditional unit tests. We use symbolic execution techniques and constraint solving to find inputs for PUTs that achieve high code coverage, to turn existing unit tests into PUTs, and to generate entirely new PUTs that describe an existing implementation´s behavior. Traditional testing benefits from these techniques because test inputs - including the behavior of entire classes - can often be generated automatically from compact PUTs
  • Keywords
    object-oriented programming; program diagnostics; program testing; PUT symbolic execution; constraint solving; parameterized unit testing; unit test automation; Automatic testing; Containers; Indexing; Protection; Software testing; Visual databases; Writing; formal methods; symbolic execution; test coverage of code; test design; testing tools; validation;
  • fLanguage
    English
  • Journal_Title
    Software, IEEE
  • Publisher
    ieee
  • ISSN
    0740-7459
  • Type

    jour

  • DOI
    10.1109/MS.2006.117
  • Filename
    1657937