Parameterized unit testing theory and practice

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 resourc...

Celý popis

Uložené v:
Podrobná bibliografia
Vydané v:2010 ACM/IEEE 32nd International Conference on Software Engineering Ročník 2; s. 483 - 484
Hlavní autori: Tillmann, Nikolai, de Halleux, Jonathan, Xie, Tao
Médium: Konferenčný príspevok..
Jazyk:English
Vydavateľské údaje: New York, NY, USA ACM 01.05.2010
IEEE
Edícia:ACM Conferences
Predmet:
ISBN:9781605587196, 1605587192
ISSN:0270-5257
On-line prístup:Získať plný text
Tagy: Pridať tag
Žiadne tagy, Buďte prvý, kto otaguje tento záznam!
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.
AbstractList 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.
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.
Author Xie, Tao
de Halleux, Jonathan
Tillmann, Nikolai
Author_xml – sequence: 1
  givenname: Nikolai
  surname: Tillmann
  fullname: Tillmann, Nikolai
  organization: Microsoft Research, One Microsoft Way, Redmond WA
– sequence: 2
  givenname: Jonathan
  surname: de Halleux
  fullname: de Halleux, Jonathan
  organization: Microsoft Research, One Microsoft Way, Redmond WA
– sequence: 3
  givenname: Tao
  surname: Xie
  fullname: Xie, Tao
  organization: North Carolina State University, Raleigh, NC
BookMark eNqNjztPw0AQhE8iSITgGgmalDQ2u_dY35Uo4iVFggLq09neQwfYQbYp4NfjKP4BTDPFjEbznYpFt-tYiHOEAlGba7QI0pli71rjkchcaZHAGFuio4VYgiwhN9KUJyIbhneYRAoQYSkunkMfWh65T7_crL-7NK5HHsbUvZ2J4xg-B85mX4nXu9uXzUO-fbp_3Nxs84Akx7xWASFqVMQOFZa1shFdEyiAhRhNLaGWJbGKuqmMIquAqulviJXSgUCtxOVhNzGz_-pTG_ofT0BSGjelV4c01K2vdruPwSP4Pbifwf0MPlWLf1Z91SeO6g-veVVR
ContentType Conference Proceeding
Copyright 2010 ACM
Copyright_xml – notice: 2010 ACM
DBID 6IE
6IH
CBEJK
RIE
RIO
DOI 10.1145/1810295.1810441
DatabaseName IEEE Electronic Library (IEL) Conference Proceedings
IEEE Proceedings Order Plan (POP) 1998-present by volume
IEEE Xplore All Conference Proceedings
IEEE/IET Electronic Library
IEEE Proceedings Order Plans (POP) 1998-present
DatabaseTitleList

Database_xml – sequence: 1
  dbid: RIE
  name: IEEE Electronic Library (IEL)
  url: https://ieeexplore.ieee.org/
  sourceTypes: Publisher
DeliveryMethod fulltext_linktorsrc
Discipline Education
Computer Science
EndPage 484
ExternalDocumentID 6062259
Genre orig-research
GroupedDBID 6IE
6IF
6IG
6IH
6IK
6IL
6IM
6IN
AAJGR
AAKMM
ACM
ADPZR
ALMA_UNASSIGNED_HOLDINGS
APO
BEFXN
BFFAM
BGNUA
BKEBE
BPEOZ
CBEJK
GUFHI
IEGSK
IERZE
IJVOP
OCL
RIB
RIC
RIE
RIL
RIO
-~X
.4S
.DC
123
23M
29O
5VS
8US
AAWTH
ABLEC
ADZIZ
AFFNX
ARCSS
AVWKF
CHZPO
EDO
FEDTE
I-F
I07
IPLJI
M43
RNS
XOL
ID FETCH-LOGICAL-a162t-c3a10f4136e91317c38f19da6a080ff5c20c276e3f4db5368306b295afb34a603
IEDL.DBID RIE
ISBN 9781605587196
1605587192
ISSN 0270-5257
IngestDate Wed Aug 27 02:38:29 EDT 2025
Mon Feb 05 09:26:56 EST 2024
Wed Jan 31 06:46:07 EST 2024
IsPeerReviewed false
IsScholarly true
Keywords Pex
testing
unit testing
symbolic execution
theories
mock objects
parameterized unit testing
Language English
License Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from Permissions@acm.org
LinkModel DirectLink
MeetingName ICSE '10: 32nd International Conference on Software Engineering
MergedId FETCHMERGED-LOGICAL-a162t-c3a10f4136e91317c38f19da6a080ff5c20c276e3f4db5368306b295afb34a603
PageCount 2
ParticipantIDs acm_books_10_1145_1810295_1810441
acm_books_10_1145_1810295_1810441_brief
ieee_primary_6062259
PublicationCentury 2000
PublicationDate 20100501
2010-May
PublicationDateYYYYMMDD 2010-05-01
PublicationDate_xml – month: 05
  year: 2010
  text: 20100501
  day: 01
PublicationDecade 2010
PublicationPlace New York, NY, USA
PublicationPlace_xml – name: New York, NY, USA
PublicationSeriesTitle ACM Conferences
PublicationTitle 2010 ACM/IEEE 32nd International Conference on Software Engineering
PublicationTitleAbbrev icse
PublicationYear 2010
Publisher ACM
IEEE
Publisher_xml – name: ACM
– name: IEEE
SSID ssj0000630110
ssj0006499
Score 1.8026887
Snippet Unit testing has been widely recognized as an important and valuable means of improving software reliability, as it exposes bugs early in the software...
SourceID ieee
acm
SourceType Publisher
StartPage 483
SubjectTerms Computing methodologies -- Symbolic and algebraic manipulation
Education
General and reference -- Cross-computing tools and techniques -- Validation
mock objects
parameterized unit testing
Pex
Programming
Software
Software and its engineering -- Software creation and management -- Software verification and validation
Software and its engineering -- Software creation and management -- Software verification and validation -- Empirical software validation
Software and its engineering -- Software creation and management -- Software verification and validation -- Process validation
Software and its engineering -- Software creation and management -- Software verification and validation -- Software defect analysis -- Software testing and debugging
symbolic execution
Testing
theories
Theory of computation -- Models of computation -- Abstract machines
Theory of computation -- Semantics and reasoning -- Program reasoning -- Abstraction
Tutorials
unit testing
USA Councils
Writing
Subtitle theory and practice
Title Parameterized unit testing
URI https://ieeexplore.ieee.org/document/6062259
Volume 2
hasFullText 1
inHoldings 1
isFullTextHit
isPrint
link http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlV3PS8MwFH5sw4On6TZx_iKC4MVu6Y8krVdxeJCxg8JuJU0T2cFOtk7Qv96XLJ0IgnjqD3oor0m_7yXv-x7AlUCMowy_QJEmmKBIw4NMpirQWmECkrIypE4o_Cim03Q-z2YtuNlpYbTWrvhMj-yp28svl2pjl8rGSLZx-GVtaAvBt1qt3XqK9Y5yUOb_wjxxvSMx66KBdfy0oi6k7gwThCzyXk_NNfeeP2HCxoh4NMrYyB4T2ye-LdXrj9YrDnkm3f-98wEMviV8ZLYDp0No6aoH3aaHA_FTume7NvsKjz6MZ9KWaln35k9dkg3OdlJbF47q5ZY4xeMHkVVJGmXVAJ4n9093D4FvqBDIkEd1oGIZUoOwxXUWInFQcWrCrJRcIm80hqmIqkhwHZukLFjMU8wnCgyGNEWcSE7jI-hUy0ofA4lVEikZc1paUojct0DsRzZoRMqkEGIIlxi33GYK63wrfma5j23uYzuE6z-fyYvVQpsh9G1k87etA0fug3ry--1T2G_2-Gl4Bp16tdHnsKfe68V6deGGzRf1JbNc
linkProvider IEEE
linkToHtml http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlV3PS8MwFH7MKehpuk2cPysIXuyWtknaehXHxDl2mLBbSdNEdrCTrRP0r_elSyeCIJ76gx7Ka9Lve8n7vgdwFSLGEYZfII0oJihCczcWkXSVkpiARCzzSCkUHoajUTSdxuMa3Gy0MEqpsvhMdc1puZefzeXKLJX1kGzj8Iu3YJtR6pO1WmuzomLco0ows_9hTsvukZh3Edd4fhpZF5J3hilC7Fu3p-qaW9cfj7IeYh7xY9Y1R2o6xW8J-fqj-UqJPf3G_956H9rfIj5nvIGnA6ipvAmNqouDYyd10_RttjUeLeiNhSnWMv7NnypzVjjfncL4cOQvt06pefxwRJ45lbaqDc_9-8ndwLUtFVzhcb9wZSA8ohG4uIo9pA4yiLQXZ4ILZI5aM-kT6YdcBZpmKQt4hBlFisEQOg2o4CQ4hHo-z9UROIGkvhQBJ5mhhch-U0R_5IM6jJgIw7ADlxi3xOQKy2Qtf2aJjW1iY9uB6z-fSdLFTOkOtExkk7e1B0dig3r8--0L2B1MnobJ8GH0eAJ71Y4_8U6hXixW6gx25HsxWy7OyyH0BYXOtqM
openUrl ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=proceeding&rft.title=2010+ACM%2FIEEE+32nd+International+Conference+on+Software+Engineering&rft.atitle=Parameterized+unit+testing%3A+theory+and+practice&rft.au=Tillmann%2C+N.&rft.au=de+Halleux%2C+J.&rft.au=Tao+Xie&rft.date=2010-05-01&rft.pub=IEEE&rft.isbn=9781605587196&rft.issn=0270-5257&rft.volume=2&rft.spage=483&rft.epage=484&rft_id=info:doi/10.1145%2F1810295.1810441&rft.externalDocID=6062259
thumbnail_l http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/lc.gif&issn=0270-5257&client=summon
thumbnail_m http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/mc.gif&issn=0270-5257&client=summon
thumbnail_s http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/sc.gif&issn=0270-5257&client=summon