test driven development (tdd) - cvcc 2011
TRANSCRIPT
Introduction to Test Driven Development (TDD) with .NET
Tom SteeleThree Rivers Technologies
La Crosse, WI
Popularized by Extreme Programming (XP)“Testing Strategy” (1st Edition)“Test-First” (2nd Edition)Test Driven Development (TDD)
Popularized by Extreme Programming (XP)“Testing Strategy” (1st Edition)“Test-First” (2nd Edition)Test Driven Development (TDD)
Popularized by Extreme Programming (XP)“Testing Strategy” (1st Edition)“Test-First” (2nd Edition)Test Driven Development (TDD)
Popularized by Extreme Programming (XP)“Testing Strategy” (1st Edition)“Test-First” (2nd Edition)Test Driven Development (TDD)
TDD is not about testingHow is that possible?
Testing
TDD is not just about testingUn-ambiguous requirements
Software designContributes to loose coupling
Productivity improvement
TDD is not just about testingUn-ambiguous requirements
Software designContributes to loose coupling
Productivity improvement
TDD is not just about testingUn-ambiguous requirements
Software designContributes to loose coupling
Productivity improvement
TDD is not just about testingUn-ambiguous requirements
Software designContributes to loose coupling
Productivity improvement
TDD is not just about testingUn-ambiguous requirements
Software designContributes to loose coupling
Productivity improvement
Refactor
Green
Red
Tools
MBUnitOthers…
Let’s see TDD in action
Demo
Let’s review what we learned in the demo
Where to put unit tests (my best practice)NUnit Assert.AreEqual basics
Test listRed-Green-Refactor rhythm
Running tests with NUnit GUI & TestDriven.NETTest with Debugger & Coverage
Various SetUp and TearDown methodsUse of Console.WriteLine (my best practice)
Let’s review what we learned in the demo
Where to put unit tests (my best practice)NUnit Assert.AreEqual basics
Test listRed-Green-Refactor rhythm
Running tests with NUnit GUI & TestDriven.NETTest with Debugger & Coverage
Various SetUp and TearDown methodsUse of Console.WriteLine (my best practice)
Let’s review what we learned in the demo
Where to put unit tests (my best practice)NUnit Assert.AreEqual basics
Test listRed-Green-Refactor rhythm
Running tests with NUnit GUI & TestDriven.NETTest with Debugger & Coverage
Various SetUp and TearDown methodsUse of Console.WriteLine (my best practice)
Let’s review what we learned in the demo
Where to put unit tests (my best practice)NUnit Assert.AreEqual basics
Test listRed-Green-Refactor rhythm
Running tests with NUnit GUI & TestDriven.NETTest with Debugger & Coverage
Various SetUp and TearDown methodsUse of Console.WriteLine (my best practice)
Let’s review what we learned in the demo
Where to put unit tests (my best practice)NUnit Assert.AreEqual basics
Test listRed-Green-Refactor rhythm
Running tests with NUnit GUI & TestDriven.NETTest with Debugger & Coverage
Various SetUp and TearDown methodsUse of Console.WriteLine (my best practice)
Let’s review what we learned in the demo
Where to put unit tests (my best practice)NUnit Assert.AreEqual basics
Test listRed-Green-Refactor rhythm
Running tests with NUnit GUI & TestDriven.NETTest with Debugger & Coverage
Various SetUp and TearDown methodsUse of Console.WriteLine (my best practice)
Let’s review what we learned in the demo
Where to put unit tests (my best practice)NUnit Assert.AreEqual basics
Test listRed-Green-Refactor rhythm
Running tests with NUnit GUI & TestDriven.NETTest with Debugger & Coverage
Various SetUp and TearDown methodsUse of Console.WriteLine (my best practice)
Let’s review what we learned in the demo
Where to put unit tests (my best practice)NUnit Assert.AreEqual basics
Test listRed-Green-Refactor rhythm
Running tests with NUnit GUI & TestDriven.NETTest with Debugger & Coverage
Various SetUp and TearDown methodsUse of Console.WriteLine (my best practice)
Some additional thoughts and discussion points
TDD religion vs. pragmatismContinuous integration
Knowing what to test (art not science)Database testing
Unit test vs. “batch” unit tests
Some additional thoughts and discussion points
TDD religion vs. pragmatismContinuous integration
Knowing what to test (art not science)Database testing
Unit test vs. “batch” unit tests
Some additional thoughts and discussion points
TDD religion vs. pragmatismContinuous integration
Knowing what to test (art not science)Database testing
Unit test vs. “batch” unit tests
Some additional thoughts and discussion points
TDD religion vs. pragmatismContinuous integration
Knowing what to test (art not science)Database testing
Unit test vs. “batch” unit tests
Some additional thoughts and discussion points
TDD religion vs. pragmatismContinuous integration
Knowing what to test (art not science)Database testing
Unit test vs. “batch” unit tests
Question & Answer TimeOr My Recommended
Agile Reading List
Background & Contact InformationSoftware Architect
CSM/CSPMCAD
Microsoft EcosystemAll things .NET
SharePoint & SilverlightStrong advocate for Agile/Scrum
Thank You
Tom SteeleThree Rivers [email protected]
Currently readingMy Most
Recommended
My Recommended Agile Reading List
Agile Manifestowww.agilemanifesto.org
RequirementsUser/Role ModelingScrum Intro
Empirical vs. DefinedScrum Mechanics
General Project MgmtCase Studies/Stories
Bible on Project Planning
2nd Edition Less Rigid than 1st
People FocusedTDD & Other Practices like CI
2 Lean BooksToyota Production SystemEnterprise Validity
Ideas for Enterprise AdoptionScaling Scrum