

Test & Code
Brian Okken
The Python Test Podcast hosted by Brian Okken
Episodes
Mentioned books

Jan 28, 2022 • 21min
177: Unit Test vs Integration Test and The Testing Trophy
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.Links:Simon Willison's Twitter ThreadThe Testing Trophy and Testing Classifications — Kent C DoddsWrite tests. Not too many. Mostly integration. — Kent C DoddsOn the Diverse And Fantastical Shapes of Testing — Martin Fowler

Jan 18, 2022 • 25min
176: SaaS Side Projects - Brandon Braner
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. But going from idea to product to first customer is non-trivial. Especially as a side hustle. This episode discusses some of the hurdles from idea to first customer. 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:finding a target audiencelimiting scope to something doable by one personbuilding a great looking landing pagefinding time to work on thingsprioritizing and planninglearning while buildingeven utilizing third party services to allow you to launch fasterand last, but not least, having funSpecial Guest: Brandon Braner.Links:ReleasedTailwind CSS Tailwind UIFigmaHerokuGoogle App Engine

Jan 12, 2022 • 12min
175: Who Should Do QA?
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.Links:Test Automation - Who Should be Involved? | Thoughtworks

Dec 22, 2021 • 39min
174: pseudo-TDD - Paul Ganssle
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.Some strict forms of TDD include something like this:write a failing test that demonstrates a lacking feature or defectwrite the source code to get the test to passrefactor if necessaryrepeatIn 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:A pseudo-TDD workflow using expected failuresepisode 171: How and why I use pytest's xfail - Paul Ganssleepisode 165: pytest xfail policy and workflowepisode 162: Flavors of TDD

Dec 17, 2021 • 23min
173: Why NOT unittest?
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 "Why NOT unittest?", or more broadly, "What are the fatal flaws of xUnit?"Links:Python Testing with pytest, Second Editionunittest docsunittest assert methodsxUnit - Wikipedia

Nov 30, 2021 • 7min
172: Designing Better Software with a Prototype Mindset
A prototype is a a preliminary model of something, from which other forms are developed or copied. In software, we think of prototypes as early things, or a proof of concept. We don't often think of prototyping during daily software development or maintenance. I think we should. This episode is about growing better designed software with the help of a prototype mindset.Links:Selecting a programming language can be a form of premature optimization — Brett Cannon's blog post

Nov 22, 2021 • 38min
171: How and why I use pytest's xfail - Paul Ganssle
Paul Ganssle, is a software developer at Google, core Python dev, and open source maintainer for many projects, has some thoughts about pytest's xfail. He was an early skeptic of using xfail, and is now an proponent of the feature. In this episode, we talk about some open source workflows that are possible because of xfail. Special Guest: Paul Ganssle.Links:How and why I use pytest's xfail — Paul's blog post mentioned in the episodeCraft Minimal Bug Reports — Matthew Rocklin's articleepisode 111: Subtests in Python with unittest and pytest - Paul Ganssleepisode 165: pytest xfail policy and workflowepisode 166: unittest expectedFailure and xfail

4 snips
Nov 18, 2021 • 45min
170: pytest for Data Science and Machine Learning - Prayson Daniel
Prayson Daniel, a principle data scientist, discusses testing machine learning pipelines with pytest.Prayson is using pytest for some pretty cool stuff, including:unit tests, of coursetesting pipeline stagescounterfactual testingperformance testingAll with pytest. So cool.Special Guest: Prayson Daniel.Links:Python Bytes 250, with Prayson Daniel — Listen to this for more of an introduction to Prayson

Nov 11, 2021 • 30min
169: Service and Microservice Performance Monitoring - Omri Sass
Performance monitoring and error detection is just as important with services and microservices as with any system, but with added complexity. Omri Sass joins the show to explain telemetry and monitoring of services and of systems with services. Special Guest: Omri Sass.

Nov 2, 2021 • 11min
168: Understanding Complex Code by Refactoring into Larger Functions
To understand complex code, it can be helpful to remove abstractions, even if it results in larger functions. This episode walks through a process I use to refactor code that I need to debug and fix, but don't completely understand.