SlideShare ist ein Scribd-Unternehmen logo
1 von 17
Downloaden Sie, um offline zu lesen
Why don’t
developers
test?
Audience: leads, developers
Yuriy Chulovskyy
yuriy.chulovskyy@gmail.com
http://www.linkedin.com/in/yuriychulovskyy
https://github.com/ychulovskyy/desires
8+ years of software
development experience
3+ years experience in team
leading
10 commercial projects
Issues with tests
Inspiration
Analysis
Q&A (any time)
What issues with tests did you meet?
Inspired by…
John Sonmez
http://simpleprogrammer.co
m/2010/12/12/back-to-
basics-why-unit-testing-is-
hard/
http://www.lektorium.tv/lectu
re/?id=14264
Maxim DorofeevSimaon Sinek
http://www.youtube.com/
watch?v=u4ZoJKF_VuA
Why? How? What?
How?
• Check that changes works as expected
• Check nothing is broken
Do mentioned items in a few seconds
Why?
• Write tests for new/changed functionality
• Support test
• Run tests locally to verify your changes
• Run tests at CI server to control general picture
What to do?
Developers rarely write
tests for new
functionality
Tests have low priority
Datasets in XML files Many test fails
Tests are not part of
“Definition of Done”
Developers do not use
tests to check their
changes locally
Tests are not supported
That is why
Hard to localize the issue
Hard to support tests
Unclear reason of test
failure: changed or
broken functionality?
Test suite contains of 3 parts:
1) tests that prepare data
2) tests that do manipulation
3) tests that validate results
Bad test structure
Hard to extend “best
practices” to all teams
Unknown correct behavior
No time to create “Gold
test definition”
Unclear which test suite
to run to verify the
changes
Running all the test locally
will take 10 hours and do
not provide “diffs”
No mapping like
“feature – test suite”
Nobody is responsible
for this
Cannot run tests from IDE
No unit test, only
regression tests
Nobody writes unit tests
It’s easier to write integ-
ration tests than use Mocks
We have no experience in
Mocks
All items have high coupling
Bad design
No time for planning
Nobody is responsible for reviewing
test results from CI on daily basis and
assigning tasks to fix the failures
Developers do
not use tests to
check their
changes locally
Developers rarely
write tests for
new functionality
Tests are not
supported
Tests are not
part of
“Definition
of Done”
That is why
Tests have low
priority
Do we write tests for new functionality?
Developers do not use
tests to check their
changes locally
Tests are not
supported
Many tests
fails
Hard to
support tests
Test is low
priority item
Hard to localize
the issue
Test suite contains of 3 parts:
1) tests that prepare data
2) tests that do manipulation
3) tests that validate results
Do we support tests?
Unclear reason of test
failure: changed or
broken functionality?
Datasets in
XML files
Unknown correct
behavior
Bad test structure
Do we support tests?
No time to create
“Gold test definition”
Hard to extend
“best practices” to
all teams
Do we use tests to verify local changes?
Developers do
not use tests to
check their
changes locally
Developers rarely
write tests for
new functionality
Tests are not
supported
That is why
Many tests fails
Unclear which test suite to
run to verify the changes
Running all the test locally
will take 10 hours and do
not provide “diffs”
No mapping like
“feature – test suite”
Do we use tests to verify local changes?
Nobody is
responsible for this
Cannot run tests from IDE
No unit test, only regression tests
Nobody writes unit tests
We have no
experience in
Mocks
It’s easier to
write integ-
ration tests than
use Mocks
All items have
high coupling
Bad design
No time for
planning
Do we use tests to verify all changes?
Many tests fails
Nobody is responsible for
reviewing test results on daily
basis and assigning tasks to fix
the failures
Technical Environment Social
We have no experience in
Mocks
Cannot run tests from IDE Tests are not part of
“Definition of Done”
It’s easier to write
integration tests than use
Mocks
Test suite contains of 3
parts: test to setup data,
tests to do manipulation,
tests to verify data
No time to create “Gold test
definition”
Unclear reason of test
failure: changed or broken
functionality?
Hard to extend “best
practices” to all teams
Unclear which test suite to
run to verify the changes
Tests have low priority
Many tests fails Nobody is responsible for
reviewing test results on
daily basis and assigning
tasks to fix the failures
Datasets in XML No mapping like “feature –
test suite”
Let’s try this
technique for
your project?

Weitere ähnliche Inhalte

Was ist angesagt?

Reliable tests with selenium web driver
Reliable tests with selenium web driverReliable tests with selenium web driver
Reliable tests with selenium web driver
PawelPabich
 
测试向前一步
测试向前一步测试向前一步
测试向前一步
drewz lin
 

Was ist angesagt? (20)

First steps in testing analytics: Does test code quality matter?
First steps in testing analytics: Does test code quality matter?First steps in testing analytics: Does test code quality matter?
First steps in testing analytics: Does test code quality matter?
 
Things Could Get Worse: Ideas About Regression Testing
Things Could Get Worse: Ideas About Regression TestingThings Could Get Worse: Ideas About Regression Testing
Things Could Get Worse: Ideas About Regression Testing
 
Tips for Writing Better Charters for Exploratory Testing Sessions by Michael...
 Tips for Writing Better Charters for Exploratory Testing Sessions by Michael... Tips for Writing Better Charters for Exploratory Testing Sessions by Michael...
Tips for Writing Better Charters for Exploratory Testing Sessions by Michael...
 
Test Strategy-The real silver bullet in testing by Matthew Eakin
Test Strategy-The real silver bullet in testing by Matthew EakinTest Strategy-The real silver bullet in testing by Matthew Eakin
Test Strategy-The real silver bullet in testing by Matthew Eakin
 
Reliable tests with selenium web driver
Reliable tests with selenium web driverReliable tests with selenium web driver
Reliable tests with selenium web driver
 
Peer review
Peer reviewPeer review
Peer review
 
Creating change from within - Agile Practitioners 2012
Creating change from within - Agile Practitioners 2012Creating change from within - Agile Practitioners 2012
Creating change from within - Agile Practitioners 2012
 
Exploratory testing using heuristics
Exploratory testing using heuristicsExploratory testing using heuristics
Exploratory testing using heuristics
 
Exploratory testing workshop
Exploratory testing workshopExploratory testing workshop
Exploratory testing workshop
 
What is this exploratory testing thing
What is this exploratory testing thingWhat is this exploratory testing thing
What is this exploratory testing thing
 
Exploratory Testing
Exploratory TestingExploratory Testing
Exploratory Testing
 
Claudiu Draghia ITEM 2018
Claudiu Draghia ITEM 2018Claudiu Draghia ITEM 2018
Claudiu Draghia ITEM 2018
 
Regression Testing: Down the Rabbit Hole (MEWT 2014)
Regression Testing: Down the Rabbit Hole (MEWT 2014)Regression Testing: Down the Rabbit Hole (MEWT 2014)
Regression Testing: Down the Rabbit Hole (MEWT 2014)
 
TestWorksConf: Experience exploratory testing
TestWorksConf: Experience exploratory testingTestWorksConf: Experience exploratory testing
TestWorksConf: Experience exploratory testing
 
Exploratory test
Exploratory testExploratory test
Exploratory test
 
测试向前一步
测试向前一步测试向前一步
测试向前一步
 
Exploratory Testing Explained
Exploratory Testing ExplainedExploratory Testing Explained
Exploratory Testing Explained
 
Hey You Got Your TDD in my SQL DB by Jeff McKenzie
Hey You Got Your TDD in my SQL DB by Jeff McKenzieHey You Got Your TDD in my SQL DB by Jeff McKenzie
Hey You Got Your TDD in my SQL DB by Jeff McKenzie
 
Santa Barbara Agile: Exploratory Testing Explained and Experienced
Santa Barbara Agile: Exploratory Testing Explained and ExperiencedSanta Barbara Agile: Exploratory Testing Explained and Experienced
Santa Barbara Agile: Exploratory Testing Explained and Experienced
 
JIT Feedback — what Experienced Developers like about Static Analysis (icpc2018)
JIT Feedback — what Experienced Developers like about Static Analysis (icpc2018)JIT Feedback — what Experienced Developers like about Static Analysis (icpc2018)
JIT Feedback — what Experienced Developers like about Static Analysis (icpc2018)
 

Andere mochten auch

Joomla 3. Що нового для розробників у новій версії - Віталій Маренков
Joomla 3. Що нового для розробників у новій версії - Віталій МаренковJoomla 3. Що нового для розробників у новій версії - Віталій Маренков
Joomla 3. Що нового для розробників у новій версії - Віталій Маренков
Igor Bronovskyy
 
09 - express nodes on the right angle - vitaliy basyuk - it event 2013 (5)
09 - express nodes on the right angle - vitaliy basyuk - it event 2013 (5)09 - express nodes on the right angle - vitaliy basyuk - it event 2013 (5)
09 - express nodes on the right angle - vitaliy basyuk - it event 2013 (5)
Igor Bronovskyy
 

Andere mochten auch (8)

Joomla 3. Що нового для розробників у новій версії - Віталій Маренков
Joomla 3. Що нового для розробників у новій версії - Віталій МаренковJoomla 3. Що нового для розробників у новій версії - Віталій Маренков
Joomla 3. Що нового для розробників у новій версії - Віталій Маренков
 
11 - rozrobka prohramnoho zabezpechennia dlia vbudovanykh system - dmytro and...
11 - rozrobka prohramnoho zabezpechennia dlia vbudovanykh system - dmytro and...11 - rozrobka prohramnoho zabezpechennia dlia vbudovanykh system - dmytro and...
11 - rozrobka prohramnoho zabezpechennia dlia vbudovanykh system - dmytro and...
 
Протокол IP v.6: кожному по 300 млн. IP адрес - Сергій Шуляр
Протокол  IP v.6: кожному по 300 млн. IP адрес - Сергій ШулярПротокол  IP v.6: кожному по 300 млн. IP адрес - Сергій Шуляр
Протокол IP v.6: кожному по 300 млн. IP адрес - Сергій Шуляр
 
15 - sphinx - efektyvnyi povnotekstovyi poshuk - marian koreniuk - it event 2...
15 - sphinx - efektyvnyi povnotekstovyi poshuk - marian koreniuk - it event 2...15 - sphinx - efektyvnyi povnotekstovyi poshuk - marian koreniuk - it event 2...
15 - sphinx - efektyvnyi povnotekstovyi poshuk - marian koreniuk - it event 2...
 
12 - gradle. evoliutsiia system avtomatychnoi zbirky - sviatoslav babych - it...
12 - gradle. evoliutsiia system avtomatychnoi zbirky - sviatoslav babych - it...12 - gradle. evoliutsiia system avtomatychnoi zbirky - sviatoslav babych - it...
12 - gradle. evoliutsiia system avtomatychnoi zbirky - sviatoslav babych - it...
 
07 - vysnovky z tdd, pohliad pochatkivtsia - vitalii zinchenko it event 2013...
07 -  vysnovky z tdd, pohliad pochatkivtsia - vitalii zinchenko it event 2013...07 -  vysnovky z tdd, pohliad pochatkivtsia - vitalii zinchenko it event 2013...
07 - vysnovky z tdd, pohliad pochatkivtsia - vitalii zinchenko it event 2013...
 
01 an environment for application development tools that help you keep it t...
01   an environment for application development tools that help you keep it t...01   an environment for application development tools that help you keep it t...
01 an environment for application development tools that help you keep it t...
 
09 - express nodes on the right angle - vitaliy basyuk - it event 2013 (5)
09 - express nodes on the right angle - vitaliy basyuk - it event 2013 (5)09 - express nodes on the right angle - vitaliy basyuk - it event 2013 (5)
09 - express nodes on the right angle - vitaliy basyuk - it event 2013 (5)
 

Ähnlich wie 03 - chomu prohramisty ne testuiut - yurii chulovskyi - it event 2013 (5)

Software testing 2012 - A Year in Review
Software testing 2012 - A Year in ReviewSoftware testing 2012 - A Year in Review
Software testing 2012 - A Year in Review
Johan Hoberg
 
Curiosity Software Presents: Modelling for Continuous Testing
Curiosity Software Presents: Modelling for Continuous TestingCuriosity Software Presents: Modelling for Continuous Testing
Curiosity Software Presents: Modelling for Continuous Testing
Curiosity Software Ireland
 
Testing and TDD - KoJUG
Testing and TDD - KoJUGTesting and TDD - KoJUG
Testing and TDD - KoJUG
lburdz
 

Ähnlich wie 03 - chomu prohramisty ne testuiut - yurii chulovskyi - it event 2013 (5) (20)

Unit Testing, TDD and the Walking Skeleton
Unit Testing, TDD and the Walking SkeletonUnit Testing, TDD and the Walking Skeleton
Unit Testing, TDD and the Walking Skeleton
 
Software testing 2012 - A Year in Review
Software testing 2012 - A Year in ReviewSoftware testing 2012 - A Year in Review
Software testing 2012 - A Year in Review
 
Course Slides.pdf
Course Slides.pdfCourse Slides.pdf
Course Slides.pdf
 
Solving the 3 Biggest Questions in Continuous Testing
Solving the 3 Biggest Questions in Continuous TestingSolving the 3 Biggest Questions in Continuous Testing
Solving the 3 Biggest Questions in Continuous Testing
 
Curiosity Software Presents: Modelling for Continuous Testing
Curiosity Software Presents: Modelling for Continuous TestingCuriosity Software Presents: Modelling for Continuous Testing
Curiosity Software Presents: Modelling for Continuous Testing
 
Testing in the Wild
Testing in the WildTesting in the Wild
Testing in the Wild
 
Agile Mëtteg #5: Agile Testing
Agile Mëtteg #5: Agile TestingAgile Mëtteg #5: Agile Testing
Agile Mëtteg #5: Agile Testing
 
Ch14
Ch14Ch14
Ch14
 
Project Management in 3 Slides
Project Management in 3 SlidesProject Management in 3 Slides
Project Management in 3 Slides
 
ISTQB / ISEB Foundation Exam Practice - 5
ISTQB / ISEB Foundation Exam Practice - 5ISTQB / ISEB Foundation Exam Practice - 5
ISTQB / ISEB Foundation Exam Practice - 5
 
Testing and TDD - KoJUG
Testing and TDD - KoJUGTesting and TDD - KoJUG
Testing and TDD - KoJUG
 
Making the Unstable Stable - An Intro To Testing
Making the Unstable Stable - An Intro To TestingMaking the Unstable Stable - An Intro To Testing
Making the Unstable Stable - An Intro To Testing
 
Agile Acceptance testing with Fitnesse
Agile Acceptance testing with FitnesseAgile Acceptance testing with Fitnesse
Agile Acceptance testing with Fitnesse
 
utplsql.pdf
utplsql.pdfutplsql.pdf
utplsql.pdf
 
TLC2018 Shyam Sunder: Legoizing Testing
TLC2018 Shyam Sunder: Legoizing TestingTLC2018 Shyam Sunder: Legoizing Testing
TLC2018 Shyam Sunder: Legoizing Testing
 
5 reasons you'll love to hate Agile Development
5 reasons you'll love to hate Agile Development5 reasons you'll love to hate Agile Development
5 reasons you'll love to hate Agile Development
 
NYC MeetUp 10.9
NYC MeetUp 10.9NYC MeetUp 10.9
NYC MeetUp 10.9
 
Automated Testing with Logic Apps and Specflow
Automated Testing with Logic Apps and SpecflowAutomated Testing with Logic Apps and Specflow
Automated Testing with Logic Apps and Specflow
 
Software presentation
Software presentationSoftware presentation
Software presentation
 
Creating testing tools to support development
Creating testing tools to support developmentCreating testing tools to support development
Creating testing tools to support development
 

Kürzlich hochgeladen

The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
heathfieldcps1
 

Kürzlich hochgeladen (20)

REMIFENTANIL: An Ultra short acting opioid.pptx
REMIFENTANIL: An Ultra short acting opioid.pptxREMIFENTANIL: An Ultra short acting opioid.pptx
REMIFENTANIL: An Ultra short acting opioid.pptx
 
Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...
 
Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)
 
Python Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxPython Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docx
 
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
 
Single or Multiple melodic lines structure
Single or Multiple melodic lines structureSingle or Multiple melodic lines structure
Single or Multiple melodic lines structure
 
Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan Fellows
 
Unit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxUnit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptx
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.ppt
 
How to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptxHow to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptx
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptx
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
 
Fostering Friendships - Enhancing Social Bonds in the Classroom
Fostering Friendships - Enhancing Social Bonds  in the ClassroomFostering Friendships - Enhancing Social Bonds  in the Classroom
Fostering Friendships - Enhancing Social Bonds in the Classroom
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 
Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibit
 
Jamworks pilot and AI at Jisc (20/03/2024)
Jamworks pilot and AI at Jisc (20/03/2024)Jamworks pilot and AI at Jisc (20/03/2024)
Jamworks pilot and AI at Jisc (20/03/2024)
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptxHMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
 

03 - chomu prohramisty ne testuiut - yurii chulovskyi - it event 2013 (5)

  • 2. Yuriy Chulovskyy yuriy.chulovskyy@gmail.com http://www.linkedin.com/in/yuriychulovskyy https://github.com/ychulovskyy/desires 8+ years of software development experience 3+ years experience in team leading 10 commercial projects
  • 4. What issues with tests did you meet?
  • 7. How? • Check that changes works as expected • Check nothing is broken Do mentioned items in a few seconds Why?
  • 8. • Write tests for new/changed functionality • Support test • Run tests locally to verify your changes • Run tests at CI server to control general picture What to do?
  • 9. Developers rarely write tests for new functionality Tests have low priority Datasets in XML files Many test fails Tests are not part of “Definition of Done” Developers do not use tests to check their changes locally Tests are not supported That is why Hard to localize the issue Hard to support tests Unclear reason of test failure: changed or broken functionality? Test suite contains of 3 parts: 1) tests that prepare data 2) tests that do manipulation 3) tests that validate results Bad test structure Hard to extend “best practices” to all teams Unknown correct behavior No time to create “Gold test definition” Unclear which test suite to run to verify the changes Running all the test locally will take 10 hours and do not provide “diffs” No mapping like “feature – test suite” Nobody is responsible for this Cannot run tests from IDE No unit test, only regression tests Nobody writes unit tests It’s easier to write integ- ration tests than use Mocks We have no experience in Mocks All items have high coupling Bad design No time for planning Nobody is responsible for reviewing test results from CI on daily basis and assigning tasks to fix the failures
  • 10. Developers do not use tests to check their changes locally Developers rarely write tests for new functionality Tests are not supported Tests are not part of “Definition of Done” That is why Tests have low priority Do we write tests for new functionality?
  • 11. Developers do not use tests to check their changes locally Tests are not supported Many tests fails Hard to support tests Test is low priority item Hard to localize the issue Test suite contains of 3 parts: 1) tests that prepare data 2) tests that do manipulation 3) tests that validate results Do we support tests? Unclear reason of test failure: changed or broken functionality? Datasets in XML files
  • 12. Unknown correct behavior Bad test structure Do we support tests? No time to create “Gold test definition” Hard to extend “best practices” to all teams
  • 13. Do we use tests to verify local changes? Developers do not use tests to check their changes locally Developers rarely write tests for new functionality Tests are not supported That is why Many tests fails Unclear which test suite to run to verify the changes Running all the test locally will take 10 hours and do not provide “diffs”
  • 14. No mapping like “feature – test suite” Do we use tests to verify local changes? Nobody is responsible for this Cannot run tests from IDE No unit test, only regression tests Nobody writes unit tests We have no experience in Mocks It’s easier to write integ- ration tests than use Mocks All items have high coupling Bad design No time for planning
  • 15. Do we use tests to verify all changes? Many tests fails Nobody is responsible for reviewing test results on daily basis and assigning tasks to fix the failures
  • 16. Technical Environment Social We have no experience in Mocks Cannot run tests from IDE Tests are not part of “Definition of Done” It’s easier to write integration tests than use Mocks Test suite contains of 3 parts: test to setup data, tests to do manipulation, tests to verify data No time to create “Gold test definition” Unclear reason of test failure: changed or broken functionality? Hard to extend “best practices” to all teams Unclear which test suite to run to verify the changes Tests have low priority Many tests fails Nobody is responsible for reviewing test results on daily basis and assigning tasks to fix the failures Datasets in XML No mapping like “feature – test suite”
  • 17. Let’s try this technique for your project?