120 episodes

Test & Code is a weekly podcast hosted by Brian Okken.
The show covers a wide array of topics including software engineering, development, testing, Python programming, and many related topics.
When we get into the implementation specifics, that's usually Python, such as Python packaging, tox, pytest, and unittest. However, well over half of the topics are language agnostic, such as data science, DevOps, TDD, public speaking, mentoring, feature testing, NoSQL databases, end to end testing, automation, continuous integration, development methods, Selenium, the testing pyramid, and DevOps.

Test & Code : Python Testing for Software Engineering Brian Okken

    • Technology
    • 4.6, 49 Ratings

Test & Code is a weekly podcast hosted by Brian Okken.
The show covers a wide array of topics including software engineering, development, testing, Python programming, and many related topics.
When we get into the implementation specifics, that's usually Python, such as Python packaging, tox, pytest, and unittest. However, well over half of the topics are language agnostic, such as data science, DevOps, TDD, public speaking, mentoring, feature testing, NoSQL databases, end to end testing, automation, continuous integration, development methods, Selenium, the testing pyramid, and DevOps.

    120: FastAPI & Typer - Sebastián Ramírez

    120: FastAPI & Typer - Sebastián Ramírez

    FastAPI is a modern, fast (high-performance), web framework for building APIs with Python based on standard Python type hints.
    Typer is a library for building CLI applications, also based on Python type hints.
    Type hints and many other details are intended to make it easier to develop, test, and debug applications using FastAPI and Typer.


    The person behind FastAPI and Typer is Sebastián Ramírez.


    Sebastián is on the show today, and we discuss:



    FastAPI
    Rest APIs
    Swagger UI
    Future features of FastAPI
    Starlette
    Typer
    Click
    Testing with Typer and Click
    Typer autocompletion
    Typer CLI
    Special Guest: Sebastián Ramírez.
    Sponsored By:
    PyCharm Professional: Try PyCharm Pro for 4 months and learn how PyCharm will save you time. Promo Code: TESTANDCODE20Support Test & Code : Python Testing for Software Engineering
    Links:
    ExplosionFastAPITyperOpenAPI Specification JSON SchemaOAuth 2.0StarlettepydanticSwagger UI — REST API Documentation ToolTesting - TyperClickTesting Click ApplicationsCLI Option autocompletion - TyperTyper CLI - completion for small scripts

    • 43 min
    119: Editable Python Installs, Packaging Standardization, and pyproject.toml - Brett Cannon

    119: Editable Python Installs, Packaging Standardization, and pyproject.toml - Brett Cannon

    There's stuff going on in Python packaging and pyproject.toml.


    Brett and I talk about some upcoming work on Python packaging, such as:



    editable installs
    the need for standardization
    configuration of other tools in pyproject.toml


    And then get off on tangents and talk about:



    why it's good to have packages like pip, toml, setuptools, wheel, etc not part of the standard library
    should we remove some stuff from the standard library
    the standard library using unittest for testing the standard library


    why not hypothesis
    I didn't bring up "why not pytest?" but you know I was thinking it.

    why CPython and not C++Python
    and more
    Special Guest: Brett Cannon.
    Sponsored By:
    CircleCI: Continuous integration and deployment with faster performance, complete control, and unparalleled flexibility.Datadog: Modern monitoring & security. See inside any stack, any app, at any scale, anywhere. Support Test & Code : Python Testing for Software Engineering
    Links:
    episode 52: pyproject.toml : the future of Python packaging - Brett CannonPython Packaging AuthorityPEP 517 -- A build-system independent format for source treesPEP 518 -- Specifying Minimum Build System Requirements for Python ProjectsWhat the heck is pyproject.toml?Flit PoetryensconstomlsetuptoolsdistutilspipHTTPX

    • 36 min
    118: Code Coverage and 100% Coverage

    118: Code Coverage and 100% Coverage

    Code Coverage or Test Coverage is a way to measure what lines of code and branches in your code that are utilized during testing.
    Coverage tools are an important part of software engineering.


    But there's also lots of different opinions about using it.



    Should you try for 100% coverage?
    What code can and should you exclude?
    What about targets?


    I've been asked many times what I think about code coverage or test coverage.
    This episode is a train of thought brain dump on what I think about code coverage.


    We'll talk about:



    how I use code coverage to help me write source code
    line coverage and branch coverage
    behavior coverage
    using tests to ask and answer questions about the system under test
    how to target coverage just to the code you care about
    excluding code
    good reasons and bad reasons to exclude code


    And also the Pareto Principle or 80/20 rule, and the law of diminishing returns and how that applies (or doesn't) to test coverage.
    Sponsored By:
    PyCharm Professional: Try PyCharm Pro for 4 months and learn how PyCharm will save you time. Promo Code: TESTANDCODE20Support Test & Code : Python Testing for Software Engineering
    Links:
    Coverage.pypytest-cov

    • 42 min
    117: Python extension for VS Code - Brett Cannon

    117: Python extension for VS Code - Brett Cannon

    The Python extension for VS Code is most downloaded extension for VS Code.
    Brett Cannon is the manager for the distributed development team of the Python extension for VS Code.


    In this episode, Brett and I discuss the Python extension and VS Code, including:



    pytest support
    virtual environment support
    how settings work, including user and workspace settings
    multi root projects
    testing Python in VS Code
    debugging and pydevd
    jump to cursor feature
    upcoming features
    Special Guest: Brett Cannon.
    Sponsored By:
    PyBites Code Challenges: Get some expert help in setting your career strategy in Python.ConfigCat.com: Release features faster with less risk with ConfigCat feature flags. Promo Code: TESTANDCODESupport Test & Code : Python Testing for Software Engineering
    Links:
    Brett Cannon on ChangelogJohn WickBallerinaFrank Willison AwardPython extension for VS Codeepisode 117 : How IDEs can make software testing easier - Paul EverittUser and Workspace Settingsvirtual environmentsTesting Python in VS CodepydevdJump to Cursor in Feb VS Code Python blog

    • 51 min
    116: 15 amazing pytest plugins - Michael Kennedy

    116: 15 amazing pytest plugins - Michael Kennedy

    pytest plugins are an amazing way to supercharge your test suites, leveraging great solutions from people solving test problems all over the world. In this episode Michael and I discuss 15 favorite plugins that you should know about.


    We also discuss fixtures and plugins and other testing tools that work great with pytest



    tox
    GitHub Actions
    Coverage.py
    Selenium + splinter with pytest-splinter
    Hypothesis


    And then our list of pytest plugins:



    pytest-sugar
    pytest-cov
    pytest-stress
    pytest-repeat
    pytest-instafail
    pytest-metadata
    pytest-randomly
    pytest-xdist
    pytest-flake8
    pytest-timeout
    pytest-spec
    pytest-picked
    pytest-freezegun
    pytest-check
    fluentcheck


    That last one isn't a plugin, but we also talked about pytest-splinter at the beginning. So I think it still counts as 15.
    Special Guest: Michael Kennedy.
    Sponsored By:
    PyCharm Professional: Try PyCharm Pro for 4 months and learn how PyCharm will save you time. Promo Code: TESTANDCODE20Support Test & Code : Python Testing for Software Engineering
    Links:
    pytest-sugar — changes the default look and feel of pyptest (e.g. progressbar, show tests that fail instantly)pytest-cov — run coverage.py from pytestpytest-stress — allows you to loop tests for a user defined amount of time.pytest-repeat — for repeating test executionpytest-instafail — shows failures and errors instantly instead of waiting until the end of test session.pytest-metadata — for accessing test session metadatapytest-randomly — randomly order tests and control random.seedpytest-xdist — distributed testingpytest-flake8 — pytest plugin to run flake8pytest-timeout — terminate tests after a certain timeoutpytest-spec — display test execution output like a specificationpytest-picked — run the tests related to the changed files (according to Git)pytest-freezegun — easily freeze timepytest-check — allows multiple failures per testfluentcheck — fluent assertionsepisode 104 — Top 28 pytest plugins with Anthony SottilePython Testing with pytest — The easiest way to get up to speed with pytest fast. There's also a chapter dedicated to plugins that also teaches you how to write and test your own plugins.toxGitHub ActionsCoverage.pypytest-splinter — provides a set of fixtures to use splinter for browser testingsplinter — makes it easy to write automated tests of web applicationshypothesis — property-based testingTalk Python Episode #267 — This episode is a cross post with Talk Python

    • 51 min
    115: Catching up with Nina Zakharenko

    115: Catching up with Nina Zakharenko

    One of the great things about attending in person coding conferences, such as PyCon, is the hallway track, where you can catch up with people you haven't seen for possibly a year, or maybe even the first time you've met in person.


    Nina is starting something like the hallway track, online, on twitch, and it's already going, so check out the first episode of Python Tea.


    Interesting coincidence is that this episode is kind of like a hallway track discussion between Nina and Brian.


    We've had Nina on the show a couple times before, but it's been a while.
    In 2018, we talked about Mentoring on episode 44.
    In 2019, we talked about giving Memorable Tech Talks in episode 71.


    In this episode, we catch up with Nina, find out what she's doing, and talk about a bunch of stuff, including:



    Live Coding
    Online Conferences
    Microsoft Python team
    Python Tea, an online hallway track
    Q&A with Python for VS Code team
    Python on hardware
    Adafruit
    Device Simulator Express
    CircuitPython
    Tricking out your command prompt
    Zsh and Oh My Zsh
    Emacs vs vi key bindings for shells
    Working from home
    Special Guest: Nina Zakharenko.
    Sponsored By:
    Python Morsels: Level up your Python skills with challenges and expert advice.ConfigCat.com: Release features faster with less risk with ConfigCat feature flags. Promo Code: TESTANDCODESupport Test & Code : Python Testing for Software Engineering
    Links:
    nnjaio - TwitchNina Zakharenko 💜🐍 (@nnja) / TwitterDevice Simulator Express - Visual Studio MarketplaceInitial code for Microsoft's PyBadge at PyCon 2020Goodbye Print, Hello Debugger! - Nina Zakharenko - PyCon 2020 Talk 𝙽𝚒𝚗𝚊 𝚉𝚊𝚔𝚑𝚊𝚛𝚎𝚗𝚔𝚘 💜🐍 - DEV.toPython Tea AnnouncementThe Live Coders Conference

    • 42 min

Customer Reviews

4.6 out of 5
49 Ratings

49 Ratings

Hellfire0175 ,

A must listen for software testing

This podcast has directly impacted how we test our code. I learn something new each episode. Talk Python to me in conjunction with Test and Code and Python Bytes has exponentially increased my productivity and learning. Thank you!

AJ Kerrigan ,

Testing, code and more

This show provides what it says on the label: engaging discusisons about testing and code. Host Brian Okken approaches each episode with a perfect blend of passion, knowledge and humility. Great stuff!

gtoothpickss ,

In depth on a topic that deserves it

As a junior Python developer, I recently had a sudden realization that testing skills and TDD could be the missing component of my workflow. Learning through examples online works, but testing in the real world is a precarious topic! This podcast is no less than what this topic deserves.

Top Podcasts In Technology