Explorez tous les épisodes du podcast Test & Code
| Titre | Date | Durée | |
|---|---|---|---|
| 223: Writing Stuff Down is a Super Power | 17 Nov 2024 | 00:21:05 | |
Taking notes well can help to listen better, remember things, show respect, be more accountable, free up mind space to solve problems. This episode discusses
Learn pytest
| |||
| 222: Import within a Python package | 07 Sep 2024 | 00:12:02 | |
In this episode we're talking about importing part of a package into another part of the same package. We'll look at: `from . import module` and `from .module import something` and also: `import package` to access the external API from with the package. Why would we use `import package` if `from . import api` would work fine? Learn pytest
| |||
| 221: How to get pytest to import your code under test | 03 Jun 2024 | 00:07:19 | |
We've got some code we want to test, and some tests. In this episode, we discuss two options:
Learn pytest
| |||
| 220: Getting the most out of PyCon, including juggling - Rob Ludwick | 04 May 2024 | 00:40:11 | |
PyCon US is just around the corner. I've asked Rob Ludwick to come on the show to discuss how to get the most out of your PyCon experience. There's a lot to do. A lot of activities to juggle, including actual juggling, which is where we start the conversation. Even if you never get a chance to go to PyCon, I hope this interview helps you get a feel for the welcoming aspect of the Python community. I recorded this interview as an episode for one of my other podcasts, Python People. But I think it's got some great pre-conference advice, so I'm sharing it here on Python Test as well. We talk about: "Python enables smart people to work faster" - Rob Ludwick Learn pytest
| |||
| 219: Building Django Apps & SaaS Pegasus - Cory Zue | 24 Apr 2024 | 00:47:44 | |
I'm starting a SaaS project using Django, and there are tons of decisions right out of the gate. Some of the topics discussed:
Learn pytest
| |||
| 218: Balancing test coverage with test costs - Nicole Tietz-Sokolskaya | 18 Apr 2024 | 00:27:31 | |
Nicole 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:
Links:
Learn pytest
| |||
| 217: Podcasting / SaaS / Work Life Balance - Justin Jackson | 11 Apr 2024 | 00:56:07 | |
If you've ever thought about starting a podcast or a SaaS project, you'll want to listen to this episode. Topics:
BTW. This episode was recorded last summer before I switched to transistor.fm. Links from the show:
Learn pytest
| |||
| 216: ruff, uv, and Astral: Python tooling, much faster, with Rust | 11 Mar 2024 | 00:47:46 | |
Charlie Marsh and team are using Rust to make Python tooling faster.
Since uv is the newest tool, there's quite a bit of the discussion diving into uv. Links: Learn pytest
| |||
| 215: Staying Technical as a Manager | 25 Feb 2024 | 00:39:23 | |
Software engineers that move into leadership roles have a struggle between learning leadership skills, maintaining technical skills, and learning new leadership and technical skills. Learn pytest
| |||
| 214: Python Testing in VS Code | 07 Feb 2024 | 00:38:25 | |
If you haven't tried running automated tests, especially with pytest, in VS Code recently, you should take another look. Links from the episode: Learn pytest
| |||
| 213: Repeating Tests | 19 Jan 2024 | 00:13:22 | |
If 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. We talk about each of these in this episode. Learn pytest
| |||
| 212: Canon TDD - by Kent Beck | 13 Jan 2024 | 00:07:31 | |
In 2002, Kent Beck released a book called "Test Driven Development by Example". Brian's commentary is saved for a followup episode. Links: Learn pytest
| |||
| 211: Stamp out test dependencies with pytest plugins | 15 Dec 2023 | 00:18:01 | |
We want to be able to run tests in a suite, and debug them in isolation, and have the behavior be the same. In this episode, we'll talk about:
Plugins discussed:
Learn pytest
| |||
| 210: TDD - Refactor while green | 30 Nov 2023 | 00:15:43 | |
Test Driven Development. Red, Green, Refactor.
This episode is to talk about this with a an example. Learn pytest
| |||
| 209: Testing argparse Applications | 16 Nov 2023 | 00:15:53 | |
How do you test the argument parsing bit of an application that uses argparse? This episode covers:
Also, there's a full writeup and code samples available:
Learn pytest
| |||
| 208: Tests with no assert statements | 30 Oct 2023 | 00:12:14 | |
Why on earth would you want to write a test with no assert statements? In this episode, we walk through a handful of useful examples of test code without asserts. Learn pytest
| |||
| 207: pytest course, pytest-repeat and pytest-flakefinder | 26 Sep 2023 | 00:13:26 | |
Learn pytest
| |||
| 206: TDD in Context | 23 Aug 2023 | 00:20:13 | |
TDD (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. This is the start of a series focused on examining TDD and related lightweight practices and processes. Links from the show: Learn pytest
| |||
| 205: pytest autouse fixtures | 01 Aug 2023 | 00:29:15 | |
On 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:
Learn pytest
| |||
| 204: Free Your Inner Nonfiction Writer - Johanna Rothman | 18 Jul 2023 | 00:37:52 | |
Learn how to write nonfiction fast and well. Johanna's book: Free Your Inner Nonfiction Writer Learn pytest
| |||
| 203: Open Source at Intel | 17 Jul 2023 | 00:43:57 | |
Open 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. Learn pytest
| |||
| 202: Using Towncrier to Keep a Changelog - Hynek Schlawack | 31 May 2023 | 00:48:36 | |
Hynek 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 Special Guest: Hynek Schlawack. Links:
Learn pytest
| |||
| 201: Avoid merge conflicts on your CHANGELOG with scriv - Ned Batchelder | 25 May 2023 | 00:33:41 | |
Last week we talked about the importance of keeping a 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." Links: Learn pytest
| |||
| 200: Keep a CHANGELOG | 19 May 2023 | 00:46:22 | |
A changelog is a file which contains a curated, chronologically ordered list of notable changes for each version of a project. Special Guest: Olivier Lacan. Links:
Learn pytest
| |||
| 199: Is Azure Right for a Side Project? - Pamela Fox | 04 May 2023 | 00:50:39 | |
For 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. Links:
Learn pytest
| |||
| 198: Testing Django Web Applications - Carlton Gibson, Will Vincent | 27 Apr 2023 | 01:01:25 | |
Django has some built in ways to test your application. There's also pytest-django and other plugins that help with testing. Carlton Gibson and Will Vincent from the Django Chat Podcast join the show to discuss how to get started testing your Django application. Learn pytest
| |||
| Python project trove classifiers - Do you need this bit of pyproject.toml metadata? | 05 Apr 2023 | 00:32:51 | |
Classifiers are one bit of Python project metadata that predates PyPI. Classifiers are weird. They were around in setuptools days, and are still here with pyproject.toml.
Brett Cannon joins the show to discuss these wacky bits of metadata. Here's an example, from pytest-crayons: [project] ... classifiers = [ "License :: OSI Approved :: MIT License", "Framework :: Pytest" ]Special Guest: Brett Cannon. Links: | |||
| I am not a supplier | 31 Mar 2023 | 00:36:02 | |
Should we think of open source components the same way we think of physical parts for manufactured goods? There are problems with supply chain analogy when applied to software. Thomas Depierre discusses some of those issues in this episode. Links: | |||
| What would you change about pytest? | 08 Mar 2023 | 00:57:15 | |
Anthony Sottile and Brian discuss changes that would be cool for pytest, even unrealistic changes. These are changes we'd make to pytest if we didn't ahve to care about backwards compatibilty. Anthony's list:
Brian's list:
Links: | |||
| The Good Research Code Handbook - Patrick Mineault | 30 Aug 2022 | 00:42:39 | |
I don't think it's too much of a stretch to say that software is part of most scientific research now. But how good is that software? How much of common best practices in software development are making it to those writing software in the sciences? Patrick Mineault has written "The Good Research Code Handbook". Special Guest: Patrick Mineault. Links: | |||
| Learn to code through game development with PursuedPyBear - Piper Thunstrom | 06 Aug 2022 | 00:41:53 | |
The first game I remember coding, or at least copying from a magazine, was in Basic. It was Lunar Lander. Learning to code a game is a way that a lot of people get started and excited about programming. Of course, I don't recommend Basic. Now we've got Python. And one of the game engines available for Python is PursuedPyBear, a project started by Piper Thunstrom. Piper joins us this episode and we talk about PursuedPyBear, learning to code, and learning CS concepts with game development. PursuedPyBear, ppb, is a game framework great for learning with, with goals of being fun, education friendly, an example of idiomatic Python, hardware library agnostic, and built on event driven and object oriented concepts. Special Guest: Piper Thunstrom. Links: | |||
| Running your own site for fun and absolutely no profit whatsoever - Brian Wisti | 01 Jul 2022 | 00:45:28 | |
Having a personal site is a great playground for learning tons of skills. Brian Wisti discusses the benefits of running a his own blog over the years. Links: | |||
| Testing PyPy - Carl Friedrich Bolz-Tereick | 21 Jun 2022 | 00:50:45 | |
PyPy is a fast, compliant alternative implementation of Python. PyPy is implemented in Python. And how do you test something as huge as an alternative implementation of Python? Special Guest: Carl Friedrich Bolz-Tereick. Links: | |||
| attrs and dataclasses - Hynek Schlawack | 07 Jun 2022 | 00:31:50 | |
In Python, before dataclasses, we had attrs. The story of attrs and dataclasses is actually intertwined. Hynek joins the show today to discuss some history of attrs and dataclasses, and some differences. If you ever need to create a custom class in Python, you should listen to this episode. Special Guest: Hynek Schlawack. Links: | |||
| Python's Rich, Textual, and Textualize - Innovating the CLI | 17 May 2022 | 00:35:04 | |
Will McGugan has brought a lot of color to CLIs within Python due to Rich. Links: | |||
| Teaching Web Development, including Front End Testing | 13 May 2022 | 00:39:49 | |
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. Let's hear how he incorporates code quality in his courses. Our discussion includes:
Karl is also writing a book on WebRTC, so we jump into that a bit too. Links: | |||
| Developer and Team Productivity | 12 May 2022 | 00:51:08 | |
Being productive is obviously a good thing. Nick Hodges joins the show to discuss the good and the bad of developer and team productivity, including how we can improve productivity. | |||
| Python + Django + Rich + Testing == Awesome | 11 May 2022 | 00:20:56 | |
Django has a handful of console commands to help manage and develop sites. Links: | |||
| Twisted and Testing Event Driven / Asynchronous Applications - Glyph | 21 Mar 2022 | 00:40:34 | |
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. Twisted uses a technique that should be usable by other applications, even those using asyncio or other event driven architectures. Links:
| |||
| Managing Software Teams - Ryan Cheley | 17 Mar 2022 | 00:47:07 | |
Ryan Cheley joins me today to talk about some challenges of managing software teams, and how to handle them. Some topics discussed:
| |||
| An Unorthodox Technical Interview and Hiring Process - Nathan Aschbacher | 08 Mar 2022 | 00:47:08 | |
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. Hiring is one of the essential processes for building a great team. Nathan Aschbacher has a relatively unorthodox tech hiring approach. Nathan is not intereseted in bizarre interview processes where the interviewer doesn't know anything about the interviewee beforehand, all people are asked the same questions, and people are asked to code on white boards. Instead, he states "if the goal is to try to figure out if the person can do the work with your team, and your trying to build the team that you are adding this person to, they need to know what the team is like, and determine if they want to be part of the team, and the team needs to know what the person is like and if they would be addititve to the team. So what's Nathan's process:
We discuss the process, and also:
And of course, there's the story of how Nathan ended up interviewing someone with Zoo experience an no technical experience for a technical role. Of course, it was a misunderstanding of a job requirement around experience with ZooKeeper. But it's a good story. | |||
| Boost Your Django DX - Adam Johnson | 01 Mar 2022 | 00:26:51 | |
We talk with Adam Johnson about his new book, "Boost Your Django DX". Developer experience includes tools and practices to make developers more effective and efficient, and just plain make software development more fun and satisfying. Links:
| |||
| Lean TDD | 21 Feb 2022 | 00:25:21 | |
Lean TDD is an attempt to reconcile some conflicting aspects of Test Driven Development and Lean Software Development. I've mentioned Lean TDD on the podcast a few times and even tried to do a quick outline at the end of episode 162. This episode is a more complete outline, or at least a first draft. If you feel you've got a good understanding of TDD, and it's working awesome for you, that's great. Keep doing what you're doing. There are no problems. For me, the normal way TDD is taught just doesn't work. So I'm trying to come up with a spin on some old ideas to make it work for me. I'm hoping it works for you as well. I'm calling the new thing Lean TDD. It's inspired by decades of experience writing software and influence from dozens of sources, including Pragmatic Programmer, Lean Software Development, Test-Driven Development by Example, and many blog posts and wiki articles. The main highlights, however, come from the collision of ideas between Lean and TDD and how I've tried to resolve the seemingly opposing processes. Links:
| |||
| Exploratory Testing | 09 Feb 2022 | 00:10:09 | |
Exploratory testing is absolutely an essential part of a testing strategy. | |||
| The Five Factors of Automated Software Testing | 31 Jan 2022 | 00:09:00 | |
"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. Sarah's order:
Brian's order:
The episode includes reasons why I've re-ordered them. Links: | |||
| Unit Test vs Integration Test and The Testing Trophy | 28 Jan 2022 | 00:21:40 | |
A recent Twitter thread by Simon Willison reminded me that I've been meaning to do an episode on the testing trophy. Links:
| |||
| SaaS Side Projects | 18 Jan 2022 | 00:26:09 | |
The idea of having a software as a service product sound great, doesn't it? Solve a problem with software. Have a nice looking landing page and website. Get paying customers. Eventually have it make enough revenue so you can turn it into your primary source of income. There's a lot of software talent out there. We could solve lots of problems. Brandon Braner is building Released.sh. It's a cool idea, but it's not done yet. Brandon and I talk about building side projects:
Special Guest: Brandon Braner. Links: | |||
| Who Should Do QA? | 12 Jan 2022 | 00:13:07 | |
Answering these questions are the goals of this episode. Links: | |||
| pseudo-TDD - Paul Ganssle | 22 Dec 2021 | 00:39:25 | |
In this episode, I talk with Paul Ganssle about a fun workflow that he calls pseudo-TDD. Some strict forms of TDD include something like this:
In reality, at least for me, the software development process is way more messy than this, and not so smooth and linear. Pauls workflow allow you to develop non-linearly, but commit cleanly. Links: | |||
| Why NOT unittest? | 17 Dec 2021 | 00:23:31 | |
In the preface of "Python Testing with pytest" I list some reasons to use pytest, under a section called "why pytest?". Someone asked me recently, a different but related question "why NOT unittest?". unittest is an xUnit style framework. For me, xUnit style frameworks are fatally flawed for software testing. That's what this episode is about, my opinion of
Links: | |||