
Test & Code
The Python Test Podcast hosted by Brian Okken
Latest episodes

Mar 1, 2020 • 27min
103: Django - Lacey Williams Henschel
Django is without a doubt one of the most used web frameworks for Python. Lacey Williams Henschel is a Django consultant and has joined me to talk about Django, the Django community, and so much more.
Topics:
Django
The Django Community
Django Girls
Django Girls Tutorial
DjangoCon
Software Testing
Using tests during learning
pytest-django
testing Django
Wagtail
Special Guest: Lacey Williams Henschel.Sponsored By:Raygun: Detect, diagnose, and destroy Python errors that are affecting your customers. With smart Python error monitoring software from Raygun.com, you can be alerted to issues affecting your users the second they happen.Links:Django Django Girls Django Girls TutorialDjangoCon US 2020 Django: Under the HoodPyDataPyCascadesDjango REST frameworkpytest-djangoWagtail CMS - Django Content Management System
★ Support this podcast on Patreon ★

Feb 27, 2020 • 42min
102: Cosmic Python, TDD, testing and external dependencies - Harry Percival
Harry Percival has completed his second book, "Architecture Patterns with Python". So of course we talk about the book, also known as "Cosmic Python". We also discuss lots of testing topics, especially related to larger systems and systems involving third party interfaces and APIs.Topics Harry's new book, "Architecture Patterns with Python". a.k.a. Cosmic Python TDD : Test Driven DevelopmentTest PyramidTradeoffs of different architectural choicesMocks and their pitfallsAvoiding mocksSeparating conceptual business logicDependency injectionDependency inversionIdentifying external dependenciesInterface adapters to mimize the exposed surface area of external dependenciesLondon School vs Classic/Detroit School of TDDTesting strategies for testing external REST APIsLinks:Cosmic Python - Simple Patterns for Building Complex ApplicationsArchitecture Patterns with Python - on AmazonHarry Percival (@hjwp) / TwitterBob Gregory (@bob_the_mighty) / Twittervcrpy · PyPIWriting tests for external API callsStop Using Mocks (for a while) - Harry's PyCon talk
★ Support this podcast on Patreon ★

Feb 19, 2020 • 46min
101: Application Security - Anthony Shaw
Application security is best designed into a system from the start.
Anthony Shaw is doing something about it by creating an editor plugin that actually helps you write more secure application code while you are coding.
On today's Test & Code, Anthony and I discuss his security plugin, but also application security in general, as well as other security components you need to consider.
Security is something every team needs to think about, whether you are a single person team, a small startup, or a large corporation.
Anthony and I also discuss where to start if it's just a few of you, or even just one of you.
Topics include:
Finding security risks while writing code.
What are the risks for your applications.
Thinking about attack surfaces.
Static and dynamic code analysis.
Securing the environment an app is running in.
Tools for scanning live sites for vulnerabilities.
Secret management.
Hashing algorithms.
Authentication systems.
and Anthony's upcoming cPython Internals book.
Special Guest: Anthony Shaw.Sponsored By:Oxylabs: Visit oxylabs.io/testandcode to find out more about their services and to apply for a free trial of their Next-Generation Residential Proxies.Links:Python Security - plugin for PyCharmBanditHack The Box
★ Support this podcast on Patreon ★

Feb 13, 2020 • 37min
100: A/B Testing - Leemay Nassery
Let's say you have a web application and you want to make some changes to improve it.
You may want to A/B test it first to make sure you are really improving things.
But really what is A/B testing?
That's what we'll find out on this episode with Leemay Nassery.Special Guest: Leemay Nassery.Sponsored By:Oxylabs: Visit oxylabs.io/testandcode to find out more about their services and to apply for a free trial of their Next-Generation Residential Proxies.
★ Support this podcast on Patreon ★

Jan 30, 2020 • 16min
99: Software Maintenance and Chess
I play a form of group chess that has some interesting analogies to software development and maintenance of existing systems. This episode explains group chess and explores a few of those analogies.Sponsored By:Raygun: Detect, diagnose, and destroy Python errors that are affecting your customers. With smart Python error monitoring software from Raygun.com, you can be alerted to issues affecting your users the second they happen.
★ Support this podcast on Patreon ★

Jan 21, 2020 • 33min
98: pytest-testmon - selects tests affected by changed files and methods - Tibor Arpas
pytest-testmon is a pytest plugin which selects and executes only tests you need to run. It does this by collecting dependencies between tests and all executed code (internally using Coverage.py) and comparing the dependencies against changes. testmon updates its database on each test execution, so it works independently of version control.
In this episode, I talk with testmon creator Tibor Arpas about testmon, about it's use and how it works.Special Guest: Tibor Arpas.Sponsored By:PyCharm Professional: Try PyCharm Pro with a 4 month free trial. Promo Code: TESTANDCODE22Links:testmon.orgDetermining affected testsTibor's post on using pytest in PyCharmruntime-info plugin for PyCharm
★ Support this podcast on Patreon ★

Dec 31, 2019 • 24min
97: 2019 Retrospective, 2020 Plans, and an amazing decade
This episode is not just a look back on 2019, and a look forward to 2020.
Also, 2019 is the end of an amazingly transofrmative decade for me, so I'm going to discuss that as well.
top 10 episodes of 2019
10: episode 46, Testing Hard To Test Applications - Anthony Shaw
9: episode 64, Practicing Programming to increase your value
8: episode 70, Learning Software without a CS degree - Dane Hillard
7: episode 75, Modern Testing Principles - Alan Page
6: episode 72, Technical Interview Fixes - April Wensel
5: episode 69, Andy Hunt - The Pragmatic Programmer
4: episode 73, PyCon 2019 Live Recording
3: episode 71, Memorable Tech Talks, The Ultimate Guide - Nina Zakharenko
2: episode 76, TDD: Don’t be afraid of Test-Driven Development - Chris May
1: episode 89, Improving Programming Education - Nicholas Tollervey
Looking back on the last decade
Some amazing events, like 2 podcasts, a book, a blog, speaking events, and teaching has led me to where we're at now.
Looking forward to 2020 and beyond
I discussed what's in store in the next year and moving forward.
A closing quote
Software is a blast. At least, it should be.
I want everyone to have fun writing software.
Leaning on automated tests is the best way I know to allow me confidence and freedome to:
rewrite big chunks of code
play with the code
try new things
have fun without fear
go home feeling good about what I did
be proud of my code
I want everyone to have that.
That's why I promote and teach automated testing.
I hope you had an amazing decade.
And I wish you a productive and fun 2020 and the upcoming decade.
If we work together and help eachother reach new heights, we can achieve some pretty amazing thingsSponsored By:Raygun: Detect, diagnose, and destroy Python errors that are affecting your customers. With smart Python error monitoring software from Raygun.com, you can be alerted to issues affecting your users the second they happen.Links:Thanks, 201X! — Mahmoud Hashemi's blog
★ Support this podcast on Patreon ★

Dec 16, 2019 • 26min
96: Azure Pipelines - Thomas Eckert
Pipelines are used a lot in software projects to automated much of the work around build, test, deployment and more. Thomas Eckert talks with me about pipelines, specifically Azure Pipelines. Some of the history, and how we can use pipelines for modern Python projects.Special Guest: Thomas Eckert.Sponsored By:PyCharm Professional: Try PyCharm Pro with a 4 month free trial. Promo Code: TESTANDCODE22Links:click repoAzure Pipelines Action · Actions · GitHub Marketplace
★ Support this podcast on Patreon ★

Nov 30, 2019 • 23min
95: Data Science Pipeline Testing with Great Expectations - Abe Gong
Data science and machine learning are affecting more of our lives every day. Decisions based on data science and machine learning are heavily dependent on the quality of the data, and the quality of the data pipeline.
Some of the software in the pipeline can be tested to some extent with traditional testing tools, like pytest.
But what about the data? The data entering the pipeline, and at various stages along the pipeline, should be validated.
That's where pipeline tests come in.
Pipeline tests are applied to data. Pipeline tests help you guard against upstream data changes and monitor data quality.
Abe Gong and Superconductive are building an open source project called Great Expectations. It's a tool to help you build pipeline tests.
This is quite an interesting idea, and I hope it gains traction and takes off.Special Guest: Abe Gong.Sponsored By:Raygun: Detect, diagnose, and destroy Python errors that are affecting your customers. With smart Python error monitoring software from Raygun.com, you can be alerted to issues affecting your users the second they happen.Links:Great Expectations
★ Support this podcast on Patreon ★

Nov 18, 2019 • 34min
94: The real 11 reasons I don't hire you - Charity Majors
You've applied for a job, maybe lots of jobs.
Depending on the company, you've gotta get through:
a resume review
a coding challange
a phone screen
maybe another code example
an in person interview
If you get the job, and you enjoy the work, awesome, congratulations.
If you don't get the job, it'd be really great to know why.
Sometimes it isn't because you aren't a skilled engineer.
What other reasons are there?
Well, that's what we're talking about today.
Charity Majors is the cofounder and CTO of Honeycomb.io, and we're going to talk about reasons for not hiring someone.
This is a very informative episode both for people who job hunt in the future and for hiring managers and people on the interview team.Special Guest: Charity Majors.Sponsored By:PyCharm Professional: Try PyCharm Pro with a 4 month free trial. Promo Code: TESTANDCODE22Links:The (Real) 11 Reasons I Don’t Hire You — The article
★ Support this podcast on Patreon ★