This page contains powerpoint slides for the book Introduction to Software Testing by Paul Ammann and Jeff Offutt, Cambridge University Press. These slides are available for instructors, students and readers of the book. The authors reserve the copyright on all slides, but grant permission for them to be used for educational purposes. The slides can be modified as long as the copyright and reference to the footnote remains intact.

Some of these slides make substantial use of PPT slide animation, so be sure to go through them at least once before class to check the timing.

The authors welcome corrections, updates and additions. We will be glad to credit any contributors to these slides. New versions of slides will have the dates marked in red for a few months.

Jeff Offutt & Paul Ammann
Back to the book website ...
Archived slides ...

FileChapter SectionLast Update
Ch 1. Introduction
Ch1-Introduction.ppt   1.1 Activities of a Test EngineerJan 2011
"   1.2 Software Testing Limitations and Terminology"
"   1.3 Coverage Criteria for Testing"
"   1.4 Older Software Testing Terminology"
   modelDrivenTestDesign.pptx   1.1 Model-Driven Test Design Process
         (Now included in Chapter 1's slides)
Oct 2008
Ch1-junit.pptOct 2011
Ch1-advancedJunit.pptApr 2011
Ch1-Intro-summary.pptFeb 2010
New Slides to Replace Chapter 1
We are currently working on the second edition. A major change is to expand the old Chapter 1 into Part 1 with five
chapters. All chapter numbers will change in the new edition. Below are slides for four of these chapters. These were
class-tested in our MS-level course in software testing Fall 2013. Comments, questions, and corrections are welcome.
Ch01-whyTest.pptx2nd Edition, Part 1, Ch 1: Why Test SoftwareAug 2013
Ch02-mdtd.pptx2nd Edition, Part 1, Ch 2: Model-Driven Test DesignAug 2013
Ch03-automation.pptx2nd Edition, Part 1, Ch 3: Test AutomationSep 2013
Ch05-criteria.pptx2nd Edition, Part 1, Ch 5: Criteria-Based Test DesignSep 2013
The Remaining Slides Are for the First Edition
Ch 2. Graph Testing
Ch2-1-2-overviewGraphCoverage.ppt   2.1 OverviewSep 2012
"   2.2 Graph Coverage Criteria"
Ch2-3-sourceCode.ppt   2.3 Graph Coverage for Source CodeFeb 2014
Ch2-4-design.ppt   2.4 Graph Coverage for Design ElementsOct 2012
Ch2-5-spec.ppt   2.5 Graph Coverage for SpecificationsOct 2012
Ch2-6-useCases.ppt   2.6 Graph Coverage for Use CasesSept 2013
Ch2-7-graphAlg.ppt   2.7 Representing Graphs AlgebraicallyFeb 2010
New Slides to Replace Chapter 2
We are currently working on the second edition. The old chapter 2 will become chapter 06. These were
class-tested in our MS-level course in software testing Fall 2013. Comments, questions, and corrections are welcome.
Ch06-1-2-overviewGraphCoverage.pptx2nd Edition, Part 2, Ch 6: Graph Coverage CriteriaSep 2013
Ch06-3-sourceCode.pptx   2nd Edition, part 2, ch 06.3: Graph Coverage for Source CodeSep 2013
Ch06-4-design.pptx   2nd Edition, part 2, ch 06.4: Graph Coverage for Design ElementsSep 2013
Ch06-5-spec.pptx   2nd Edition, part 2, ch 06.5: Graph Coverage for SpecificationsOct 2013
Ch06-6-useCases.pptx   2nd Edition, part 2, ch 06.6: Graph Coverage for Use CasesSep 2013
Ch 3. Logic Testing
Ch3-1-2-overviewLogicExpr.ppt   3.1 Overview-Logic Predicates and ClausesJune 2014
"   3.2 Logic Expression Coverage Criteria"
Ch3-3-sourceLogic.ppt   3.3 Structural Logic Coverage of ProgramsApr 2014
Ch3-4-specLogic.ppt   3.4 Specification-based Logic CoverageJune 2014
Ch3-5-FSMLogic.ppt   3.5 Logic Coverage of Finite State MachinesOct 2013
Ch3-6-DNFCriteria.pptx   3.6 Disjunctive Normal Form CriteriaMar 2011
Ch 4. Input Space Partitioning
Ch4-ISP.ppt   4.1 Input Domain ModelingNov 2013
"   4.2 Combination Strategies Criteria"
"   4.3 Constraints Among Partitions"
Ch 5. Syntax-based Testing
Ch5-1-overviewSyntax.ppt   5.1 Syntax-based Coverage CriteriaNov 2013
Ch5-2-source.ppt   5.2 Program-based GrammarsNov 2013
Ch5-3-integrateMut.ppt   5.3 Integration and Object-Oriented TestingNov 2013
Ch5-4-modelBased.ppt   5.4 Specification-based GrammarsNov 2010
Ch5-5-inputs.ppt   5.5 Input Space GrammarsDec 2012
Ch 6. Practical Considerations
Ch6-practical.ppt   6.1 Regression TestingDec 2013
"   6.2 Integration and Testing"
"   6.3 Test Process"
"   6.4 Test Plans"
"   6.5 Identifying Correct Outputs"
Ch 7. Engineering Criteria for Technologies
Ch7-1-ooAnalysis.ppt   7.1 Testing Object-Oriented SoftwareDec 2013
Ch7-2-webtest.ppt   7.2 Testing Web Applications and Web ServicesDec 2012
TBD   7.3 Testing Graphical User Interfaces 
TBD   7.4 Real-time Software and Embedded Software 
Ch 8. Building Testing Tools
Ch8-1-instrument.ppt   8.1 Instrumentation for Graph and Logical Expression CriteriaDec 2010
TBD   8.2 Building Mutation Testing Tools 
Ch 9. Challenges in Testing Software
Ch9-1-emergent.ppt   9.1 Testing for Emergent Properties: Safety and SecurityFeb 2010
Ch9-2-testability.ppt   9.2 Software TestabilityFeb 2010
Ch9-3-future.ppt   9.3 Test Criteria and the Future of Software TestingDec 2011
CoverageSummary-lastlecture.pptCoverage SummaryNov 2013
Last update: December 2014.