SlideShare uma empresa Scribd logo
1 de 35
“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

Mais conteúdo relacionado

Mais procurados

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 testIECP
 
QFT in practise
QFT in practiseQFT in practise
QFT in practisesurridgeer
 
Say Something
Say SomethingSay Something
Say SomethingSandyNess
 
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 Practicesmmcroberts
 

Mais procurados (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
 

Semelhante a 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 TestingAsh Winter
 
Design, Create, Evaluate Process (1).pptx
Design, Create, Evaluate Process (1).pptxDesign, Create, Evaluate Process (1).pptx
Design, Create, Evaluate Process (1).pptxLe 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 2017Alan Richardson
 
Bad metric, bad! - Joseph Ours
Bad metric, bad! - Joseph OursBad metric, bad! - Joseph Ours
Bad metric, bad! - Joseph OursQA or the Highway
 
Social Human Architecture for Beginners
Social Human Architecture for BeginnersSocial Human Architecture for Beginners
Social Human Architecture for BeginnersSebastian Schürmann
 
"Worst" practices of software testing
"Worst" practices of software testing"Worst" practices of software testing
"Worst" practices of software testingViktor Slavchev
 
Passionate Partnering, for Testers
Passionate Partnering, for TestersPassionate Partnering, for Testers
Passionate Partnering, for TestersSQALab
 
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 ChangeAgileNZ Conference
 
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 2asuthgb
 
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.pptCaineTeoGenVee
 
The 4-hour Tester Experiment
The 4-hour Tester ExperimentThe 4-hour Tester Experiment
The 4-hour Tester ExperimentHelena 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 Pres2GerryNicolaas
 
Games User Research by Valen
Games User Research by ValenGames User Research by Valen
Games User Research by ValenAgate Studio
 
The Axioms of Testing
The Axioms of TestingThe Axioms of Testing
The Axioms of TestingPaul 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 2018Paul 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 ManagementUXPA International
 
Usability Testing Popup Lab Workshop
Usability Testing Popup Lab WorkshopUsability Testing Popup Lab Workshop
Usability Testing Popup Lab WorkshopCate Kompare
 

Semelhante a 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
 

Mais de Ash Winter

Testability Advocacy Canvas
Testability Advocacy CanvasTestability Advocacy Canvas
Testability Advocacy CanvasAsh Winter
 
Testability Sales Pitch
Testability Sales PitchTestability Sales Pitch
Testability Sales PitchAsh 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 BarcelonaAsh Winter
 
Testability Squad Health Check
Testability Squad Health CheckTestability Squad Health Check
Testability Squad Health CheckAsh Winter
 
Testability is Everyone's Responsibility
Testability is Everyone's ResponsibilityTestability is Everyone's Responsibility
Testability is Everyone's ResponsibilityAsh Winter
 
10 P's of Testability
10 P's of Testability10 P's of Testability
10 P's of TestabilityAsh Winter
 
The Wheel of Testing
The Wheel of TestingThe Wheel of Testing
The Wheel of TestingAsh Winter
 
Making testability our mission
Making testability our missionMaking testability our mission
Making testability our missionAsh Winter
 
Testing Below the Application
Testing Below the ApplicationTesting Below the Application
Testing Below the ApplicationAsh Winter
 
Shift Testability
Shift TestabilityShift Testability
Shift TestabilityAsh Winter
 
Part of the Pipeline
Part of the PipelinePart of the Pipeline
Part of the PipelineAsh Winter
 
Scroll Based Testing Strategy
Scroll Based Testing StrategyScroll Based Testing Strategy
Scroll Based Testing StrategyAsh Winter
 
Bullseye or The Testing Wheel
Bullseye or The Testing WheelBullseye or The Testing Wheel
Bullseye or The Testing WheelAsh Winter
 
Ash_Winter-DEWT7_V1
Ash_Winter-DEWT7_V1Ash_Winter-DEWT7_V1
Ash_Winter-DEWT7_V1Ash Winter
 
Ash_Winter-Forgotten-ility_V1
Ash_Winter-Forgotten-ility_V1Ash_Winter-Forgotten-ility_V1
Ash_Winter-Forgotten-ility_V1Ash Winter
 
Main Talk v1.1
Main Talk v1.1Main Talk v1.1
Main Talk v1.1Ash Winter
 
Turbo Mindmapping Your App
Turbo Mindmapping Your AppTurbo Mindmapping Your App
Turbo Mindmapping Your AppAsh Winter
 
NWEWT_Slides_Ash_Winter_04_2016
NWEWT_Slides_Ash_Winter_04_2016NWEWT_Slides_Ash_Winter_04_2016
NWEWT_Slides_Ash_Winter_04_2016Ash Winter
 
Coaching Model for Unrecognised Internal Models
Coaching Model for Unrecognised Internal ModelsCoaching Model for Unrecognised Internal Models
Coaching Model for Unrecognised Internal ModelsAsh Winter
 
Ash_Winter_Tested_to_Death
Ash_Winter_Tested_to_DeathAsh_Winter_Tested_to_Death
Ash_Winter_Tested_to_DeathAsh Winter
 

Mais de 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
 

Último

WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 

Último (20)

WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 

Testers Guide to the Illusions of Unit Testing

Notas do Editor

  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.