125 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, 53 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.

    pytest 6 - Anthony Sottile

    pytest 6 - Anthony Sottile

    pytest 6 is out. Specifically, 6.0.1, as of July 31.
    And there's lots to be excited about.
    Anthony Sottile joins the show to discuss features, improvements, documentation updates and more.


    Full release notes / changelog


    Some of what we talk about:



    How to update (at least, how I do it)


    Run your test suites with 5.4.3 or whatever the last version you were using
    Update to 6
    Run again. Same output? Probably good.
    If there are any warnings, maybe fix those.
    You can also run with pytest -W error to turn warnings into errors.
    Then find out all the cool stuff you can do now

    New Features


    pytest now supports pyproject.toml files for configuration.


    but remember, toml syntax is different than ini files. mostly quotes are needed

    pytest now includes inline type annotations and exposes them to user programs.


    Most of the user-facing API is covered, as well as internal code.

    New command-line flags --no-header and --no-summary
    A warning is now shown when an unknown key is read from a config INI file.


    The --strict-config flag has been added to treat these warnings as errors.

    New required_plugins configuration option allows the user to specify a list of plugins,
    including version information, that are required for pytest to run.
    An error is raised if any required plugins are not found when running pytest.

    Improvements


    You can now pass output to things like less and head that close the pipe passed to them.


    thank you!!!

    Improved precision of test durations measurement.


    use --durations=10 -vv to capture and show durations

    Rich comparison for dataclasses and attrs-classes is now recursive.
    pytest --version now displays just the pytest version,


    while pytest --version --version displays more verbose information including plugins.

    --junitxml now includes the exception cause in the message XML
    attribute for failures during setup and teardown.

    Improved Documentation


    Add a note about --strict and --strict-markers and the preference for the latter one.
    Explain indirect parametrization and markers for fixtures.

    Bug Fixes
    Deprecations
    Trivial/Internal Changes
    Breaking Changes you might need to care about before upgrading


    PytestDeprecationWarning are now errors by default.


    Check the deprecations and removals
    page if you are curious.

    -k and -m internals were rewritten to stop using eval(), this results in a few slight changes but overall makes them much more consistent
    testdir.run().parseoutcomes() now always returns the parsed nouns in plural form.


    I'd say that's an improvement


    Special Guest: Anthony Sottile.
    Sponsored By:
    Datadog: Modern monitoring & security. See inside any stack, any app, at any scale, anywhere.
    Visit testandcode.com/datadog to get started.Support Test & Code : Python Testing for Software Engineering
    Links:
    pytest Changelog / Release NotesDeprecations and Removals — pytest documentation

    • 1 hr
    pip dependency resolver changes

    pip dependency resolver changes

    pip is the package installer for Python.


    Often, when you run pip, especially the first time in a new virtual environment, you will see something like:



    WARNING: You are using pip version 20.1.1; however, version 20.2 is available.
    You should consider upgrading via the 'python -m pip install --upgrade pip' command.



    And you should. Because 20.2 has a new dependency resolver.


    Get in the habit, until October, of replacing pip install with pip install --use-feature=2020-resolver.
    This flag is new in the 20.2 release.


    This new pip dependency resolver is the result of a lot of work.
    Five of the people involved with this work are joining the show today: Bernard Tyers, Nicole Harris, Paul Moore, Pradyun Gedam, and Tzu-ping Chung.


    We talk about:



    pip dependency resolver changes
    user experience research and testing
    crafting good error messages
    efforts to improve the test suite
    testing pip with pytest
    some of the difficulties with testing pip
    working with a team on a large project
    working with a large code base
    bringing new developers into a large project
    Special Guests: Bernard Tyers, Nicole Harris, Paul Moore, Pradyun Gedam, and Tzu-ping Chung.
    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:
    Changelog — pip 20.2 documentation — Including --use-feature=2020-resolverpypa/pip: The Python package installer — github repotesting pip - documentationpip - The Python Package Installer — pip 20.2 documentationChanges to the pip dependency resolver in 20.2 — Changes to the pip dependency resolver in 20.2

    • 44 min
    GitHub Actions - Tania Allard

    GitHub Actions - Tania Allard

    Lots of Python projects are starting to use GitHub Actions for Continous Integration & Deployment (CI/CD), as well as other workflows.


    Tania Allard, a Senior Cloud Developer Advocate at Microsoft, joins the show to answer some of my questions regarding setting up a Python project to use Actions.


    Some of the topics covered:



    How to get started with GitHub Actions for a Python project?
    What are workflow files?
    Does it matter what the file name is called?
    Can I have / Should I have more than one workflow?
    Special Guest: Tania Allard.
    Sponsored By:
    Datadog: Modern monitoring & security. See inside any stack, any app, at any scale, anywhere.
    Visit testandcode.com/datadog to get started.Support Test & Code : Python Testing for Software Engineering
    Links:
    Using Python with GitHub Actions - GitHub Docsawesome-actions — A curated list of awesome actions to use on GitHub

    • 22 min
    Better Resumes for Software Engineers - Randall Kanna

    Better Resumes for Software Engineers - Randall Kanna

    A great resume is key to landing a great software job.
    There's no surprise there.
    But so many people make mistakes on their resume that can very easily be fixed.


    Randall Kanna is on the show today to help us understand how to improve our resumes, and in turn, help us have better careers.
    Special Guest: Randall Kanna.
    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:
    The Standout Developer — link includes discount

    • 36 min
    Industrial 3D Printing & Python, Finite State Machines, and Simulating Hardware - Len Wanger

    Industrial 3D Printing & Python, Finite State Machines, and Simulating Hardware - Len Wanger

    Len Wanger works on industrial 3D printers. And I was pleased to find out that
    there's a bunch of Python in those printers as well.


    In this episode we talk about:



    3D printers
    What are the different types of 3D printers?
    Where are 3D printed industrial parts being used?
    Why use one type of additive manufacturing over another?
    Python in 3D printing hardware.
    What are Finite State Machines, FSMs?
    Benefits of FSMs for testing, logging, and breaking a complex behavior into
    small testable parts.
    Benefits of simulation in writing and testing software to control hardware.
    Special Guest: Len Wanger.
    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.
    Visit testandcode.com/datadog to get started.Support Test & Code : Python Testing for Software Engineering
    Links:
    pystate — Python package for co-routine base state machinesImpossible Objects — Composite 3D PrintingFinite-state machine, FSM

    • 49 min
    FastAPI & Typer - Sebastián Ramírez

    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

Customer Reviews

4.6 out of 5
53 Ratings

53 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

Listeners Also Subscribed To