This presentation was recorded at GOTO Amsterdam 2022. #GOTOcon #GOTOams http://gotoams.nl Kevlin Henney - Consultant, Programmer, Keynote Speaker, Technologist, Trainer & Writer @KevlinHenney ABSTRACT Throw a line of code into many codebases and it's sure to hit one or more testing frameworks. There's no shortage of frameworks for testing, each with their particular spin and set of conventions, but that glut is not always matched by a clear vision of how to structure and use tests — a framework is a vehicle, but you still need to know how to drive. The computer science classic, Structure and Interpretation of Computer Programs, points out that "programs must be written for people to read, and only incidentally for machines to execute". The same is true of test code. This talk takes a deep dive into unit testing, looking at examples and counterexamples across a range of languages and frameworks, from naming to nesting, exploring the benefits of data-driven testing, the trade-offs between example-based and property-based testing, how to get the most out of the common given-when-then refrain and knowing how far to follow it. [...] TIMECODES 00:00 Intro 04:09 Quote Structure & Interpretation of Computer Programs 05:27 Quotes Marit van Dijk 10:56 Testing approaches today 13:24 Continuous testing 14:52 Case: Leap year 28:55 Quote Nat Pryce & Steve Freeman 29:44 Case: Leap year continued 37:33 FizzBuzz 39:00 Quote Brian Marick 39:36 FizzBuzz continued 43:15 Quote Richard Feynman 43:43 FizzBuzz continued 45:14 Niklaus Wirth 46:07 Outro Download slides and read the full abstract here: https://gotoams.nl/2022/sessions/1604 RECOMMENDED BOOKS Kevlin Henney & Trisha Gee • 97 Things Every Java Programmer Should Know • https://amzn.to/3kiTwJJ Kevlin Henney • 97 Things Every Programmer Should Know • https://amzn.to/2Yahf9U Henney & Monson-Haefel • 97 Things Every Software Architect Should Know • https://amzn.to/3pZuHsQ Abelson, Sussman & Sussman • Structure and Interpretation of Computer Programs • https://amzn.to/3cUQVIm Niklaus Wirth • Algorithms + Data Structures = Programs • https://amzn.to/3TP9xdd Roy Osherove • The Art of Unit Testing • https://bit.ly/3obiKNB Adzic, Evans & Roden • Fifty Quick Ideas To Improve Your Tests • https://amzn.to/3yuDaoL Adzic, Evans & Korac • Fifty Quick Ideas to Improve Your User Stories • https://amzn.to/3jQ4QjP Saleem Siddiqui • Learning Test-Driven Development • https://amzn.to/35OMb3n Kent Beck • Test Driven Development • https://amzn.to/36kchvd https://twitter.com/GOTOcon https://www.linkedin.com/company/goto- https://www.instagram.com/goto_con https://www.facebook.com/GOTOConferences #Testing #UnitTests #UnitTesting #Programming #KevlinHenney #SoftwareEngineering #TDD #TestDrivenDevelopment #ContinuousTesting #Integers #Coverage #LeapYear #LeapYearRule #NiklausWirth CHANNEL MEMBERSHIP BONUS Join this channel to get early access to videos & other perks: https://www.youtube.com/channel/UCs_tLP3AiwYKwdUHpltJPuA/join Looking for a unique learning experience? Attend the next GOTO conference near you! Get your ticket at https://gotopia.tech Sign up for updates and specials at https://gotopia.tech/newsletter SUBSCRIBE TO OUR CHANNEL - new videos posted almost daily. https://www.youtube.com/user/GotoConferences/?sub_confirmation=1
Get notified about new features and conference additions.