Test & Code - podcast cover

Test & Code

Brian Okkentestandcode.com
The Python Test Podcast hosted by Brian Okken

Episodes

204: Free Your Inner Nonfiction Writer - Johanna Rothman

Learn how to write nonfiction fast and well. Johanna Rothman joins the show to discuss writing nonfiction. Johanna's book: Free Your Inner Nonfiction Writer Help support the show AND learn pytest: The Complete pytest course is now a bundle, with each part available separately. pytest Primary Power teaches the super powers of pytest that you need to learn to use pytest effectively. Using pytest with Projects has lots of "when you need it" sections like debugging failed tests, mocking, testing str...

Jul 18, 202339 minSeason 1Ep. 204

203: Open Source at Intel

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. Help support the show AND learn pytest: The Complete pytest course is now a bundle, with each part available separately. pytest Primary Power teaches the super powers of pytest that you need to learn ...

Jul 17, 202345 minSeason 1Ep. 203

202: Using Towncrier to Keep a Changelog - Hynek Schlawack

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 In 201 we had Ned Batchelder discussing scriv. Special Guest: Hynek Schlawac...

May 31, 202350 minSeason 1Ep. 202

201: Avoid merge conflicts on your CHANGELOG with scriv - Ned Batchelder

Last 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." Links: nedbat/scriv: Changelog management tool Help support the show AND learn pytest: The Complete pytest course is now a bundle, with each part available separa...

May 25, 202335 minSeason 1Ep. 201

200: Keep a CHANGELOG

A 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. Links: Shields.io Keep a Changelog "The Changelog" Podcast interview with Olivier Lacan An Open Source Rage...

May 19, 202347 minSeason 1Ep. 200

199: Is Azure Right for a Side Project? - Pamela Fox

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: 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 Deployi...

May 04, 202352 minSeason 1Ep. 199

198: Testing Django Web Applications - Carlton Gibson, Will Vincent

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. Help support the show AND learn pytest: The Complete pytest course is now a bundle, with each part available separately. pytest Primary Power teaches the super powers of pytest that you need to learn to use pytest effectively. Using pyte...

Apr 27, 20231 hr 2 minSeason 1Ep. 198

197: Python project trove classifiers - Do you need this bit of pyproject.toml metadata? - Brett Cannon

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. What are they? Why do we need them? Do we need them? Which classifiers should I include? Why are they called "trove classifiers" in the Python docs 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",...

Apr 05, 202334 minSeason 1Ep. 197

196: I am not a supplier - Thomas Depierre

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: I am not a supplier - article Help support the show AND learn pytest: The Complete pytest course is now a bundle, with each part available separately. pytest Primary Power teaches the super powers of pytest that you need to learn to use pytest effectiv...

Mar 31, 202337 minSeason 1Ep. 196

195: What would you change about pytest? - Anthony Sottile

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: The import system Multi-process support out of the box Async support Changes to the fixture system Extend the assert rewriting to make it modular Add matchers to assert mechanism Ban test class inheritance Brian's list: Extend assert rewriting for custom rewriting, like check pytester match...

Mar 08, 202359 minSeason 1Ep. 195

193: The Good Research Code Handbook - Patrick Mineault

I don't think it's too much of a stretch to say that software is part of most scientific research now. From astronomy, to neuroscience, to chemistry, to climate models. If you work in research that hasn't been affected by software yet, just wait. 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". It's a website. It's concise. And it will p...

Aug 30, 202244 minSeason 1Ep. 193

192: Learn to code through game development with PursuedPyBear - Piper Thunstrom

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. Pursued...

Aug 06, 202243 minSeason 1Ep. 192

191: Running your own site for fun and absolutely no profit whatsoever - Brian Wisti

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: Random Geekery Jamstack Eleventy Netlify Plausible Analytics pytest Beautiful Soup pyinvoke - Invoke! rsync Internet Archive : archive.org Rich Statamic jamstack.org A static site generator should be your next language learning project Help support the show AND learn pytest: The Complete pytest course is now a bundle, with each part availab...

Jul 01, 202247 minSeason 1Ep. 191

190: Testing PyPy - Carl Friedrich Bolz-Tereick

PyPy is a fast, compliant alternative implementation of Python. cPython is implemented in C. PyPy is implemented in Python. What does that mean? And how do you test something as huge as an alternative implementation of Python? Special Guest: Carl Friedrich Bolz-Tereick. Links: PyPy How is PyPy Tested? PyPy Speed Python Speed Center Help support the show AND learn pytest: The Complete pytest course is now a bundle, with each part available separately. pytest Primary Power teaches the super powers...

Jun 21, 202251 minSeason 1Ep. 190

189: attrs and dataclasses - Hynek Schlawack

In Python, before dataclasses, we had attrs. Before attrs, it wasn't pretty. The story of attrs and dataclasses is actually intertwined. They've built on each other. And in the middle of it all, Hynek. 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. Links: attrs documentation History of attrs and introduction to attrs namespace cattrs: Complex custom class co...

Jun 07, 202233 minSeason 1Ep. 189

188: Python's Rich, Textual, and Textualize - Innovating the CLI

Will McGugan has brought a lot of color to CLIs within Python due to Rich. Then Textual started rethinking full command line applications, including layout with CSS. And now Textualize, a new startup, is bringing CLI apps to the web. Links: rich rich-cli textual Textualize.io Rich Gallery Textualize Gallery Python Bytes Podcast Help support the show AND learn pytest: The Complete pytest course is now a bundle, with each part available separately. pytest Primary Power teaches the super powers of ...

May 17, 202236 minSeason 1Ep. 188

187: Teaching Web Development, including Front End Testing

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: starting people off with good dev practices and tools linting html and css validation visual regression testing using local dev servers, including https incorporating testing with git hooks testing to aid in css optimization and refactoring...

May 13, 202241 minSeason 1Ep. 187

186: Developer and Team Productivity

Being productive is obviously a good thing. Can we measure it? Should we measure it? There's been failed attempts, like lines of code, etc. in the past. Currently, there are new tools to measure productivity, like using git metrics. Nick Hodges joins the show to discuss the good and the bad of developer and team productivity, including how we can improve productivity. Help support the show AND learn pytest: The Complete pytest course is now a bundle, with each part available separately. pytest P...

May 12, 202252 minSeason 1Ep. 186

185: Python + Django + Rich + Testing == Awesome

Django has a handful of console commands to help manage and develop sites. django-rich adds color and nice formatting. Super cool. In a recent release, django-rich also adds nice colorized tracebacks to the Django test runner. Links: django-rich · PyPI episode 181: Boost Your Django DX - Adam Johnson django-crispy-forms Python Developers Survey 2020 Results Help support the show AND learn pytest: The Complete pytest course is now a bundle, with each part available separately. pytest Primary Powe...

May 11, 202222 minSeason 1Ep. 185

184: Twisted and Testing Event Driven / Asynchronous Applications - Glyph

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: Community Service Award Recipient Glyph Lefkowitz — The PSF article I was referring to early in the episode Twisted twisted/klein twisted/treq django/daphne — Django Channels HTTP/WebSock...

Mar 21, 202242 minSeason 1Ep. 184

183: Managing Software Teams - Ryan Cheley

Ryan Cheley joins me today to talk about some challenges of managing software teams, and how to handle them. We end up talking about a lot of skills that are excellent for software engineers as well as managers. Some topics discussed: handling code reviews asking good questions being honest about what you can't do with current resources and data discussing tradeoffs and offering solutions that can be completed faster than the ideal solution balancing engineering and managing making sure document...

Mar 17, 202248 minSeason 1Ep. 183

182: An Unorthodox Technical Interview and Hiring Process - Nathan Aschbacher

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. So when he started building the team at his company, he decided to do things differently. Hiring is one of the essential processes for building a great team. However, it's a high noise, low signal process. N...

Mar 08, 202248 minSeason 1Ep. 182

181: Boost Your Django DX - Adam Johnson

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. One of the things I love about this book is that it's not just for Django devs. I'd guess that about half the book is about topics that all Python developers would find useful, from virtual environments to linters to testing. But of course, also tons of tips and to...

Mar 01, 202227 minSeason 1Ep. 181

180: Lean TDD

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 do...

Feb 21, 202226 minSeason 1Ep. 180

179: Exploratory Testing

Exploratory testing is absolutely an essential part of a testing strategy. This episode discusses what exploratory testing is, its benefits, and how it fits within a framework of relying on automated tests for most of our testing. Help support the show AND learn pytest: The Complete pytest course is now a bundle, with each part available separately. pytest Primary Power teaches the super powers of pytest that you need to learn to use pytest effectively. Using pytest with Projects has lots of "wh...

Feb 09, 202211 minSeason 1Ep. 179

178: The Five Factors of Automated Software Testing

"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: Verify the code is working correctly Prevent future regressions Document the code’s behavior Provide design guidance Support refactoring Brian's order: Verify the code is working correctly Prevent future regressions Support refactoring Provide design g...

Jan 31, 202210 minSeason 1Ep. 178

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 Thread The Testing Trophy and Testing Classifications — Kent C Dodds Write tests. Not too many. Mostly integration. — Kent C Dodds On the Diverse And Fantastical Shapes of Testing — Martin Fowler Help suppor...

Jan 28, 202221 minSeason 1Ep. 177

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 firs...

Jan 18, 202225 minSeason 1Ep. 176

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 Help support the show AND learn pytest: The Complete pytest course is now a bundle, with each part available separately. pytest Primary Power teaches the super powers of pytest that you need to learn to use pytest effectively. Using pytest with Projects has lots of "whe...

Jan 12, 202213 minSeason 1Ep. 175

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 defect write the source code to get the test to pass refactor if necessary repeat In reality, at least for me, ...

Dec 22, 202140 minSeason 1Ep. 174
For the best experience, listen in Metacast app for iOS or Android
Open in Metacast