Python Testing

Python Software Development and Software Testing (posts and podcast)

  • Start Here
  • Podcast
  • Subscribe
  • Support
  • About
  • The Book
  • Contact
  • Archive
  • Slack

23: Lessons about testing and TDD from Kent Beck

September 30, 2016 By Brian 1 Comment

[powerpress]

Full Transcript

test_and_code_400x400

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.

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.

Full Transcript for episode 23: Lessons about testing and TDD from Kent Beck

Support

Special thanks to my wonderful Patreon supporters and those who have supported the show by purchasing Python Testing with unittest, nose, pytest

Share:

  • Click to share on Google+ (Opens in new window)
  • Click to share on Facebook (Opens in new window)
  • Click to share on Reddit (Opens in new window)
  • Click to share on LinkedIn (Opens in new window)
  • Click to share on Twitter (Opens in new window)

Related posts:

  1. Transcript for Epsiode 23: Lessons about testing and TDD from Kent Beck
  2. How do I start testing?
  3. 21: Terminology: test fixtures, subcutaneous testing, end to end testing, system testing
  4. My reaction to “Is TDD Dead?”
  5. 27: Mahmoud Hashemi : unit, integration, and system testing

Filed Under: Podcast Tagged With: TDD

Python Testing with unittest, nose, pytest.
Get up to speed fast on pytest, unittest, and nose.
All in the comfort of your own e-reader.

Comments

  1. Bruce Baron says

    October 6, 2016 at 6:30 am

    Agree 100% about the IPAs. There’s a million micro-brews out there, and 999,999 of them seem to be IPA. Enough already

    Reply

Leave a Reply Cancel reply

Learn pytest FAST

Get your tests up and running fast. Learn to use pytest in this easy to follow book

Python Bytes Podcast

Python headlines delivered directly to your earbuds. 15 minute conversation on the topical items of the week in the Python ecosystem