SlideShare ist ein Scribd-Unternehmen logo
1 von 45
Unit testing in practice Part I
Let's start
Unit test ,[object Object]
Unit testing  - What kind of monster is this ? ,[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],Unit testing  - What kind of monster is this ?
[object Object],[object Object],[object Object],Unit testing  - What kind of monster is this ?
[object Object],[object Object],[object Object],Unit testing  - What kind of monster is this ?
Unit testing  - What kind of monster is this ?
Unit testing  - What kind of monster is this ?
[object Object],Unit testing  - What kind of monster is this ?
[object Object],Unit testing  - What kind of monster is this ?
[object Object],Why is this happening? Unit testing  - What kind of monster is this ?
[object Object],Why does this happen? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Unit testing  - What kind of monster is this ?
[object Object],UNIT TESTING Unit testing  - What kind of monster is this ?
[object Object],[object Object],Unit testing - What kind of monster?
Unit testing - What's the point? ,[object Object]
Unit testing - What's the point? ,[object Object]
Unit testing - What's the point? ,[object Object]
Unit testing - What's the point? ,[object Object]
Unit testing - What's the point? ,[object Object],[object Object]
Unit testing - What's the point? ,[object Object],[object Object],[object Object],[object Object]
Unit testing - What's the point? ,[object Object],[object Object],[object Object],[object Object]
Unit testing - What's the point? ,[object Object],[object Object],[object Object],[object Object]
Unit testing - What's the point? ,[object Object],[object Object],[object Object],[object Object]
Unit testing - Who needs it? ,[object Object],[object Object],[object Object]
Unit testing - Who needs it? ,[object Object],[object Object]
Unit testing - what is the purpose? ,[object Object],[object Object],[object Object],[object Object],Edsger W. Dijkstra
Unit testing - what is the purpose? ,[object Object],[object Object],[object Object],[object Object],[object Object]
Unit testing - what is the purpose? ,[object Object],[object Object],[object Object],[object Object],[object Object]
Unit testing - what is the purpose? ,[object Object],[object Object],[object Object],[object Object]
Unit testing - what is the purpose? ,[object Object],[object Object],[object Object],[object Object],[object Object]
Unit testing - what is the purpose? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Unit testing - what is the purpose? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Unit testing - what is the purpose? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
We all have heard that unit tests: ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
So what is the problem?
So what is the problem? ,[object Object],[object Object]
Why is this happening? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Why is this happening? ,[object Object]
And all because ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Developers think... ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Management thinks... ,[object Object],[object Object],[object Object]
Management thinks... ,[object Object],[object Object],[object Object]
Unit Tests and You ,[object Object],[object Object],[object Object],[object Object],[object Object]
About me ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]

Weitere ähnliche Inhalte

Was ist angesagt?

Code Review: How and When
Code Review: How and WhenCode Review: How and When
Code Review: How and WhenPaul Gower
 
Java Code Quality Tools
Java Code Quality ToolsJava Code Quality Tools
Java Code Quality ToolsOrest Ivasiv
 
TDD — Are you sure you properly test code?
TDD — Are you sure you properly test code?TDD — Are you sure you properly test code?
TDD — Are you sure you properly test code?Dmitriy Nesteryuk
 
Code Review: How and When
Code Review: How and WhenCode Review: How and When
Code Review: How and WhenPaul Gower
 
I'm a TDD cheat and I'm not afraid to admit it
I'm a TDD cheat and I'm not afraid to admit itI'm a TDD cheat and I'm not afraid to admit it
I'm a TDD cheat and I'm not afraid to admit itDaniel Irvine
 
The problem with tdd
The problem with tddThe problem with tdd
The problem with tddDror Helper
 
Alexandru Bolboaca - Unit Testing from the Trenches
Alexandru Bolboaca - Unit Testing from the TrenchesAlexandru Bolboaca - Unit Testing from the Trenches
Alexandru Bolboaca - Unit Testing from the TrenchesMozaic Works
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven DevelopmentSamnang Chhun
 
Lập trình hướng kiểm thử - Test Driven development
Lập trình hướng kiểm thử - Test Driven developmentLập trình hướng kiểm thử - Test Driven development
Lập trình hướng kiểm thử - Test Driven developmentAnh Lê
 
Code Review Matters and Manners
Code Review Matters and MannersCode Review Matters and Manners
Code Review Matters and MannersTrisha Gee
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Developmentbhochhi
 
Why and how to keep your code quality
Why and how to keep your code quality Why and how to keep your code quality
Why and how to keep your code quality Krešimir Antolić
 

Was ist angesagt? (14)

Code Review: How and When
Code Review: How and WhenCode Review: How and When
Code Review: How and When
 
Java Code Quality Tools
Java Code Quality ToolsJava Code Quality Tools
Java Code Quality Tools
 
Code Quality
Code QualityCode Quality
Code Quality
 
TDD — Are you sure you properly test code?
TDD — Are you sure you properly test code?TDD — Are you sure you properly test code?
TDD — Are you sure you properly test code?
 
Code Review: How and When
Code Review: How and WhenCode Review: How and When
Code Review: How and When
 
I'm a TDD cheat and I'm not afraid to admit it
I'm a TDD cheat and I'm not afraid to admit itI'm a TDD cheat and I'm not afraid to admit it
I'm a TDD cheat and I'm not afraid to admit it
 
The problem with tdd
The problem with tddThe problem with tdd
The problem with tdd
 
Testing 101: Three Rules for Testing at Ombu Labs
Testing 101: Three Rules for Testing at Ombu Labs Testing 101: Three Rules for Testing at Ombu Labs
Testing 101: Three Rules for Testing at Ombu Labs
 
Alexandru Bolboaca - Unit Testing from the Trenches
Alexandru Bolboaca - Unit Testing from the TrenchesAlexandru Bolboaca - Unit Testing from the Trenches
Alexandru Bolboaca - Unit Testing from the Trenches
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
 
Lập trình hướng kiểm thử - Test Driven development
Lập trình hướng kiểm thử - Test Driven developmentLập trình hướng kiểm thử - Test Driven development
Lập trình hướng kiểm thử - Test Driven development
 
Code Review Matters and Manners
Code Review Matters and MannersCode Review Matters and Manners
Code Review Matters and Manners
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
 
Why and how to keep your code quality
Why and how to keep your code quality Why and how to keep your code quality
Why and how to keep your code quality
 

Andere mochten auch

LatJUG. Complete Idiots Guide2Android
LatJUG. Complete Idiots Guide2AndroidLatJUG. Complete Idiots Guide2Android
LatJUG. Complete Idiots Guide2Androiddenis Udod
 
LatJUG. Mar-2011
LatJUG. Mar-2011LatJUG. Mar-2011
LatJUG. Mar-2011denis Udod
 
Java. Exceptions - how to cook, how to eat.
Java. Exceptions - how to cook, how to eat.Java. Exceptions - how to cook, how to eat.
Java. Exceptions - how to cook, how to eat.denis Udod
 
Imagens Vernissage Residence Club
Imagens Vernissage Residence ClubImagens Vernissage Residence Club
Imagens Vernissage Residence ClubAlexandre Quadros
 
LatJUG. JPA2 Done Right
LatJUG. JPA2 Done RightLatJUG. JPA2 Done Right
LatJUG. JPA2 Done Rightdenis Udod
 
The Premium Club AT&T SportsDeck
The Premium Club AT&T SportsDeckThe Premium Club AT&T SportsDeck
The Premium Club AT&T SportsDeckMichelek8
 
Premium Club Brochure 2009 2010
Premium Club Brochure 2009 2010Premium Club Brochure 2009 2010
Premium Club Brochure 2009 2010Michelek8
 
LatJUG. Java Bytecode Fundamentals
LatJUG. Java Bytecode FundamentalsLatJUG. Java Bytecode Fundamentals
LatJUG. Java Bytecode Fundamentalsdenis Udod
 
JUG.LV What do you know about Logging?
JUG.LV What do you know about Logging?JUG.LV What do you know about Logging?
JUG.LV What do you know about Logging?denis Udod
 
LatJUG.Jun-2011
LatJUG.Jun-2011LatJUG.Jun-2011
LatJUG.Jun-2011denis Udod
 
LatJUG. Spring Roo
LatJUG. Spring RooLatJUG. Spring Roo
LatJUG. Spring Roodenis Udod
 
The Premium Club 2010
The Premium Club 2010The Premium Club 2010
The Premium Club 2010Michelek8
 
LatJUG. Google App Engine
LatJUG. Google App EngineLatJUG. Google App Engine
LatJUG. Google App Enginedenis Udod
 
LatJUG. JSF2.0 - The JavaEE6 Standard
LatJUG. JSF2.0 - The JavaEE6 StandardLatJUG. JSF2.0 - The JavaEE6 Standard
LatJUG. JSF2.0 - The JavaEE6 Standarddenis Udod
 
LatJUG Feb-2011
LatJUG Feb-2011LatJUG Feb-2011
LatJUG Feb-2011denis Udod
 

Andere mochten auch (17)

LatJUG. Complete Idiots Guide2Android
LatJUG. Complete Idiots Guide2AndroidLatJUG. Complete Idiots Guide2Android
LatJUG. Complete Idiots Guide2Android
 
LatJUG. Mar-2011
LatJUG. Mar-2011LatJUG. Mar-2011
LatJUG. Mar-2011
 
Java. Exceptions - how to cook, how to eat.
Java. Exceptions - how to cook, how to eat.Java. Exceptions - how to cook, how to eat.
Java. Exceptions - how to cook, how to eat.
 
Imagens Vernissage Residence Club
Imagens Vernissage Residence ClubImagens Vernissage Residence Club
Imagens Vernissage Residence Club
 
LatJUG. JPA2 Done Right
LatJUG. JPA2 Done RightLatJUG. JPA2 Done Right
LatJUG. JPA2 Done Right
 
The Premium Club AT&T SportsDeck
The Premium Club AT&T SportsDeckThe Premium Club AT&T SportsDeck
The Premium Club AT&T SportsDeck
 
Premium Club Brochure 2009 2010
Premium Club Brochure 2009 2010Premium Club Brochure 2009 2010
Premium Club Brochure 2009 2010
 
Evidence Qualitylife
Evidence QualitylifeEvidence Qualitylife
Evidence Qualitylife
 
LatJUG. Java Bytecode Fundamentals
LatJUG. Java Bytecode FundamentalsLatJUG. Java Bytecode Fundamentals
LatJUG. Java Bytecode Fundamentals
 
Elegance Freguesia
Elegance FreguesiaElegance Freguesia
Elegance Freguesia
 
JUG.LV What do you know about Logging?
JUG.LV What do you know about Logging?JUG.LV What do you know about Logging?
JUG.LV What do you know about Logging?
 
LatJUG.Jun-2011
LatJUG.Jun-2011LatJUG.Jun-2011
LatJUG.Jun-2011
 
LatJUG. Spring Roo
LatJUG. Spring RooLatJUG. Spring Roo
LatJUG. Spring Roo
 
The Premium Club 2010
The Premium Club 2010The Premium Club 2010
The Premium Club 2010
 
LatJUG. Google App Engine
LatJUG. Google App EngineLatJUG. Google App Engine
LatJUG. Google App Engine
 
LatJUG. JSF2.0 - The JavaEE6 Standard
LatJUG. JSF2.0 - The JavaEE6 StandardLatJUG. JSF2.0 - The JavaEE6 Standard
LatJUG. JSF2.0 - The JavaEE6 Standard
 
LatJUG Feb-2011
LatJUG Feb-2011LatJUG Feb-2011
LatJUG Feb-2011
 

Ähnlich wie Agile latvia evening_unit_testing_in_practice

iOS Test-Driven Development
iOS Test-Driven DevelopmentiOS Test-Driven Development
iOS Test-Driven DevelopmentPablo Villar
 
Unit testing
Unit testingUnit testing
Unit testingPiXeL16
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Developmentjakubkoci
 
I Smell A RAT- Rapid Application Testing
I Smell A RAT- Rapid Application TestingI Smell A RAT- Rapid Application Testing
I Smell A RAT- Rapid Application TestingPeter Presnell
 
TDD Walkthrough - Encryption
TDD Walkthrough - EncryptionTDD Walkthrough - Encryption
TDD Walkthrough - EncryptionPeterKha2
 
Software Testing Basic Concepts
Software Testing Basic ConceptsSoftware Testing Basic Concepts
Software Testing Basic Conceptswesovi
 
Day1 - TDD (Lecture SS 2015)
Day1 - TDD (Lecture SS 2015)Day1 - TDD (Lecture SS 2015)
Day1 - TDD (Lecture SS 2015)wolframkriesing
 
assertYourself - Breaking the Theories and Assumptions of Unit Testing in Flex
assertYourself - Breaking the Theories and Assumptions of Unit Testing in FlexassertYourself - Breaking the Theories and Assumptions of Unit Testing in Flex
assertYourself - Breaking the Theories and Assumptions of Unit Testing in Flexmichael.labriola
 
Getting started with Test Driven Development - Ferdous Mahmud Shaon
Getting started with Test Driven Development - Ferdous Mahmud ShaonGetting started with Test Driven Development - Ferdous Mahmud Shaon
Getting started with Test Driven Development - Ferdous Mahmud ShaonCefalo
 
Acceptance testfurureinmind
Acceptance testfurureinmindAcceptance testfurureinmind
Acceptance testfurureinmindLeanDog
 
An Introduction To Software Development - Test Driven Development, Part 1
An Introduction To Software Development - Test Driven Development, Part 1An Introduction To Software Development - Test Driven Development, Part 1
An Introduction To Software Development - Test Driven Development, Part 1Blue Elephant Consulting
 
How To Do Kick-Ass Software Development, by Sven Peters
How To Do Kick-Ass Software Development, by Sven PetersHow To Do Kick-Ass Software Development, by Sven Peters
How To Do Kick-Ass Software Development, by Sven PetersZeroTurnaround
 
Unit tests & TDD
Unit tests & TDDUnit tests & TDD
Unit tests & TDDDror Helper
 
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
 

Ähnlich wie Agile latvia evening_unit_testing_in_practice (20)

iOS Test-Driven Development
iOS Test-Driven DevelopmentiOS Test-Driven Development
iOS Test-Driven Development
 
Unit testing
Unit testingUnit testing
Unit testing
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
 
I Smell A RAT- Rapid Application Testing
I Smell A RAT- Rapid Application TestingI Smell A RAT- Rapid Application Testing
I Smell A RAT- Rapid Application Testing
 
TDD and Getting Paid
TDD and Getting PaidTDD and Getting Paid
TDD and Getting Paid
 
Tdd - introduction
Tdd - introductionTdd - introduction
Tdd - introduction
 
TDD Walkthrough - Encryption
TDD Walkthrough - EncryptionTDD Walkthrough - Encryption
TDD Walkthrough - Encryption
 
Let's test!
Let's test!Let's test!
Let's test!
 
Unit Testing
Unit TestingUnit Testing
Unit Testing
 
Software Testing Basic Concepts
Software Testing Basic ConceptsSoftware Testing Basic Concepts
Software Testing Basic Concepts
 
Day1 - TDD (Lecture SS 2015)
Day1 - TDD (Lecture SS 2015)Day1 - TDD (Lecture SS 2015)
Day1 - TDD (Lecture SS 2015)
 
assertYourself - Breaking the Theories and Assumptions of Unit Testing in Flex
assertYourself - Breaking the Theories and Assumptions of Unit Testing in FlexassertYourself - Breaking the Theories and Assumptions of Unit Testing in Flex
assertYourself - Breaking the Theories and Assumptions of Unit Testing in Flex
 
Getting started with Test Driven Development - Ferdous Mahmud Shaon
Getting started with Test Driven Development - Ferdous Mahmud ShaonGetting started with Test Driven Development - Ferdous Mahmud Shaon
Getting started with Test Driven Development - Ferdous Mahmud Shaon
 
Acceptance testfurureinmind
Acceptance testfurureinmindAcceptance testfurureinmind
Acceptance testfurureinmind
 
An Introduction To Software Development - Test Driven Development, Part 1
An Introduction To Software Development - Test Driven Development, Part 1An Introduction To Software Development - Test Driven Development, Part 1
An Introduction To Software Development - Test Driven Development, Part 1
 
How To Do Kick-Ass Software Development, by Sven Peters
How To Do Kick-Ass Software Development, by Sven PetersHow To Do Kick-Ass Software Development, by Sven Peters
How To Do Kick-Ass Software Development, by Sven Peters
 
Unit tests & TDD
Unit tests & TDDUnit tests & TDD
Unit tests & TDD
 
Getting started with Test Driven Development
Getting started with Test Driven DevelopmentGetting started with Test Driven Development
Getting started with Test Driven Development
 
TDD a piccoli passi
TDD a piccoli passiTDD a piccoli passi
TDD a piccoli passi
 
클린 테스트
클린 테스트클린 테스트
클린 테스트
 

Kürzlich hochgeladen

Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
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
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
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
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 

Kürzlich hochgeladen (20)

Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
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
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
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
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 

Agile latvia evening_unit_testing_in_practice

  • 1. Unit testing in practice Part I
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8. Unit testing - What kind of monster is this ?
  • 9. Unit testing - What kind of monster is this ?
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36. So what is the problem?
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.

Hinweis der Redaktion

  1. И Так, начнем
  2. Немного теории /не будет лишним/ Unit-тестирование: что такое это такое? (в java) кому оно нужно? для чего оно нужно? у нас не будет bug’ов? unit-тестирование, что  это такое?  Unit test - что за зверь? :)  Где его найти,  как поймать,  приручить,  чем кормить как ухаживать? Если вы программист, то вы "скорее всего" пишете придумываете как с помощью кода реализовать то, что от вас просят.... Если вы манаджер , то вы "скорее всего" вы пытаетесь понять что же там напридумывали программисты и когда это кончится Факт 1  Программисты пишут код.      Ну если более развернуто, то с помощью доступных инструментов, техник, технологий, процессов создают РЕШЕНИЯ       которые удовлетворят требованиям     поставленной задачи. Факт 2 . Каждый раз код уникален.      Но:     Код не произведение искусства.          он не предназначен для того, что бы им восхищались...      Хотя  встречаются   "гении программирования", которые пишут код для того что бы им любоваться.          - Смотрите, какую я тут финтифлюшку прилепит. Факт 3 . Код предназначен для выполнения сугубо практических вещей.      Т.е. его главная задача это выполнять то, для чего он предназначен, и выполнять хорошо.
  3. Факт 1 Программисты пишут код. ------------------------- Ну если более развернуто, то с помощью доступных инструментов, техник, технологий, процессов создают РЕШЕНИЯ которые удовлетворят требованиям поставленной задачи.
  4. Факт 2 . Каждый раз код уникален. Но: Код не произведение искусства. он не предназначен для того, что бы им восхищались... Хотя встречаются   "гении программирования", которые пишут код для того что бы им любоваться. - Смотрите, какую я тут финтифлюшку прилепит.
  5. Факт 3 . Код предназначен для выполнения сугубо практических вещей. Т.е. его главная задача это выполнять то, для чего он предназначен, и выполнять хорошо.
  6. .Т.е. его главная задача это выполнять то, для чего он предназначен, и выполнять хорошо
  7. Нам нужен СТЕНД для тестирования нашего кода Самый простой способ тестировать код: - использовать те же приемы - использовать те же инструменты - использовать тот же язык - не менять контекст ТЕСТИРОВАТЬ КОД С ПОМОЩЬЮ КОДА.
  8. Самый простой способ тестировать код: - использовать те же приемы - использовать те же инструменты - использовать тот же язык - не менять контекст ТЕСТИРОВАТЬ КОД С ПОМОЩЬЮ КОДА.
  9. Формальное  определение “что такое тестирование” вы всегда можете найти в интернете. Если вы хотите узнать "ОБ ЭТОМ" более глубоко, вы всегда можете воспользоваться услугами Google, etc Вы всегда сможете найти все о нем во много раз больше, чем я смогу вам рассказать :-) Если не пробовали поискать его описание, то самое время это сделать. Что ВАЖНО? Важно что бы “ваше” понимание тестирования совпадало с пониманием тестирования “команды” в которой вы работаете.  
  10. 1. Идея состоит в том, чтобы писать тесты для каждого нетривиального метода.  Важно не пропустить  "простые" и  "тесты"
  11. 1. Идея состоит в том, чтобы писать тесты для каждого нетривиального метода.  Важно не пропустить  "простые" и  "тесты"
  12. 1. Идея состоит в том, чтобы писать тесты для каждого нетривиального метода.  Важно не пропустить  "простые" и  "тесты"
  13. 2. Это позволяет достаточно быстро проверить, не привело ли очередное изменение кода к появлению ошибок в уже написанных и оттестированных местах программы, а также облегчает обнаружение и устранение таких ошибок.
  14. В чем "фишка" ? мы не боимся не боимся сломать код не боимся сломать ЧУЖОЙ код  не боимся что кто-то сломал НАШ код
  15. 2. Но, если вы считаете что это не для ВАС, то с помощью unit-тестов, вы ВСЕМ СМОЖЕТЕ доказать, что unit-тестирование бесполезно и вам совершенно не нужно. 3. И у ВАС это обязательно получится. 4. /особенно если вы доказываете это самому себе/
  16. 1. Если вам нужно, что бы ваш код не разваливался от любого прикосновения, что бы вы были уверенны в своем коде, то это МОЖЕТ БЫТЬ для вас :)
  17. 1. Так что-же, те, кто говорят, что с помощью unit тестов не найти все bug’и оно не нежно правы? ДА - если смотреть на unit тестирование как на демонстрацию отсутствия bug’ов
  18. 2. НЕТ - если смотреть на unit  тестирование как на часть процесса программирования. «Тестирование программ может использоваться для демонстрации наличия ошибок, но оно никогда не покажет их отсутствие.» Edsger Wybe Dijkstra, 1970 г. /Дейкстра/   К сожалению, существующие на сегодняшний день методы тестирования ПО  не позволяют однозначно и полностью найти все дефекты и ошибки, установить корректность функционирования программы. 
  19. Самое-ли это неприятное, что может случится с вашим кодом, программой, во время процесса разработки? 
  20. ваш код может навевать ужас на того, кто с ним соприкасается.....
  21. ваш код может навевать ужас на того, кто с ним соприкасается.....
  22. ваш код может навевать ужас на того, кто с ним соприкасается.....
  23. ваш код может навевать ужас на того, кто с ним соприкасается.....
  24. ваш код может навевать ужас на того, кто с ним соприкасается.....
  25. Мы все с вами прекрасно знаем, что unit-тесты: reduce bugs in new features (catch stupid mistakes early) reduce bugs in existings features reduce the cost of change improve design (попробуйте написать тесты на плохой дизайн - у вас не получится) allow refactoring force you to slow_down_and_think (заставляет вас не торопиться и ДУМАТЬ) makes development facter and fun (если что-то не работает вы узнаете об этом раньше всех, и никто не ткнет вам   в вашу глупую ошибку) reduce fear fear to change fear to breakage fear of update fear of incompatibility fear of deadlines fear of indictment of lack of skills 1. Тесты предотвращают появления ошибок позволяют выявлять ошибки сразу дают уверенность в том, что код работоспособен 4. Тесты улучшают дизайн кода заставляют проводить маленькие изменения простой код лучше приспособлен к тестированию уменьшают связанность кода 2. Рефакторинг(изменение кода) без головной боли маленькие изменения - тест, если сломали - сразу легко исправить анти-вандализм (уверенность) 6. Ускоряют процесс разработки. снижение времени на отладку(debuging) параллельная работа, общее владение кодом уверенно вносить изменения (а не безрассудно) 3. Тесты как документация 5. Повышает квалификацию разработчика  
  26. Почему наши "прекрасно задуманные" шедевры под конец разработки превращаются в глиняные статуи о тысячи подпорках? Забываем о unit-тестах. Но что в замен? Почему-же чаще получается примерно как-то так: DEV: “Мы строили-строили  и наконец построили” Customer: “А когда увидели что построили, чуть с ума не сошли” User: “Лучше бы я умер вчера....” Почему про unit тестирование мы говорим - фигня, мы потом.... , а когда наступает потом мы плачем перед релизом от того что все разваливается от дуновения junior java developer’a?
  27. В чем проблема? We don’t have time to write test. 20% write new code - 80% mantance and bug fixing or creatively We could be coding new features instead 20% fun coding - 80% annoying cap (раздражающее дерьмо) У нас нету времени, мы и так только 20% времени тратим на новый функционал, а вы еще предлагаете писать unit тесты.
  28. Почему так? ваш код не работает (а вы об этом не знаете) кто-то сломал ваш код (и об этом вы не знаете) вы сломали чей то код (и никто об этом не знает) А почему так?   ваш код не работает (а вы об этом не знаете) кто-то сломал ваш код (и об этом вы не знаете) вы сломали чей то код (и никто об этом не знает) А почему так?  
  29. Существует множество "отговорок", что бы не использовать unit - тестирование. Разрушая одни заблуждения, человек создаёт другие заблуждения. Заблуждения, заключающие в себе некоторую долю правды, - самые опасные
  30. А почему так? А все по потому, что ”We don’t have time.....” В действительности-же вы просто не хотите ничего менять, вас все устраивает, вам и так хорошо...  Так что-же вы скулите, когда проект разваливается? We don’t have time to learn how to do it/do it well. We want to write REAL CODE NOW!. Во имя эффективности совершается больше грехов, чем из-за любой другой причины, включая глупость.  
  31. ? "box" session
  32. ? "box" session
  33. How to start unit testing alone.
  34. 1.  Как зовут, где найти, как связаться/найти. 2. Если в процессе тренинга у вас возникают вопросы, не стесняйтесь останавливайте меня, и задавайте их.  3. Если у вас другое мнение о рассматриваемой теме, прошу делится им со всеми. 4. Ну и прошу держатся в рамках тренинга