

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

Sep 28, 2018 • 39min
47: Automation Panda - Andy Knight
Interview with Andy Knight, the Automation Panda.
Selenium & WebDriver
Headless Chrome
Gherkin
BDD
Given When Then
pytest-bdd
PyCharm
Writing Good Gherkin
Overhead of Gherkin and if it's worth it
When to use pytest vs pytest-bdd
The art of test automation
Special Guest: Andy Knight.Links:Automation Panda | A blog for software development and testingKarate REST API test frameworkBDD | Automation PandaTesting | Automation PandaThe pytest Book

Sep 2, 2018 • 43min
46: Testing Hard To Test Applications - Anthony Shaw
How do you write tests for things that aren’t that easy to write tests for?
That question is a possibly terrible summary of a question sent to me by a listener. And to help me start answering that question, I asked a friend of mine to help, Antony Shaw.
Of course, different types of applications have different test strategies, so there’s not a universal answer. But I know some of you out there have experience and expertise around how to tackle this problem.
Listen to the discussion Anthony and I have about it, and let me know if you have some techniques or tips to add. Special Guest: Anthony Shaw.

Aug 13, 2018 • 41min
45: David Heinemeier Hansson - Software Development and Testing, TDD, and exploratory QA
David Heinemeier Hansson is the creator of Ruby on Rails, founder & CTO at Basecamp (formerly 37signals). He's a best selling author, public speaker, and even a Le Mans class winning racing driver.
All of that, of course, is awesome. But that's not why I asked him on the show. In 2014, during a RailsConf keynote, he started a discussion about damage caused by TDD. This was followed by a few blog posts, and then a series of recorded hangouts with Martin Fowler and Kent Beck. This is what I wanted to talk with David about; this unconventional yet practical and intuitive view of how testing and development work together.
It's a great discussion. I think you'll get a lot out of it.Special Guest: David Heinemeier Hansson.Links:Is TDD dead? - Part 1My reaction to "Is TDD Dead?", including links to the other parts of the video seriesRailsConf 2014 - Keynote: Writing Software by David Heinemeier Hansson - YouTubeTDD is dead. Long live testing. (DHH)Test-induced design damage (DHH)Slow database test fallacy (DHH)

Jul 21, 2018 • 27min
44: Mentoring - Nina Zakharenko
Nina Zakharenko is a cloud developer advocate at Microsoft focusing on Python. She's also an excellent public speaker. We talk about her experience with mentoring, both being a mentor, and utilizing mentors. We also talk about public speaking, her move to Microsoft, and to Portland, and the Microsoft/GitHub merge.Special Guest: Nina Zakharenko.Links:The Recurse CenterWhy I joined Microsoft – Hacker NoonBootstrap · The most popular HTML, CSS, and JS library in the world.Brian Holt on Twitter: "“Fullstack” developer.… "

Jul 17, 2018 • 9min
Preparing for Technical Talks with Kelsey Hightower - bonus episode
After I had wrapped up the interview with Kelsey Hightower for episode 43, I asked him one last question.
You see, I admire the his presentation style.
So I asked him if he would share with me how he prepared for his presentations.
His answer is so thoughtful and makes so much sense, I couldn't keep it to myself.
I'm releasing this as a bonus mini-episode so that it's easy to refer back to the next time you or I have a chance to do a technical talk.Special Guest: Kelsey Hightower.

Jul 5, 2018 • 42min
43: Kelsey Hightower - End to End & Integration Testing
I first heard Kelsey speak during his 2017 PyCon keynote.
He's an amazing speaker, and I knew right then I wanted to hear more about what he does and hear more of his story.
We discuss testing, of course, but we take it further and discuss:
tests for large systems, like kubernetes
Testing in real world scenarios with all the configuration and everything
Becoming a complete engineer by thinking about the end to end flow from the users perspective
Learning from other roles, and the value of roles to allow focus and expertise
We even get into Chaos Engineering and testing live systems.
Special Guest: Kelsey Hightower.

Jun 28, 2018 • 59min
42: Using Automated Tests to Help Teach Python - Trey Hunner
This interview with Trey Hunner discusses his use of automated tests to help teach programming.
Automated testing is a huge part of developing great software. But many new developers don't get exposed to testing for quite a while. But this is changing.
New ways to teach programming include automated tests from the beginning.
Trey Hunner is one of the PSF directors and a Python and Django team trainer, and he has been using automated tests to help people learn Python.Special Guest: Trey Hunner.Links:Trey HunnerPython Morsels - write better Python codeTrey's Weekly Python ChatTrey's Training business: Truthful Technologyexercism.ioPyBites Code Challenges CheckiO

Apr 18, 2018 • 45min
41: Testing in DevOps and Agile - Anthony Shaw
We talk with Anthony Shaw about some of the testing problems facing both DevOps teams, and Agile teams. We also talk about his recent pull request accepted into pytest.Special Guest: Anthony Shaw.Links:Anthony Shaw on github.ioSupport for the new builtin breakpoint function in Python 3.7 by tonybaloney · Pull Request #3331 · pytest-dev/pytest

Apr 10, 2018 • 49min
40: On Podcasting - Adam Clark
Adam is the host of The Gently Mad podcast, and teaches the steps in creating and growing a podcast in his course Irresistible Podcasting.
He was one of the people who inspired Brian to get the Test & Code podcast started in the first place. Brian took his course in 2015. Adam is in the process of updating the course, and building a community around it.
Warning: This may be an episode to listen to with headphones if you have kids around. There is swearing.
I wanted to get Adam's help to convince many of you to either come on this show as a guest, or start your own podcast. We did some of that. But we also cover a lot of issues like self doubt and the importance of community.Special Guest: Adam Clark.Links:Irresistible Podcasting – A Step by Step Guide to Launching and Growing a Podcast that Can’t Be IgnoredThe Gently Mad – Life, business & entrepreneurship without the bullshit.avclark.comJustin Jacksons episodes on minimal podcasting | Build and LaunchDan Benjamin's Podcast Method podcastPython Bytes PodcastATR2100 MicShure SM57 MicShure SM7B micdbx 286s Microphone Preamp ProcessorFocusrite Scarlett 2i2 USB Audio Interface

Mar 29, 2018 • 19min
39: Thorough software testing for critical features
Complete and exhaustive testing is not possible. Nor would it be fun, or maintainable, or a good use of your time.
However, some functionality is important enough to make sure the test behavior coverage is thorough enough to have high confidence in it's quality.
In this episode, we discuss 3 techniques that can be combined to quickly generate test cases. We then talk about how to implement them efficiently in pytest.
The techniques covered are:
equivalence partitioning
boundary value analysis
decision tables
We discuss how to use these to generate test cases for a new list filter functionality in the cards application.
The resulting tests:
1 UI test to make sure the options are able to be passed in correctly.
1 small parametrized test function with 16 single line parameter sets representing the different test cases.
Links:github cards project (version 0.1.11)Equivalence partitioning - WikipediaBoundary-value analysis - WikipediaDecision table - WikipediaSlack Channel for Test and CodeDJ YANiC - The awesome listener that contributed our theme music.


