Test & Code

23: Lessons about testing and TDD from Kent Beck


Listen Later

Kent Beck's twitter profile says "Programmer, author, father, husband, goat farmer". But I know him best from his work on extreme programming, test first programming, and test driven development. He's the one. The reason you know about TDD is because of Kent Beck.

I first ran across writings from Kent Beck as started exploring Extreme Programming in the early 2000's.

Although I don't agree with all of the views he's expressed in his long and verbose career, I respect him as one of the best sources of information about software development, engineering practices, and software testing.

Along with Test First Programming and Test Driven Development, Kent started an automated test framework that turned into jUnit. jUnit and it's model of setup and teardown wrapping test functions, as well base test class driven test frameworks became what we know of as xUnit style frameworks now, which includes Python's unittest.

He discussed this history and a lot more on episode 122 of Software Engineering Radio. The episode is titled "The History of JUnit and the Future of Testing with Kent Beck", and is from Sept 26, 2010.

http://www.se-radio.net/2010/09/episode-167-the-history-of-junit-and-the-future-of-testing-with-kent-beck/

I urge you to download it and listen to the whole thing. It's a great interview, still relevant, and applicable to testing in any language, including Python.

What I've done in this podcast is take a handful of clips from the interview (with permission from IEEE and SERadio), and discuss the clips and my opinions a bit.

The lessons are:

  1. You're tests should tell a story.
  2. Be careful of DRY, inheritance, and other software development practices that might get in the way of keeping your tests easy to understand.
  3. All test should help differentiate good programs from bad programs and not be redundant.
  4. Test at multiple levels and multiple scales where it makes sense.
  5. Differentiating between TDD, BDD, ATDD, etc. isn't as important as testing your software to learn about it. Who cares what you call it.
  6. Sponsored By:

    • Patreon SupportersHelp support the show with as little as $1 per month.
    Funds help pay for expenses associated with the show.

    Support Test & Code - Software Testing, Development, Python

    ...more
    View all episodesView all episodes
    Download on the App Store

    Test & CodeBy Brian Okken

    • 4.7
    • 4.7
    • 4.7
    • 4.7
    • 4.7

    4.7

    70 ratings


    More shows like Test & Code

    View all
    Radiolab by WNYC Studios

    Radiolab

    44,038 Listeners

    Software Engineering Daily by Software Engineering Daily

    Software Engineering Daily

    624 Listeners

    Heavy Networking by Packet Pushers

    Heavy Networking

    328 Listeners

    Talk Python To Me by Michael Kennedy

    Talk Python To Me

    589 Listeners

    Python Bytes by Michael Kennedy and Brian Okken

    Python Bytes

    214 Listeners

    Darknet Diaries by Jack Rhysider

    Darknet Diaries

    8,000 Listeners

    The Real Python Podcast by Real Python

    The Real Python Podcast

    141 Listeners

    Unexplainable by Vox

    Unexplainable

    2,278 Listeners

    Network Automation Nerds by Packet Pushers

    Network Automation Nerds

    3 Listeners