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

255 views

Published on

Чи траплялася вам ситуація, коли на ретроспективі, ви домовилися що будете писати тести. І всі розуміють яку користь вони дадуть. Але й після цього тести пишуться дуже рідко.
Ця презентація є спробою знайти причини і роздумом на тему: “Які технічні знання, зміни в технічному і соціальному середовиці необхідні для покращення тестів”.

Юрій Чуловський
http://itevent.if.ua/lecture/chomu-programisti-ne-testuyut

Published in: Education, Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
255
On SlideShare
0
From Embeds
0
Number of Embeds
171
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

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

  1. 1. Why don’tdeveloperstest?Audience: leads, developers
  2. 2. Yuriy Chulovskyyyuriy.chulovskyy@gmail.comhttp://www.linkedin.com/in/yuriychulovskyyhttps://github.com/ychulovskyy/desires8+ years of softwaredevelopment experience3+ years experience in teamleading10 commercial projects
  3. 3. Issues with testsInspirationAnalysisQ&A (any time)
  4. 4. What issues with tests did you meet?
  5. 5. Inspired by…John Sonmezhttp://simpleprogrammer.com/2010/12/12/back-to-basics-why-unit-testing-is-hard/http://www.lektorium.tv/lecture/?id=14264Maxim DorofeevSimaon Sinekhttp://www.youtube.com/watch?v=u4ZoJKF_VuA
  6. 6. Why? How? What?
  7. 7. How?• Check that changes works as expected• Check nothing is brokenDo mentioned items in a few secondsWhy?
  8. 8. • Write tests for new/changed functionality• Support test• Run tests locally to verify your changes• Run tests at CI server to control general pictureWhat to do?
  9. 9. Developers rarely writetests for newfunctionalityTests have low priorityDatasets in XML files Many test failsTests are not part of“Definition of Done”Developers do not usetests to check theirchanges locallyTests are not supportedThat is whyHard to localize the issueHard to support testsUnclear reason of testfailure: changed orbroken functionality?Test suite contains of 3 parts:1) tests that prepare data2) tests that do manipulation3) tests that validate resultsBad test structureHard to extend “bestpractices” to all teamsUnknown correct behaviorNo time to create “Goldtest definition”Unclear which test suiteto run to verify thechangesRunning all the test locallywill take 10 hours and donot provide “diffs”No mapping like“feature – test suite”Nobody is responsiblefor thisCannot run tests from IDENo unit test, onlyregression testsNobody writes unit testsIt’s easier to write integ-ration tests than use MocksWe have no experience inMocksAll items have high couplingBad designNo time for planningNobody is responsible for reviewingtest results from CI on daily basis andassigning tasks to fix the failures
  10. 10. Developers donot use tests tocheck theirchanges locallyDevelopers rarelywrite tests fornew functionalityTests are notsupportedTests are notpart of“Definitionof Done”That is whyTests have lowpriorityDo we write tests for new functionality?
  11. 11. Developers do not usetests to check theirchanges locallyTests are notsupportedMany testsfailsHard tosupport testsTest is lowpriority itemHard to localizethe issueTest suite contains of 3 parts:1) tests that prepare data2) tests that do manipulation3) tests that validate resultsDo we support tests?Unclear reason of testfailure: changed orbroken functionality?Datasets inXML files
  12. 12. Unknown correctbehaviorBad test structureDo we support tests?No time to create“Gold test definition”Hard to extend“best practices” toall teams
  13. 13. Do we use tests to verify local changes?Developers donot use tests tocheck theirchanges locallyDevelopers rarelywrite tests fornew functionalityTests are notsupportedThat is whyMany tests failsUnclear which test suite torun to verify the changesRunning all the test locallywill take 10 hours and donot provide “diffs”
  14. 14. No mapping like“feature – test suite”Do we use tests to verify local changes?Nobody isresponsible for thisCannot run tests from IDENo unit test, only regression testsNobody writes unit testsWe have noexperience inMocksIt’s easier towrite integ-ration tests thanuse MocksAll items havehigh couplingBad designNo time forplanning
  15. 15. Do we use tests to verify all changes?Many tests failsNobody is responsible forreviewing test results on dailybasis and assigning tasks to fixthe failures
  16. 16. Technical Environment SocialWe have no experience inMocksCannot run tests from IDE Tests are not part of“Definition of Done”It’s easier to writeintegration tests than useMocksTest suite contains of 3parts: test to setup data,tests to do manipulation,tests to verify dataNo time to create “Gold testdefinition”Unclear reason of testfailure: changed or brokenfunctionality?Hard to extend “bestpractices” to all teamsUnclear which test suite torun to verify the changesTests have low priorityMany tests fails Nobody is responsible forreviewing test results ondaily basis and assigningtasks to fix the failuresDatasets in XML No mapping like “feature –test suite”
  17. 17. Let’s try thistechnique foryour project?

×