Test & Code in Python

Developing Software with Automated Tests

About the show

Topics include automated testing, testing strategy, software engineering practices, packaging, Python, pytest, data science, TDD, continuous integration, and software methodologies.
Also anything I think helps make the daily life of a software developer more fun and rewarding.
Hosted by Brian Okken.

Test & Code in Python on social media


  • 187: Teaching Web Development, including Front End Testing

    May 13th, 2022  |  39 mins 48 secs
    code quality, css, front end testing, html, linting, validation

    When you are teaching someone web development skills, when is the right time to start teaching code quality and testing practices?
    Karl Stolley believes it's never too early.

  • 186: Developer and Team Productivity

    May 12th, 2022  |  51 mins 7 secs
    git metrics, productivity

    Being productive is obviously a good thing. Can we measure it? Should we measure it?
    Nick Hodges joins the show to discuss the good and the bad of developer and team productivity, including how we can improve productivity.

  • 185: Python + Django + Rich + Testing == Awesome

    May 11th, 2022  |  20 mins 55 secs
    django, python, rich, unittest

    Django has a handful of console commands to help manage and develop sites.
    django-rich adds color and nice formatting.
    In a recent release, django-rich also add nice colorized tracebacks to the Django test runner.

  • 184: Twisted and Testing Event Driven / Asynchronous Applications - Glyph

    March 21st, 2022  |  41 mins 16 secs

    Twisted has been supporting asynchronous / event driven applications way before asyncio.
    Twisted, and Glyph, have also been encouraging automated tests for a very long time.

    For testing asynchronous or event driven systems, Twisted uses a technique that should be usable by other applications, even those using asyncio or other event driven architectures.

  • 183: Managing Software Teams - Ryan Cheley

    March 16th, 2022  |  47 mins 48 secs
    managing software teams

    Ryan Cheley joins me today to talk about some challenges of managing software teams, and how to handle them.
    We end up talking about a lot of skills that are excellent for software engineers as well as managers.

  • 182: An Unorthodox Technical Interview and Hiring Process - Nathan Aschbacher

    March 8th, 2022  |  47 mins 50 secs
    technical hiring, technical interview

    Don't you just love technical interviews, with someone who just saw your resume or CV 5 minutes ago asking you to write some code on a whiteboard
    probably code that has nothing to do with anything you've done before or anything you will do at the company.

    No? Neither does Nathan Aschbacher.
    So when he started building the team at his company, he decided to do things differently.

  • 181: Boost Your Django DX - Adam Johnson

    February 28th, 2022  |  27 mins 32 secs
    developer experience, django

    We talk with Adam Johnson about his new book, "Boost Your Django DX".

  • 180: Lean TDD

    February 21st, 2022  |  26 mins 5 secs
    lean software development, lean tdd, tdd

    Lean TDD is an attempt to reconcile some conflicting aspects of Test Driven Development and Lean Software Development.

  • 179: Exploratory Testing

    February 8th, 2022  |  11 mins 39 secs
    software testing

    Exploratory testing is absolutely an essential part of a testing strategy.
    This episode discusses what exploratory testing is, its benefits, and how it fits within a framework of relying on automated tests for most of our testing.

  • 178: The Five Factors of Automated Software Testing

    January 31st, 2022  |  10 mins 26 secs
    software testing

    "There are five practical reasons that we write tests. Whether we realize it or not, our personal testing philosophy is based on how we judge the relative importance of these reasons." - Sarah Mei
    This episode discusses the factors.

  • 177: Unit Test vs Integration Test and The Testing Trophy

    January 27th, 2022  |  21 mins 39 secs
    integration tests, testing trophy, unit tests

    A recent Twitter thread by Simon Willison reminded me that I've been meaning to do an episode on the testing trophy.
    This discussion is about the distinction between unit and integration tests, what those terms mean, and where we should spend our testing time.

  • 176: SaaS Side Projects

    January 18th, 2022  |  26 mins 8 secs
    saas, side projects

    The idea of having a software as a service product sound great, doesn't it? This episode discusses some of the hurdles from idea to first customer.

  • 175: Who Should Do QA?

    January 12th, 2022  |  13 mins 6 secs
    qa, software testing

    Who should do QA? How does that change with different projects and teams? What does "doing QA" mean, anyway?
    Answering these questions are the goals of this episode.

  • 174: pseudo-TDD - Paul Ganssle

    December 22nd, 2021  |  39 mins 24 secs
    git, pytest, tdd

    In this episode, I talk with Paul Ganssle about a fun workflow that he calls pseudo-TDD.
    Pseudo-TDD is a way to keep your commit history clean and your tests passing with each commit.
    This workflow includes using pytest xfail and some semi-advanced version control features.

  • 173: Why NOT unittest?

    December 17th, 2021  |  23 mins 30 secs
    pytest, python, unittest, xunit

    unittest is an xUnit style framework, which makes it fatally flawed for software testing.
    This episode is my opinion of "Why NOT unittest?", or more broadly, "What are the fatal flaws of xUnit?"

  • 172: Designing Better Software with a Prototype Mindset

    November 30th, 2021  |  6 mins 53 secs
    software design

    A prototype is a a preliminary model of something, from which other forms are developed or copied.
    This episode is about growing better designed software with the help of a prototype mindset.