SlideShare a Scribd company logo
“Myths which are believed in tend
to become true.” ~ George Orwell
Ash Winter
Short stuff here:
@northern_tester
Long stuff here:
A Testers* Guide to the Illusions
of Unit Testing
* Disclaimer: this definitely maybe applies to all disciplines in software
development, not only testers but I’m a tester so its from my point of view.
This is Gus
• Speakeasy
• Great
mentor
• Taught me
speaking
wasn’t only
about me
Tweet
Blog
Talk
• Lone testers
• Testers as
coaches
• Testing in
other layers
• Sum of all
testing
• Cross
discipline
illusions
Y Tho?
• Reactions
• Tyranny of
pyramids
• What is a
unit?
• Colin’s
Pop Quiz…
• Toolkits
Coming up…
Goonies
• Testing meetup
• Strategy without unit tests
• I shut them down…
Word
• “I’ve
written my
unit test
plan.”
• O rly…?
• But they
were
testing
Reactions
• Your scenarios
• In pairs
please
• One scenario
each
• Positive
responses –
start dialogue
• Negative
responses –
shut downs
Now a word from the sponsors of
most unit testing illusions…
• Useful frame of reference?
• Dogma justifying blood sacrifice?
• Source of many illusions…
That Pyramid…
• That unit tests fill in the bottom of the
pyramid
• That unit tests remain in the bottom layer of
the pyramid
• That unit tests are inherently more valuable
than other layers of tests
• That unit test coverage is irrelevant to
manual testing
• Large number of unit tests can replace
integration tests.
• You don't need additional tests because
everything is unit tested
• If you have a suite of unit tests you don't
need to do much other testing
The Pyramid…
• Do unit tests
supersede all
other forms of
testing?
• Still deliver what
someone that
matters wants?
• Get in their shoes
• Time to make
empathy our
superpower…
Could it be true?
• Pairs or
threes
• Large sheet
of paper
• Lets empathy
map
• (2 or 3
sections)
I know those feels
Belief: If you have unit tests, you don’t need to invest (too
much) in other forms of testing…
Existential Questions
• Existence == good
• Tests exist to find bugs
• Unit tests communicate intent
• What’s a unit?
What is a unit then?
• “That
there is a
unit to
test”
• Method?
• Class?
• Service?
• How to
find the
unit?
Reinventing the wheel…
For example…
Microservice
Single
Database
Multiple
Applications
Broker/Queue
Based
More group work…
• Pairs or
threes
• Unit Owner
• Draw the
wheel, if
it helps
• Wheel and
supporting
notes
• What factors
help to find
a unit of
your system?
• What
practices &
patterns
influence
that unit?
• How
practices
and patterns
govern size
of a unit?
Pop Quiz Hotshots
• Devs always
write them
• Devs never
write them
• Testers
shouldn’t
write them
• What does
good look
like…
Colin
Friends of Ilkley Moor
Bad?
Atomic?
Trustworthy?
Readable?
Structured?
• Help find out what a unit is
• Do some TDD
• Lens into the assumptions & bias
• Question assertions
• Anything else?
As a tester
• Integrate with
the test
strategy
• Code coverage
!= test
coverage
• Pair on writing
unit tests
• Anything else?
Help from devs
Thanks

More Related Content

What's hot

useful study technique
useful study techniqueuseful study technique
useful study technique
university of johannesburg
 
September 18 -10. idiom, vocabulary review game, unit 1 test
September 18 -10. idiom, vocabulary review game, unit 1 testSeptember 18 -10. idiom, vocabulary review game, unit 1 test
September 18 -10. idiom, vocabulary review game, unit 1 test
IECP
 
QFT in practise
QFT in practiseQFT in practise
QFT in practise
surridgeer
 
Say Something
Say SomethingSay Something
Say Something
SandyNess
 
Napkin Introduction to Systems Thinking - What is ST?
Napkin Introduction to Systems Thinking - What is ST?Napkin Introduction to Systems Thinking - What is ST?
Napkin Introduction to Systems Thinking - What is ST?
Nicolas Stampf
 
Discussion Board: Grading and Best Practices
Discussion Board: Grading and Best PracticesDiscussion Board: Grading and Best Practices
Discussion Board: Grading and Best Practices
mmcroberts
 

What's hot (6)

useful study technique
useful study techniqueuseful study technique
useful study technique
 
September 18 -10. idiom, vocabulary review game, unit 1 test
September 18 -10. idiom, vocabulary review game, unit 1 testSeptember 18 -10. idiom, vocabulary review game, unit 1 test
September 18 -10. idiom, vocabulary review game, unit 1 test
 
QFT in practise
QFT in practiseQFT in practise
QFT in practise
 
Say Something
Say SomethingSay Something
Say Something
 
Napkin Introduction to Systems Thinking - What is ST?
Napkin Introduction to Systems Thinking - What is ST?Napkin Introduction to Systems Thinking - What is ST?
Napkin Introduction to Systems Thinking - What is ST?
 
Discussion Board: Grading and Best Practices
Discussion Board: Grading and Best PracticesDiscussion Board: Grading and Best Practices
Discussion Board: Grading and Best Practices
 

Similar to Testers Guide to the Illusions of Unit Testing

A Testers Guide to the Myths, Legends and Tales of Unit Testing
A Testers Guide to the Myths, Legends and Tales of Unit TestingA Testers Guide to the Myths, Legends and Tales of Unit Testing
A Testers Guide to the Myths, Legends and Tales of Unit Testing
Ash Winter
 
Design, Create, Evaluate Process (1).pptx
Design, Create, Evaluate Process (1).pptxDesign, Create, Evaluate Process (1).pptx
Design, Create, Evaluate Process (1).pptx
Le Hung
 
Creating Yourself as a Tester - Keynote Nordic Testing Days June 2017
Creating Yourself as a Tester - Keynote Nordic Testing Days June 2017Creating Yourself as a Tester - Keynote Nordic Testing Days June 2017
Creating Yourself as a Tester - Keynote Nordic Testing Days June 2017
Alan Richardson
 
Bad metric, bad! - Joseph Ours
Bad metric, bad! - Joseph OursBad metric, bad! - Joseph Ours
Bad metric, bad! - Joseph Ours
QA or the Highway
 
Bad metric, bad!
Bad metric, bad!Bad metric, bad!
Bad metric, bad!
Centric Consulting
 
Social Human Architecture for Beginners
Social Human Architecture for BeginnersSocial Human Architecture for Beginners
Social Human Architecture for Beginners
Sebastian Schürmann
 
"Worst" practices of software testing
"Worst" practices of software testing"Worst" practices of software testing
"Worst" practices of software testing
Viktor Slavchev
 
Passionate Partnering, for Testers
Passionate Partnering, for TestersPassionate Partnering, for Testers
Passionate Partnering, for Testers
SQALab
 
Stephanie Cooper - Genuine Curiosity - Conversations for Change
Stephanie Cooper - Genuine Curiosity - Conversations for ChangeStephanie Cooper - Genuine Curiosity - Conversations for Change
Stephanie Cooper - Genuine Curiosity - Conversations for Change
AgileNZ Conference
 
GROW model
GROW modelGROW model
Building a QA Mindset
Building a QA Mindset Building a QA Mindset
Building a QA Mindset
Johan Hoberg
 
V2 rca ne 9 may feb 2013 final part2 introduction to systems coaching 2
V2 rca ne 9 may feb 2013 final part2 introduction to systems coaching 2V2 rca ne 9 may feb 2013 final part2 introduction to systems coaching 2
V2 rca ne 9 may feb 2013 final part2 introduction to systems coaching 2
asuthgb
 
An MBTI approach to more effective team working FINAL.ppt
An MBTI approach to more effective team working FINAL.pptAn MBTI approach to more effective team working FINAL.ppt
An MBTI approach to more effective team working FINAL.ppt
CaineTeoGenVee
 
The 4-hour Tester Experiment
The 4-hour Tester ExperimentThe 4-hour Tester Experiment
The 4-hour Tester Experiment
Helena Jeret-Mäe
 
Rss Oct 2011 Mixed Modes Pres2
Rss Oct 2011 Mixed Modes Pres2Rss Oct 2011 Mixed Modes Pres2
Rss Oct 2011 Mixed Modes Pres2
GerryNicolaas
 
Games User Research by Valen
Games User Research by ValenGames User Research by Valen
Games User Research by Valen
Agate Studio
 
The Axioms of Testing
The Axioms of TestingThe Axioms of Testing
The Axioms of Testing
Paul Gerrard
 
Understanding Lean & Agile Coaching Agile and Beyond 2018
Understanding Lean & Agile Coaching Agile and Beyond 2018Understanding Lean & Agile Coaching Agile and Beyond 2018
Understanding Lean & Agile Coaching Agile and Beyond 2018
Paul Boos
 
Better UX Can Start With Motivation and Management
Better UX Can Start With Motivation and ManagementBetter UX Can Start With Motivation and Management
Better UX Can Start With Motivation and Management
UXPA International
 
Usability Testing Popup Lab Workshop
Usability Testing Popup Lab WorkshopUsability Testing Popup Lab Workshop
Usability Testing Popup Lab Workshop
Cate Kompare
 

Similar to Testers Guide to the Illusions of Unit Testing (20)

A Testers Guide to the Myths, Legends and Tales of Unit Testing
A Testers Guide to the Myths, Legends and Tales of Unit TestingA Testers Guide to the Myths, Legends and Tales of Unit Testing
A Testers Guide to the Myths, Legends and Tales of Unit Testing
 
Design, Create, Evaluate Process (1).pptx
Design, Create, Evaluate Process (1).pptxDesign, Create, Evaluate Process (1).pptx
Design, Create, Evaluate Process (1).pptx
 
Creating Yourself as a Tester - Keynote Nordic Testing Days June 2017
Creating Yourself as a Tester - Keynote Nordic Testing Days June 2017Creating Yourself as a Tester - Keynote Nordic Testing Days June 2017
Creating Yourself as a Tester - Keynote Nordic Testing Days June 2017
 
Bad metric, bad! - Joseph Ours
Bad metric, bad! - Joseph OursBad metric, bad! - Joseph Ours
Bad metric, bad! - Joseph Ours
 
Bad metric, bad!
Bad metric, bad!Bad metric, bad!
Bad metric, bad!
 
Social Human Architecture for Beginners
Social Human Architecture for BeginnersSocial Human Architecture for Beginners
Social Human Architecture for Beginners
 
"Worst" practices of software testing
"Worst" practices of software testing"Worst" practices of software testing
"Worst" practices of software testing
 
Passionate Partnering, for Testers
Passionate Partnering, for TestersPassionate Partnering, for Testers
Passionate Partnering, for Testers
 
Stephanie Cooper - Genuine Curiosity - Conversations for Change
Stephanie Cooper - Genuine Curiosity - Conversations for ChangeStephanie Cooper - Genuine Curiosity - Conversations for Change
Stephanie Cooper - Genuine Curiosity - Conversations for Change
 
GROW model
GROW modelGROW model
GROW model
 
Building a QA Mindset
Building a QA Mindset Building a QA Mindset
Building a QA Mindset
 
V2 rca ne 9 may feb 2013 final part2 introduction to systems coaching 2
V2 rca ne 9 may feb 2013 final part2 introduction to systems coaching 2V2 rca ne 9 may feb 2013 final part2 introduction to systems coaching 2
V2 rca ne 9 may feb 2013 final part2 introduction to systems coaching 2
 
An MBTI approach to more effective team working FINAL.ppt
An MBTI approach to more effective team working FINAL.pptAn MBTI approach to more effective team working FINAL.ppt
An MBTI approach to more effective team working FINAL.ppt
 
The 4-hour Tester Experiment
The 4-hour Tester ExperimentThe 4-hour Tester Experiment
The 4-hour Tester Experiment
 
Rss Oct 2011 Mixed Modes Pres2
Rss Oct 2011 Mixed Modes Pres2Rss Oct 2011 Mixed Modes Pres2
Rss Oct 2011 Mixed Modes Pres2
 
Games User Research by Valen
Games User Research by ValenGames User Research by Valen
Games User Research by Valen
 
The Axioms of Testing
The Axioms of TestingThe Axioms of Testing
The Axioms of Testing
 
Understanding Lean & Agile Coaching Agile and Beyond 2018
Understanding Lean & Agile Coaching Agile and Beyond 2018Understanding Lean & Agile Coaching Agile and Beyond 2018
Understanding Lean & Agile Coaching Agile and Beyond 2018
 
Better UX Can Start With Motivation and Management
Better UX Can Start With Motivation and ManagementBetter UX Can Start With Motivation and Management
Better UX Can Start With Motivation and Management
 
Usability Testing Popup Lab Workshop
Usability Testing Popup Lab WorkshopUsability Testing Popup Lab Workshop
Usability Testing Popup Lab Workshop
 

More from Ash Winter

Testability Advocacy Canvas
Testability Advocacy CanvasTestability Advocacy Canvas
Testability Advocacy Canvas
Ash Winter
 
Testability Sales Pitch
Testability Sales PitchTestability Sales Pitch
Testability Sales Pitch
Ash Winter
 
Architectural Testability Workshop for Test Academy Barcelona
Architectural Testability Workshop for Test Academy BarcelonaArchitectural Testability Workshop for Test Academy Barcelona
Architectural Testability Workshop for Test Academy Barcelona
Ash Winter
 
Testability Squad Health Check
Testability Squad Health CheckTestability Squad Health Check
Testability Squad Health Check
Ash Winter
 
Testability is Everyone's Responsibility
Testability is Everyone's ResponsibilityTestability is Everyone's Responsibility
Testability is Everyone's Responsibility
Ash Winter
 
10 P's of Testability
10 P's of Testability10 P's of Testability
10 P's of Testability
Ash Winter
 
The Wheel of Testing
The Wheel of TestingThe Wheel of Testing
The Wheel of Testing
Ash Winter
 
Making testability our mission
Making testability our missionMaking testability our mission
Making testability our mission
Ash Winter
 
Testing Below the Application
Testing Below the ApplicationTesting Below the Application
Testing Below the Application
Ash Winter
 
Shift Testability
Shift TestabilityShift Testability
Shift Testability
Ash Winter
 
Part of the Pipeline
Part of the PipelinePart of the Pipeline
Part of the Pipeline
Ash Winter
 
Scroll Based Testing Strategy
Scroll Based Testing StrategyScroll Based Testing Strategy
Scroll Based Testing Strategy
Ash Winter
 
Bullseye or The Testing Wheel
Bullseye or The Testing WheelBullseye or The Testing Wheel
Bullseye or The Testing Wheel
Ash Winter
 
Ash_Winter-DEWT7_V1
Ash_Winter-DEWT7_V1Ash_Winter-DEWT7_V1
Ash_Winter-DEWT7_V1
Ash Winter
 
Ash_Winter-Forgotten-ility_V1
Ash_Winter-Forgotten-ility_V1Ash_Winter-Forgotten-ility_V1
Ash_Winter-Forgotten-ility_V1
Ash Winter
 
Main Talk v1.1
Main Talk v1.1Main Talk v1.1
Main Talk v1.1
Ash Winter
 
Turbo Mindmapping Your App
Turbo Mindmapping Your AppTurbo Mindmapping Your App
Turbo Mindmapping Your App
Ash Winter
 
NWEWT_Slides_Ash_Winter_04_2016
NWEWT_Slides_Ash_Winter_04_2016NWEWT_Slides_Ash_Winter_04_2016
NWEWT_Slides_Ash_Winter_04_2016
Ash Winter
 
Coaching Model for Unrecognised Internal Models
Coaching Model for Unrecognised Internal ModelsCoaching Model for Unrecognised Internal Models
Coaching Model for Unrecognised Internal Models
Ash Winter
 
Ash_Winter_Tested_to_Death
Ash_Winter_Tested_to_DeathAsh_Winter_Tested_to_Death
Ash_Winter_Tested_to_Death
Ash Winter
 

More from Ash Winter (20)

Testability Advocacy Canvas
Testability Advocacy CanvasTestability Advocacy Canvas
Testability Advocacy Canvas
 
Testability Sales Pitch
Testability Sales PitchTestability Sales Pitch
Testability Sales Pitch
 
Architectural Testability Workshop for Test Academy Barcelona
Architectural Testability Workshop for Test Academy BarcelonaArchitectural Testability Workshop for Test Academy Barcelona
Architectural Testability Workshop for Test Academy Barcelona
 
Testability Squad Health Check
Testability Squad Health CheckTestability Squad Health Check
Testability Squad Health Check
 
Testability is Everyone's Responsibility
Testability is Everyone's ResponsibilityTestability is Everyone's Responsibility
Testability is Everyone's Responsibility
 
10 P's of Testability
10 P's of Testability10 P's of Testability
10 P's of Testability
 
The Wheel of Testing
The Wheel of TestingThe Wheel of Testing
The Wheel of Testing
 
Making testability our mission
Making testability our missionMaking testability our mission
Making testability our mission
 
Testing Below the Application
Testing Below the ApplicationTesting Below the Application
Testing Below the Application
 
Shift Testability
Shift TestabilityShift Testability
Shift Testability
 
Part of the Pipeline
Part of the PipelinePart of the Pipeline
Part of the Pipeline
 
Scroll Based Testing Strategy
Scroll Based Testing StrategyScroll Based Testing Strategy
Scroll Based Testing Strategy
 
Bullseye or The Testing Wheel
Bullseye or The Testing WheelBullseye or The Testing Wheel
Bullseye or The Testing Wheel
 
Ash_Winter-DEWT7_V1
Ash_Winter-DEWT7_V1Ash_Winter-DEWT7_V1
Ash_Winter-DEWT7_V1
 
Ash_Winter-Forgotten-ility_V1
Ash_Winter-Forgotten-ility_V1Ash_Winter-Forgotten-ility_V1
Ash_Winter-Forgotten-ility_V1
 
Main Talk v1.1
Main Talk v1.1Main Talk v1.1
Main Talk v1.1
 
Turbo Mindmapping Your App
Turbo Mindmapping Your AppTurbo Mindmapping Your App
Turbo Mindmapping Your App
 
NWEWT_Slides_Ash_Winter_04_2016
NWEWT_Slides_Ash_Winter_04_2016NWEWT_Slides_Ash_Winter_04_2016
NWEWT_Slides_Ash_Winter_04_2016
 
Coaching Model for Unrecognised Internal Models
Coaching Model for Unrecognised Internal ModelsCoaching Model for Unrecognised Internal Models
Coaching Model for Unrecognised Internal Models
 
Ash_Winter_Tested_to_Death
Ash_Winter_Tested_to_DeathAsh_Winter_Tested_to_Death
Ash_Winter_Tested_to_Death
 

Recently uploaded

Apps Break Data
Apps Break DataApps Break Data
Apps Break Data
Ivo Velitchkov
 
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
saastr
 
Dandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity serverDandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity server
Antonios Katsarakis
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
Ivanti
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
Zilliz
 
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
Edge AI and Vision Alliance
 
Principle of conventional tomography-Bibash Shahi ppt..pptx
Principle of conventional tomography-Bibash Shahi ppt..pptxPrinciple of conventional tomography-Bibash Shahi ppt..pptx
Principle of conventional tomography-Bibash Shahi ppt..pptx
BibashShahi
 
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing InstancesEnergy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Alpen-Adria-Universität
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
Jason Packer
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Safe Software
 
Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
DanBrown980551
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
Tatiana Kojar
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
Chart Kalyan
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
akankshawande
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Tosin Akinosho
 
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectorsConnector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
DianaGray10
 
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
saastr
 
9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...
9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...
9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...
saastr
 

Recently uploaded (20)

Apps Break Data
Apps Break DataApps Break Data
Apps Break Data
 
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
 
Dandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity serverDandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity server
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
 
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
 
Principle of conventional tomography-Bibash Shahi ppt..pptx
Principle of conventional tomography-Bibash Shahi ppt..pptxPrinciple of conventional tomography-Bibash Shahi ppt..pptx
Principle of conventional tomography-Bibash Shahi ppt..pptx
 
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing InstancesEnergy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
 
Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
 
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectorsConnector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
 
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
 
9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...
9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...
9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...
 
Artificial Intelligence and Electronic Warfare
Artificial Intelligence and Electronic WarfareArtificial Intelligence and Electronic Warfare
Artificial Intelligence and Electronic Warfare
 

Testers Guide to the Illusions of Unit Testing

Editor's Notes

  1. Class
  2. Class
  3. Class
  4. Class
  5. Class
  6. use of a loader to set up a database… so the database needs to exist and be running on the environment the test is running in contents of the database can be changed by config changes our desired test behaviour is overriding some kinds of database lookup anyway
  7. use of a loader to set up a database… so the database needs to exist and be running on the environment the test is running in contents of the database can be changed by config changes our desired test behaviour is overriding some kinds of database lookup anyway
  8. Atomic - runs alone without needing other tests to run before or after. Excessively simplified to prove the point - the testMultiplyValue will fail if run alone, unless the class actually has “15” as a default value, in which case the first test is useless.
  9. Trustworthy - runs anywhere - dev machine, docker container, CI flow. Should not depend on external processes, particular paths etc.. setting up all the dependencies itself. This example seems straightforward, but will fail if the timezone is ‘America/Los_Angeles’ for example.
  10. Readable - can you work it out just by reading. This example fails on both fronts, with mixed tabs and spaces, inconsistent indents, poor variable naming, spelling issues and bad test names (to be fair to the author of the test I used as an example here, the formatting, variable names and spelling I’ve deliberately made much worse, but the original isn’t still hard to understand)
  11. Notes: Next, something much clearer: If you can clearly break your test up into these sections it will be more readable. 1,2 setup 3 execute 4 verify 5,6 teardown It seems obvious, but some of this often gets mixed up - and is not always clear.
  12. NO QUESTIONS, HAVE A BEER.