SlideShare una empresa de Scribd logo
1 de 40
Introduction to Test Driven
Development (TDD) with .NET
Tom Steele
Three 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 testing
How is that possible?
Testing
TDD is not just about testing
Un-ambiguous requirements
Software design
Contributes to loose coupling
Productivity improvement
TDD is not just about testing
Un-ambiguous requirements
Software design
Contributes to loose coupling
Productivity improvement
TDD is not just about testing
Un-ambiguous requirements
Software design
Contributes to loose coupling
Productivity improvement
TDD is not just about testing
Un-ambiguous requirements
Software design
Contributes to loose coupling
Productivity improvement
TDD is not just about testing
Un-ambiguous requirements
Software design
Contributes to loose coupling
Productivity improvement
Refactor
Green
Red
Tools
MBUnit
Others…
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 list
Red-Green-Refactor rhythm
Running tests with NUnit GUI & TestDriven.NET
Test with Debugger & Coverage
Various SetUp and TearDown methods
Use 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 list
Red-Green-Refactor rhythm
Running tests with NUnit GUI & TestDriven.NET
Test with Debugger & Coverage
Various SetUp and TearDown methods
Use 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 list
Red-Green-Refactor rhythm
Running tests with NUnit GUI & TestDriven.NET
Test with Debugger & Coverage
Various SetUp and TearDown methods
Use 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 list
Red-Green-Refactor rhythm
Running tests with NUnit GUI & TestDriven.NET
Test with Debugger & Coverage
Various SetUp and TearDown methods
Use 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 list
Red-Green-Refactor rhythm
Running tests with NUnit GUI & TestDriven.NET
Test with Debugger & Coverage
Various SetUp and TearDown methods
Use 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 list
Red-Green-Refactor rhythm
Running tests with NUnit GUI & TestDriven.NET
Test with Debugger & Coverage
Various SetUp and TearDown methods
Use 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 list
Red-Green-Refactor rhythm
Running tests with NUnit GUI & TestDriven.NET
Test with Debugger & Coverage
Various SetUp and TearDown methods
Use 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 list
Red-Green-Refactor rhythm
Running tests with NUnit GUI & TestDriven.NET
Test with Debugger & Coverage
Various SetUp and TearDown methods
Use of Console.WriteLine (my best practice)
Some additional thoughts and
discussion points
TDD religion vs. pragmatism
Continuous 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. pragmatism
Continuous 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. pragmatism
Continuous 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. pragmatism
Continuous 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. pragmatism
Continuous integration
Knowing what to test (art not science)
Database testing
Unit test vs. “batch” unit tests
Question & Answer Time
Or My Recommended
Agile Reading List
Background & Contact Information
Software Architect
CSM/CSP
MCAD
Microsoft Ecosystem
All things .NET
SharePoint & Silverlight
Strong advocate for Agile/Scrum
tsteele@3riverstech.com
Thank You
Tom Steele
Three Rivers Technologies
tsteele@3riverstech.com
Currently reading
My Most
Recommended
My Recommended
Agile Reading List
Agile Manifesto
www.agilemanifesto.org
Requirements
User/Role Modeling
Scrum Intro
Empirical vs. Defined
Scrum Mechanics
General Project Mgmt
Case Studies/Stories
Bible on Project Planning
2nd Edition Less Rigid than 1st
People Focused
TDD & Other Practices like CI
2 Lean Books
Toyota Production System
Enterprise Validity
Ideas for Enterprise Adoption
Scaling Scrum

Más contenido relacionado

La actualidad más candente

2016 10-04: tdd++: tdd made easier
2016 10-04: tdd++: tdd made easier2016 10-04: tdd++: tdd made easier
2016 10-04: tdd++: tdd made easierChristian Hujer
 
Test Driven Development (TDD) Preso 360|Flex 2010
Test Driven Development (TDD) Preso 360|Flex 2010Test Driven Development (TDD) Preso 360|Flex 2010
Test Driven Development (TDD) Preso 360|Flex 2010guest5639fa9
 
TDD - Test Driven Development
TDD - Test Driven DevelopmentTDD - Test Driven Development
TDD - Test Driven DevelopmentTung Nguyen Thanh
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven DevelopmentMireia Sangalo
 
VT.NET 20160411: An Intro to Test Driven Development (TDD)
VT.NET 20160411: An Intro to Test Driven Development (TDD)VT.NET 20160411: An Intro to Test Driven Development (TDD)
VT.NET 20160411: An Intro to Test Driven Development (TDD)Rob Hale
 
Howto Test A Patch And Make A Difference!
Howto Test A Patch And Make A Difference!Howto Test A Patch And Make A Difference!
Howto Test A Patch And Make A Difference!Joel Farris
 
JUnit5 Custom TestEngines intro - version 2020-06
JUnit5 Custom TestEngines intro - version 2020-06JUnit5 Custom TestEngines intro - version 2020-06
JUnit5 Custom TestEngines intro - version 2020-06Sven Ruppert
 
A Not-So-Serious Introduction to Test Driven Development (TDD)
A Not-So-Serious Introduction to Test Driven Development (TDD) A Not-So-Serious Introduction to Test Driven Development (TDD)
A Not-So-Serious Introduction to Test Driven Development (TDD) CodeOps Technologies LLP
 
Getting started with Test Driven Development
Getting started with Test Driven DevelopmentGetting started with Test Driven Development
Getting started with Test Driven DevelopmentFerdous Mahmud Shaon
 

La actualidad más candente (9)

2016 10-04: tdd++: tdd made easier
2016 10-04: tdd++: tdd made easier2016 10-04: tdd++: tdd made easier
2016 10-04: tdd++: tdd made easier
 
Test Driven Development (TDD) Preso 360|Flex 2010
Test Driven Development (TDD) Preso 360|Flex 2010Test Driven Development (TDD) Preso 360|Flex 2010
Test Driven Development (TDD) Preso 360|Flex 2010
 
TDD - Test Driven Development
TDD - Test Driven DevelopmentTDD - Test Driven Development
TDD - Test Driven Development
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
 
VT.NET 20160411: An Intro to Test Driven Development (TDD)
VT.NET 20160411: An Intro to Test Driven Development (TDD)VT.NET 20160411: An Intro to Test Driven Development (TDD)
VT.NET 20160411: An Intro to Test Driven Development (TDD)
 
Howto Test A Patch And Make A Difference!
Howto Test A Patch And Make A Difference!Howto Test A Patch And Make A Difference!
Howto Test A Patch And Make A Difference!
 
JUnit5 Custom TestEngines intro - version 2020-06
JUnit5 Custom TestEngines intro - version 2020-06JUnit5 Custom TestEngines intro - version 2020-06
JUnit5 Custom TestEngines intro - version 2020-06
 
A Not-So-Serious Introduction to Test Driven Development (TDD)
A Not-So-Serious Introduction to Test Driven Development (TDD) A Not-So-Serious Introduction to Test Driven Development (TDD)
A Not-So-Serious Introduction to Test Driven Development (TDD)
 
Getting started with Test Driven Development
Getting started with Test Driven DevelopmentGetting started with Test Driven Development
Getting started with Test Driven Development
 

Similar a Test Driven Development (TDD) - CVCC 2011

Reduce Development Cost with Test Driven Development
Reduce Development Cost with Test Driven DevelopmentReduce Development Cost with Test Driven Development
Reduce Development Cost with Test Driven Developmentsthicks14
 
An Introduction to Test Driven Development
An Introduction to Test Driven Development An Introduction to Test Driven Development
An Introduction to Test Driven Development CodeOps Technologies LLP
 
TDD - A Reminder of the Principles
TDD - A Reminder of the PrinciplesTDD - A Reminder of the Principles
TDD - A Reminder of the PrinciplesMatthias Noback
 
Tech talks #1- Unit testing and TDD
Tech talks #1- Unit testing and TDDTech talks #1- Unit testing and TDD
Tech talks #1- Unit testing and TDDDUONG Trong Tan
 
Test Driven Development (TDD)
Test Driven Development (TDD)Test Driven Development (TDD)
Test Driven Development (TDD)David Ehringer
 
TDD reloaded - JUGTAA 24 Ottobre 2012
TDD reloaded - JUGTAA 24 Ottobre 2012TDD reloaded - JUGTAA 24 Ottobre 2012
TDD reloaded - JUGTAA 24 Ottobre 2012Pietro Di Bello
 
Introduction to Test Driven Development
Introduction to Test Driven DevelopmentIntroduction to Test Driven Development
Introduction to Test Driven DevelopmentMichael Denomy
 
Journey's diary developing a framework using tdd
Journey's diary   developing a framework using tddJourney's diary   developing a framework using tdd
Journey's diary developing a framework using tddeduardomg23
 
Test analysis & design good practices@TDT Iasi 17Oct2013
Test analysis & design   good practices@TDT Iasi 17Oct2013Test analysis & design   good practices@TDT Iasi 17Oct2013
Test analysis & design good practices@TDT Iasi 17Oct2013Tabăra de Testare
 
Tdd Ugialtnet Jan2010
Tdd Ugialtnet Jan2010Tdd Ugialtnet Jan2010
Tdd Ugialtnet Jan2010guestcff805
 
Rspec Tips
Rspec TipsRspec Tips
Rspec Tipslionpeal
 
Programming with GUTs
Programming with GUTsProgramming with GUTs
Programming with GUTscatherinewall
 
Test Driven Development - Overview and Adoption
Test Driven Development - Overview and AdoptionTest Driven Development - Overview and Adoption
Test Driven Development - Overview and AdoptionPyxis Technologies
 
Testing Sap: Modern Methodology
Testing Sap: Modern MethodologyTesting Sap: Modern Methodology
Testing Sap: Modern MethodologyEthan Jewett
 
SQL Saturday 28 - .NET Fundamentals
SQL Saturday 28 - .NET FundamentalsSQL Saturday 28 - .NET Fundamentals
SQL Saturday 28 - .NET Fundamentalsmikehuguet
 
#DOAW16 - DevOps@work Roma 2016 - Testing your databases
#DOAW16 - DevOps@work Roma 2016 - Testing your databases#DOAW16 - DevOps@work Roma 2016 - Testing your databases
#DOAW16 - DevOps@work Roma 2016 - Testing your databasesAlessandro Alpi
 

Similar a Test Driven Development (TDD) - CVCC 2011 (20)

Reduce Development Cost with Test Driven Development
Reduce Development Cost with Test Driven DevelopmentReduce Development Cost with Test Driven Development
Reduce Development Cost with Test Driven Development
 
tem7
tem7tem7
tem7
 
An Introduction to Test Driven Development
An Introduction to Test Driven Development An Introduction to Test Driven Development
An Introduction to Test Driven Development
 
TDD - Agile
TDD - Agile TDD - Agile
TDD - Agile
 
TDD - A Reminder of the Principles
TDD - A Reminder of the PrinciplesTDD - A Reminder of the Principles
TDD - A Reminder of the Principles
 
Tech talks #1- Unit testing and TDD
Tech talks #1- Unit testing and TDDTech talks #1- Unit testing and TDD
Tech talks #1- Unit testing and TDD
 
Continuous Testing
Continuous TestingContinuous Testing
Continuous Testing
 
Test Driven Development (TDD)
Test Driven Development (TDD)Test Driven Development (TDD)
Test Driven Development (TDD)
 
TDD reloaded - JUGTAA 24 Ottobre 2012
TDD reloaded - JUGTAA 24 Ottobre 2012TDD reloaded - JUGTAA 24 Ottobre 2012
TDD reloaded - JUGTAA 24 Ottobre 2012
 
Introduction to Test Driven Development
Introduction to Test Driven DevelopmentIntroduction to Test Driven Development
Introduction to Test Driven Development
 
Journey's diary developing a framework using tdd
Journey's diary   developing a framework using tddJourney's diary   developing a framework using tdd
Journey's diary developing a framework using tdd
 
TDD talk
TDD talkTDD talk
TDD talk
 
Test analysis & design good practices@TDT Iasi 17Oct2013
Test analysis & design   good practices@TDT Iasi 17Oct2013Test analysis & design   good practices@TDT Iasi 17Oct2013
Test analysis & design good practices@TDT Iasi 17Oct2013
 
Tdd Ugialtnet Jan2010
Tdd Ugialtnet Jan2010Tdd Ugialtnet Jan2010
Tdd Ugialtnet Jan2010
 
Rspec Tips
Rspec TipsRspec Tips
Rspec Tips
 
Programming with GUTs
Programming with GUTsProgramming with GUTs
Programming with GUTs
 
Test Driven Development - Overview and Adoption
Test Driven Development - Overview and AdoptionTest Driven Development - Overview and Adoption
Test Driven Development - Overview and Adoption
 
Testing Sap: Modern Methodology
Testing Sap: Modern MethodologyTesting Sap: Modern Methodology
Testing Sap: Modern Methodology
 
SQL Saturday 28 - .NET Fundamentals
SQL Saturday 28 - .NET FundamentalsSQL Saturday 28 - .NET Fundamentals
SQL Saturday 28 - .NET Fundamentals
 
#DOAW16 - DevOps@work Roma 2016 - Testing your databases
#DOAW16 - DevOps@work Roma 2016 - Testing your databases#DOAW16 - DevOps@work Roma 2016 - Testing your databases
#DOAW16 - DevOps@work Roma 2016 - Testing your databases
 

Más de Tom Steele

Xamarin / MVVM Intro - That Conference
Xamarin / MVVM Intro - That ConferenceXamarin / MVVM Intro - That Conference
Xamarin / MVVM Intro - That ConferenceTom Steele
 
Agile Team Review
Agile Team ReviewAgile Team Review
Agile Team ReviewTom Steele
 
Distributed Version Control - CVCC
Distributed Version Control - CVCCDistributed Version Control - CVCC
Distributed Version Control - CVCCTom Steele
 
Code camp2012 scrumtrackingspreadsheet
Code camp2012 scrumtrackingspreadsheetCode camp2012 scrumtrackingspreadsheet
Code camp2012 scrumtrackingspreadsheetTom Steele
 
Evangelizing Agile/Scrum
Evangelizing Agile/ScrumEvangelizing Agile/Scrum
Evangelizing Agile/ScrumTom Steele
 
Successfully Launching an Agile Project
Successfully Launching an Agile ProjectSuccessfully Launching an Agile Project
Successfully Launching an Agile ProjectTom Steele
 

Más de Tom Steele (6)

Xamarin / MVVM Intro - That Conference
Xamarin / MVVM Intro - That ConferenceXamarin / MVVM Intro - That Conference
Xamarin / MVVM Intro - That Conference
 
Agile Team Review
Agile Team ReviewAgile Team Review
Agile Team Review
 
Distributed Version Control - CVCC
Distributed Version Control - CVCCDistributed Version Control - CVCC
Distributed Version Control - CVCC
 
Code camp2012 scrumtrackingspreadsheet
Code camp2012 scrumtrackingspreadsheetCode camp2012 scrumtrackingspreadsheet
Code camp2012 scrumtrackingspreadsheet
 
Evangelizing Agile/Scrum
Evangelizing Agile/ScrumEvangelizing Agile/Scrum
Evangelizing Agile/Scrum
 
Successfully Launching an Agile Project
Successfully Launching an Agile ProjectSuccessfully Launching an Agile Project
Successfully Launching an Agile Project
 

Último

Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesVictorSzoltysek
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension AidPhilip Schwarz
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionOnePlan Solutions
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdfPearlKirahMaeRagusta1
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...kalichargn70th171
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnAmarnathKambale
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplatePresentation.STUDIO
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 

Último (20)

Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 

Test Driven Development (TDD) - CVCC 2011

  • 1. Introduction to Test Driven Development (TDD) with .NET Tom Steele Three Rivers Technologies La Crosse, WI
  • 2. Popularized by Extreme Programming (XP) “Testing Strategy” (1st Edition) “Test-First” (2nd Edition) Test Driven Development (TDD)
  • 3. Popularized by Extreme Programming (XP) “Testing Strategy” (1st Edition) “Test-First” (2nd Edition) Test Driven Development (TDD)
  • 4. Popularized by Extreme Programming (XP) “Testing Strategy” (1st Edition) “Test-First” (2nd Edition) Test Driven Development (TDD)
  • 5. Popularized by Extreme Programming (XP) “Testing Strategy” (1st Edition) “Test-First” (2nd Edition) Test Driven Development (TDD)
  • 6. TDD is not about testing How is that possible? Testing
  • 7. TDD is not just about testing Un-ambiguous requirements Software design Contributes to loose coupling Productivity improvement
  • 8. TDD is not just about testing Un-ambiguous requirements Software design Contributes to loose coupling Productivity improvement
  • 9. TDD is not just about testing Un-ambiguous requirements Software design Contributes to loose coupling Productivity improvement
  • 10. TDD is not just about testing Un-ambiguous requirements Software design Contributes to loose coupling Productivity improvement
  • 11. TDD is not just about testing Un-ambiguous requirements Software design Contributes to loose coupling Productivity improvement
  • 14. Let’s see TDD in action Demo
  • 15. Let’s review what we learned in the demo Where to put unit tests (my best practice) NUnit Assert.AreEqual basics Test list Red-Green-Refactor rhythm Running tests with NUnit GUI & TestDriven.NET Test with Debugger & Coverage Various SetUp and TearDown methods Use of Console.WriteLine (my best practice)
  • 16. Let’s review what we learned in the demo Where to put unit tests (my best practice) NUnit Assert.AreEqual basics Test list Red-Green-Refactor rhythm Running tests with NUnit GUI & TestDriven.NET Test with Debugger & Coverage Various SetUp and TearDown methods Use of Console.WriteLine (my best practice)
  • 17. Let’s review what we learned in the demo Where to put unit tests (my best practice) NUnit Assert.AreEqual basics Test list Red-Green-Refactor rhythm Running tests with NUnit GUI & TestDriven.NET Test with Debugger & Coverage Various SetUp and TearDown methods Use of Console.WriteLine (my best practice)
  • 18. Let’s review what we learned in the demo Where to put unit tests (my best practice) NUnit Assert.AreEqual basics Test list Red-Green-Refactor rhythm Running tests with NUnit GUI & TestDriven.NET Test with Debugger & Coverage Various SetUp and TearDown methods Use of Console.WriteLine (my best practice)
  • 19. Let’s review what we learned in the demo Where to put unit tests (my best practice) NUnit Assert.AreEqual basics Test list Red-Green-Refactor rhythm Running tests with NUnit GUI & TestDriven.NET Test with Debugger & Coverage Various SetUp and TearDown methods Use of Console.WriteLine (my best practice)
  • 20. Let’s review what we learned in the demo Where to put unit tests (my best practice) NUnit Assert.AreEqual basics Test list Red-Green-Refactor rhythm Running tests with NUnit GUI & TestDriven.NET Test with Debugger & Coverage Various SetUp and TearDown methods Use of Console.WriteLine (my best practice)
  • 21. Let’s review what we learned in the demo Where to put unit tests (my best practice) NUnit Assert.AreEqual basics Test list Red-Green-Refactor rhythm Running tests with NUnit GUI & TestDriven.NET Test with Debugger & Coverage Various SetUp and TearDown methods Use of Console.WriteLine (my best practice)
  • 22. Let’s review what we learned in the demo Where to put unit tests (my best practice) NUnit Assert.AreEqual basics Test list Red-Green-Refactor rhythm Running tests with NUnit GUI & TestDriven.NET Test with Debugger & Coverage Various SetUp and TearDown methods Use of Console.WriteLine (my best practice)
  • 23. Some additional thoughts and discussion points TDD religion vs. pragmatism Continuous integration Knowing what to test (art not science) Database testing Unit test vs. “batch” unit tests
  • 24. Some additional thoughts and discussion points TDD religion vs. pragmatism Continuous integration Knowing what to test (art not science) Database testing Unit test vs. “batch” unit tests
  • 25. Some additional thoughts and discussion points TDD religion vs. pragmatism Continuous integration Knowing what to test (art not science) Database testing Unit test vs. “batch” unit tests
  • 26. Some additional thoughts and discussion points TDD religion vs. pragmatism Continuous integration Knowing what to test (art not science) Database testing Unit test vs. “batch” unit tests
  • 27. Some additional thoughts and discussion points TDD religion vs. pragmatism Continuous integration Knowing what to test (art not science) Database testing Unit test vs. “batch” unit tests
  • 28. Question & Answer Time Or My Recommended Agile Reading List
  • 29. Background & Contact Information Software Architect CSM/CSP MCAD Microsoft Ecosystem All things .NET SharePoint & Silverlight Strong advocate for Agile/Scrum tsteele@3riverstech.com
  • 30. Thank You Tom Steele Three Rivers Technologies tsteele@3riverstech.com
  • 36. General Project Mgmt Case Studies/Stories
  • 37. Bible on Project Planning
  • 38. 2nd Edition Less Rigid than 1st People Focused TDD & Other Practices like CI
  • 39. 2 Lean Books Toyota Production System Enterprise Validity
  • 40. Ideas for Enterprise Adoption Scaling Scrum