Parameterized unit testing: Theory and practice

  • Nikolai Tillmann
  • , Jonathan De Halleux
  • , Tao Xie

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

Unit testing has been widely recognized as an important and valuable means of improving software reliability, as it exposes bugs early in the software development life cycle. However, manual unit testing is often tedious and insufficient. Testing tools can be used to enable economical use of resources by reducing manual effort. Recently parameterized unit testing has emerged as a very promising and effective methodology to allow the separation of two testing concerns or tasks: the specification of external, black-box behavior (i.e., assertions or specifications) by developers and the generation and selection of internal, white-box test inputs (i.e., high-code-covering test inputs) by tools. A parameterized unit test (PUT) is simply a test method that takes parameters, calls the code under test, and states assertions. PUTs have been supported by various testing frameworks. Various open source and industrial testing tools also exist to generate test inputs for PUTs. This tutorial presents latest research on principles and techniques, as well as practical considerations to apply parameterized unit testing on real-world programs, highlighting success stories, research and education achievements, and future research directions in developer testing. The tutorial will help improve developer skills and knowledge for writing PUTs and give overview of tool automation in supporting PUTs. Attendees will acquire the skills and knowledge needed to perform research or conduct practice in the field of developer testing and to integrate developer testing techniques in their own research, practice, and education.

Original languageEnglish (US)
Title of host publicationICSE 2010 - Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering
Pages483-484
Number of pages2
DOIs
StatePublished - 2010
Externally publishedYes
Event32nd ACM/IEEE International Conference on Software Engineering, ICSE 2010 - Cape Town, South Africa
Duration: May 1 2010May 8 2010

Publication series

NameProceedings - International Conference on Software Engineering
Volume2
ISSN (Print)0270-5257

Other

Other32nd ACM/IEEE International Conference on Software Engineering, ICSE 2010
Country/TerritorySouth Africa
CityCape Town
Period5/1/105/8/10

Keywords

  • Pex
  • mock objects
  • parameterized unit testing
  • symbolic execution
  • testing
  • theories
  • unit testing

ASJC Scopus subject areas

  • Software

Fingerprint

Dive into the research topics of 'Parameterized unit testing: Theory and practice'. Together they form a unique fingerprint.

Cite this