Sinopsis
Test & Code is a weekly podcast hosted by Brian Okken.The show covers a wide array of topics including software 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.
Episodios
-
218: Balancing test coverage with test costs - Nicole Tietz-Sokolskaya
18/04/2024 Duración: 28minNicole is a software engineer and writer, and recently wrote about the trade-offs we make when deciding which tests to write and how much testing is enough.We talk about:Balancing schedule vs testingHow much testing is the right about of testingShould code coverage be measured and trackedGood refactoring can reduce code coverageIs it worth testing error conditions?Are rare error codes ok to just monitor?API drift and autospecMitigating riskDeciding what to test and what not to testFocus testing on key money-making features If there's a bug in this part of the code, how much business impact is there?Performance testing needs to approximately match real world workloadsCost of a service breaking vs the cost of creating, maintaining, and running testsKeeping test suites quick to minimize getting distractedLinks:Too much of a good thing: the trade-off we make with tests Load testing is hard, and the tools are... not great. But why?Yet Another Rust Resource (YARR!)Goodhart's law - "When a measure becomes a target,
-
217: Podcasting / SaaS / Work Life Balance - Justin Jackson
11/04/2024 Duración: 57minIf you've ever thought about starting a podcast or a SaaS project, you'll want to listen to this episode. Justin is one of the people who motivated me to get started podcasting. He's also running a successful SaaS company, transistor.fm, which hosts this podcast.Topics:PodcastingBuilding new SaaS (software as a service) productsBalancing work, side hustle, and familyGreat places to snowboard in British ColumbiaBTW. This episode was recorded last summer before I switched to transistor.fm.I'm now on Transistor for most of a year now, and I love it.Links from the show:Transistor.fm - excellent podcast hosting, Justin is a co-founderHow to start a podcast in 2024Podcasts from JustinBuild your SaaS - currentBuild & Launch - an older one, but greatMegaMaker - from 2021 / 2022 Sponsored by Mailtrap.ioAn Email Delivery Platform that developers love. An email-sending solution with industry-best analytics, SMTP, an email API, SDKs for major programming languages, and 24/7 human support. Try for Free at MAILTRAP.IOS
-
216: ruff, uv, and Astral: Python tooling, much faster, with Rust
11/03/2024 Duración: 48minCharlie Marsh and team are using Rust to make Python tooling faster.Ruff can take the place of Flake8, isort, and Black, and so much more.uv can take the place of pip, pip-tools, and virtualenvAstral is Charlie's venture backed company, and what they have with `ruff` and `uv` is just the start.Since uv is the newest tool, there's quite a bit of the discussion diving into uv.Links:ruffAstraluv Sponsored by PyCharm ProUse code PYTEST for 20% off PyCharm Professional at jetbrains.com/pycharmFirst 10 to sign up this month get a free month of AI AssistantSee how easy it is to run pytest from PyCharm at pythontest.com/pycharmThe Complete pytest CourseFor the fastest way to learn pytest, go to courses.pythontest.comWhether your new to testing or pytest, or just want to maximize your efficiency and effectiveness when testing.
-
215: Staying Technical as a Manager
25/02/2024 Duración: 40minSoftware engineers that move into leadership roles have a struggle between learning leadership skills, maintaining technical skills, and learning new leadership and technical skills. Matt Makai went from individual contributor to developer relations to leadership in devrel. We discuss how to stay technical, as well as dive into some results of his studies in how companies use developer relationship channels. Sponsored by PyCharm ProUse code PYTEST for 20% off PyCharm Professional at jetbrains.com/pycharmFirst 10 to sign up this month get a free month of AI AssistantSee how easy it is to run pytest from PyCharm at pythontest.com/pycharmThe Complete pytest CourseFor the fastest way to learn pytest, go to courses.pythontest.comWhether your new to testing or pytest, or just want to maximize your efficiency and effectiveness when testing.
-
214: Python Testing in VS Code
07/02/2024 Duración: 38minIf you haven't tried running automated tests, especially with pytest, in VS Code recently, you should take another look.The Python for VS Code interface for testing, especially for pytest, has changed recently. On this episode we discuss the change with the software engineer working on the pytest changes, Eleanor Boyd, and the product manager, Courtney Webster. Links from the episode:Blog post announcing the rewrite Code repo for questions, comments, issues etc The Complete pytest CourseLevel up your testing skills and save time during coding and maintenance.Check out courses.pythontest.com
-
213: Repeating Tests
19/01/2024 Duración: 15minIf a test fails in a test suite, I'm going to want to re-run the test. I may even want to re-run a test, or a subset of the suite, a bunch of times. There are a few pytest plugins that help with this:pytest-repeatpytest-rerunfailurespytest-flakefinderpytest-instafailWe talk about each of these in this episode. Sponsored by PyCharm ProUse code PYTEST for 20% off PyCharm Professional at jetbrains.com/pycharmFirst 10 to sign up this month get a free month of AI AssistantSee how easy it is to run pytest from PyCharm at pythontest.com/pycharmThe Complete pytest CourseFor the fastest way to learn pytest, go to courses.pythontest.comWhether your new to testing or pytest, or just want to maximize your efficiency and effectiveness when testing.
-
212: Canon TDD - by Kent Beck
13/01/2024 Duración: 07minIn 2002, Kent Beck released a book called "Test Driven Development by Example".In December of 2023, Kent wrote an article called "Canon TDD".With Kent's permission, this episode contains the full content of the article.Brian's commentary is saved for a followup episode.Links:Canon TDDTest Driven Development by Example The Complete pytest CourseLevel up your testing skills and save time during coding and maintenance.Check out courses.pythontest.com
-
211: Stamp out test dependencies with pytest plugins
15/12/2023 Duración: 20minWe want to be able to run tests in a suite, and debug them in isolation, and have the behavior be the same. If the behavior is different in isolation vs in a suite, it's a nightmare to debug. In this episode, we'll talk about: Causes of dependence Testing for dependencies using plugins Debugging test dependencies Plugins discussed: pytest-randomly pytest-reverse pytest-random-order Sponsored by PyCharm Pro Use code PYTEST for 20% off PyCharm Professional at jetbrains.com/pycharm First 10 to sign up this month get a free month of AI Assistant See how easy it is to run pytest from PyCharm at pythontest.com/pycharm The Complete pytest Course For the fastest way to learn pytest, go to courses.pythontest.com Whether your new to testing or pytest, or just want to maximize your efficiency and effectiveness when testing.
-
210: TDD - Refactor while green
30/11/2023 Duración: 18minTest Driven Development. Red, Green, Refactor. Do we have to do the refactor part? Does the refactor at the end include tests? Or can I refactor the tests at any time? Why is refactor at the end? This episode is to talk about this with a an example. Sponsored by PyCharm Pro Use code PYTEST for 20% off PyCharm Professional at jetbrains.com/pycharm First 10 to sign up this month get a free month of AI Assistant See how easy it is to run pytest from PyCharm at pythontest.com/pycharm The Complete pytest Course For the fastest way to learn pytest, go to courses.pythontest.com Whether your new to testing or pytest, or just want to maximize your efficiency and effectiveness when testing.
-
209: Testing argparse Applications
16/11/2023 Duración: 16minHow do you test the argument parsing bit of an application that uses argparse?This episode covers: Design for Test: Structuring your app or script so it's easier to test. pytest & capsys for testing stdout Adding debug and preview flags for debugging and testing And reverting to subprocess.run if you can't modify the code under test Also, there's a full writeup and code samples available: Blog post: Testing argparse Applications Code Repo The Complete pytest Course For the fastest way to learn pytest, go to courses.pythontest.com Whether your new to testing or pytest, or just want to maximize your efficiency and effectiveness when testing.
-
208: Tests with no assert statements
30/10/2023 Duración: 14minWhy on earth would you want to write a test with no assert statements?After all, aren't assert statements how you decide wether a test passes or fails?In this episode, we walk through a handful of useful examples of test code without asserts.We also talk about how these types of tests are a great way to dip your toe into testing. Sponsored by PyCharm Pro Use code PYTEST for 20% off PyCharm Professional at jetbrains.com/pycharm First 10 to sign up this month get a free month of AI Assistant See how easy it is to run pytest from PyCharm at pythontest.com/pycharm The Complete pytest Course For the fastest way to learn pytest, go to courses.pythontest.com Whether your new to testing or pytest, or just want to maximize your efficiency and effectiveness when testing.
-
207: Welcome to "Python Test", pytest course, pytest-repeat and pytest-flakefinder
26/09/2023 Duración: 14minPodcast name: "Test & Code" -> "Python Test" Python Bytes Podcast Python People Podcast Python Test Podcast <- you are herewhich is still, at least for now, at testandcode.com New course: "The Complete pytest Course" pytest-repeat, which I'm starting to contribute toGive `--repeat-scope` a try. You can use it to change from repeating every test to repeating the session, module, or class. pytest-flakefinder, which is an alternative to pytest-repeat pytest-check is completely unrelated, but mentioned in the show
-
206: TDD in Context
23/08/2023 Duración: 21minTDD (Test Driven Development) started from Test First Programming, and has been around at least since the 90's. However, software tools and available CI systems have changed quite a bit since then. Maybe it's time to re-examine the assumptions, practices, processes, and principles of TDD. At least in the context of my software engineering career, modifications to TDD, at least the version of TDD as it's frequently taught, have been necessary. This is the start of a series focused on examining TDD and related lightweight practices and processes.Links from the show: From XP Test First Unit Tests Acceptance Tests Test-Driven Development (wikipedia) Thank you Coverage Cat for sponsoring this episode Coverage Cat is the best way to buy your umbrella, car, home, and renters insurance. Get your free, optimized insurance quote today at coveragecat.com
-
205: pytest autouse fixtures
01/08/2023 Duración: 29minOn a recent episode of PythonBytes, I suggested it's hard to come up with good examples for pytest autouse fixtures, as there aren't very many good reasons to use them. James Falcon was kind enough to reach out and correct me. In this episode, we describe: what fixtures are what autouse fixtures are great reasons to use them If you like Test & Code, I think you'll also like Python People Python People is a new podcast about getting to know the people who make Python and our community awesome. Be sure to check out pythonpeople.fm.
-
Free Your Inner Nonfiction Writer
18/07/2023 Duración: 37minLearn how to write nonfiction fast and well.Johanna Rothman joins the show to discuss writing nonfiction.Johanna's book: Free Your Inner Nonfiction Writer If you like Test & Code, I think you'll also like Python People Python People is a new podcast about getting to know the people who make Python and our community awesome. Be sure to check out pythonpeople.fm.
-
Open Source at Intel
17/07/2023 Duración: 43minOpen Source is important to Intel and has been for a very long time.Joe Curley, vice president and general manager of software products and ecosystem, and Arun Gupta, vice president and general manager for open ecosystems, join the show to discuss open source, OneAPI, and open ecosystems at Intel. If you like Test & Code, I think you'll also like Python People Python People is a new podcast about getting to know the people who make Python and our community awesome. Be sure to check out pythonpeople.fm.
-
Using Towncrier to Keep a Changelog
31/05/2023 Duración: 49minHynek joins the show to discuss towncrier. At the top of the towncrier documentation, it says "towncrier is a utility to produce useful, summarized news files (also known as changelogs) for your project."Towncrier is used by "Twisted, pytest, pip, BuildBot, and attrs, among others."This is the last of 3 episodes focused on keeping a CHANGELOG. Episode 200 kicked off the series with keepachangelog.com and Olivier Lacan In 201 we had Ned Batchelder discussing scriv.Special Guest: Hynek Schlawack.Links: Towncrier docs How to Keep a Changelog in Markdown - Towncrier docs Keep a Changelog structlog/CHANGELOG.md — Example of manually edited changelog. hatch-fancy-pypi-readme MyST Markdown hatchling If you like Test & Code, I think you'll also like Python People Python People is a new podcast about getting to know the people who make Python and our community awesome. Be sure to check out pythonpeople.fm.
-
Avoid merge conflicts on your CHANGELOG with scriv
25/05/2023 Duración: 35minLast week we talked about the importance of keeping a changelog. This week we talk with Ned Batchelder about scriv, a tool to help maintain that changelog.Scriv "is a command-line tool for helping developers maintain useful changelogs. It manages a directory of changelog fragments. It aggregates them into entries in a CHANGELOG file."Special Guest: Ned Batchelder.Sponsored By: porkbun: A refreshingly different domain name registrar. Get a free .app or .dev domain name by using this link or promo code. Promo Code: TESTANDCODELinks:nedbat/scriv: Changelog management tool If you like Test & Code, I think you'll also like Python People Python People is a new podcast about getting to know the people who make Python and our community awesome. Be sure to check out pythonpeople.fm.
-
Keep a CHANGELOG
19/05/2023 Duración: 52minA changelog is a file which contains a curated, chronologically ordered list of notable changes for each version of a project. This episode is about what a changelog is, with an interview with Olivier Lacan, creator of keepachangelog.com. The next two episodes talk about some tools to help software project teams keep changelogs while avoiding merge conflicts. Special Guest: Olivier Lacan.Sponsored By: porkbun: A refreshingly different domain name registrar. Get a free .app or .dev domain name by using this link or promo code. Promo Code: TESTANDCODELinks: Shields.io Keep a Changelog "The Changelog" Podcast interview with Olivier Lacan An Open Source Rage Diamond If you like Test & Code, I think you'll also like Python People Python People is a new podcast about getting to know the people who make Python and our community awesome. Be sure to check out pythonpeople.fm.
-
Is Azure Right for a Side Project?
04/05/2023 Duración: 51minFor a web side project to go from "working on desktop" to "live in the cloud", one decision that needs to be made is where to host everything. One option is Microsoft Azure. Lots of corporate sites use it. Is it right for side projects? Pamela Fox, a Cloud Advocate for Python at Microsoft, joins the show to help us with that question.Special Guest: Pamela Fox.Sponsored By: porkbun: A refreshingly different domain name registrar. Get a free .app or .dev domain name by using this link or promo code. Promo Code: TESTANDCODELinks: Python Bytes Episode #323 pamelafox gitHub projects Deploy a Python (Django or Flask) web app to Azure Hosting Python Web Apps on Azure: A Price-Off Deploying a containerized FastAPI app to Azure Container Apps Getting started with hosting Python apps on Azure Pricing Calculator for Azure App Service Pricing pamelafox/flask-db-quiz-example Tutorial: Deploy a Python Django or Flask web app with PostgreSQL Pamela Fox on Mastodon If you like Test & Code, I think you'll also like Pyth