Testing Techniques in Software Engineering Second Pernambuco Summer School on Software Engineering, PSSE 2007, Recife, Brazil, December 3-7, 2007, Revised Lectures - Borba, Paulo; Cavalcanti, Ana.; Sampaio, Augusto; Woodcook, Jim.; SpringerLink (Online service) (Berlin, Heidelberg : Springer Berlin Heidelberg : Imprint: Springer, 2010)
The Pernambuco School on Software Engineering (PSSE) 2007 was the second in a series of events devoted to the study of advanced computer science and to the promotion of international scienti?c collaboration. The main theme in 2007 was testing. Testing is nowadays a key activity for assuring software quality. The summer school and its proceedings were intended to give a detailed tutorial introduction to the scienti?c basis of this activity and its state of the art. Theseproceedingsrecordthecontributionsfromtheinvitedlecturers.Eachof thechaptersistheresultofathoroughrevisionoftheinitialnotesprovidedtothe participants of the school. The revision was inspired by the synergy generated by the opportunity for the lecturers to present and discuss their work among themselves and with the school’s attendees. The editors have tried to produce a coherent view of the topic by harmonizing these contributions, smoothing out di?erences in notation and approach, and providing links between the lectures. We apologize to the authors for any errors introduced by our extensive editing. Although the chapters are linked in severalways, each one is su?ciently se- contained to be read in isolation. Nevertheless, Chap. 1 should be read ?rst by those interested in an introduction to testing. Chapter 1 introduces the terminology adopted in this book. It also provides an overview of the testing process, and of the types (functional, structural, and so on)anddimensions(unit,integration,andsoon)ofthetestingactivity.Themain strategies employed in the central activity of test selection are also discussed. Most of the material presented in this introductory chapter is addressedin more depth in the following chapters.
Software Testing: An Overview -- Functional, Control and Data Flow, and Mutation Testing: Theory and Practice -- Automatic Test-Case Generation -- Testing a Software Product Line -- Parameterized Unit Testing with Pex: Tutorial -- Software Tool Issues -- Software Testing Based on Formal Specification -- A Systematic Introduction to Mutation Testing in Unifying Theories of Programming.
Keywords: Software engineering; Computer programming; Programming languages (Electronic computers).; Computer logic; Mathematical logic; Software Engineering/Programming and Operating Systems; Software Engineering; Programming Techniques; Programming Languages, Compilers, Interpreters; Logics and Meanings of Programs; Mathematical Logic and Formal Languages