

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

Apr 7, 2017 • 33min
28: Chaos Engineering & Experimentation at Netflix - Casey Rosenthal
Today we have an interview with Casey Rosenthal of Netflix.
One of the people making sure Netflix runs smoothly is Casey Rosenthall.
He is the manager for the Traffic, Intuition, and Chaos teams at Netflix.
He's got a great perspective on quality and large systems.
We talk about
Chaos Engineering
Experimentation vs Testing
Testing Strategy
Visualization of large amounts of data representing Steady State
Special Guest: Casey Rosenthal.

Feb 26, 2017 • 42min
27: Mahmoud Hashemi : unit, integration, and system testing
What is the difference between a unit test, an integration test, and a system test? Mahmoud Hashemi helps me to define these terms, as well as discuss the role of all testing variants in software development.
What is the difference between a unit test, an integration test, and a system test?
TDD
testing pyramid vs testing column
the role of testing in software development
web frameworks
listen to wikipedia
hatnote
the world’s largest photo competition
Enterprise Software with Python
Links:
Mahmoud on twitter: @mhashemi
Mahmoud on sedimental
hatnote
listen to wikipedia
Montage, the web platform used to help judge the world’s largest photo competition
clastic
10 Myths of Enterprise Python
Enterprise Software with Python course
Enterprise Software with Python blog post.
Special Guest: Mahmoud Hashemi.

Dec 1, 2016 • 58min
26: pyresttest – Sam Van Oort
Interview with Sam Van Oort about pyresttest, "A REST testing and API microbenchmarking tool"
pyresttest
A question in the Test & Code Slack channel was raised about testing REST APIs. There were answers such as pytest + requests, of course, but there was also a mention of pyresttest, https://github.com/svanoort/pyresttest, which I hadn't heard of. I checked out the github repo, and was struck by how user friendly the user facing test definitions were. So I contacted the developer, Sam Van Oort, and asked him to come on the show and tell me about this tool and why he developed it.
Here's the "What is it?" section from the pyresttest README:
A REST testing and API microbenchmarking tool
Tests are defined in basic YAML or JSON config files, no code needed
Minimal dependencies (pycurl, pyyaml, optionally future), making it easy to deploy on-server for smoketests/healthchecks
Supports generate/extract/validate mechanisms to create full test scenarios
Returns exit codes on failure, to slot into automated configuration management/orchestration tools (also supplies parseable logs)
Logic is written and extensible in Python
Support
Special thanks to my wonderful Patreon supporters and those who have supported the show by purchasing Python Testing with unittest, nose, pytest

Dec 1, 2016 • 42min
25: Selenium, pytest, Mozilla – Dave Hunt
Interview with Dave HuntdWe Cover:Selenium Driverpytestpytest plugins: pytest-seleniumpytest-htmlpytest-variablestoxDave Hunt’s “help wanted” list on githubMozillaAlso:fixturesxfailCI and xfail and html reportsCI and capturing pytest code sprintworking remotely for Mozilla

Nov 10, 2016 • 35min
24: pytest - Raphael Aurich
pytest is an extremely popular test framework used by many projects and companies. In this episode, I interview Raphael Aurich (@hackebrot), a core contributor to both pytest and cookiecutter. We discuss how Raphael got involved with both projects, his involvement in cookiecutter, pytest, "adopt pytest month", the pytest code sprint, and of course some of the cool new features in pytest 3.Links:pytest - http://doc.pytest.orgcookie cutter - https://github.com/audreyr/cookiecuttercookiecutter-pytest-plugin - https://github.com/pytest-dev/cookiecutter-pytest-plugin

Sep 30, 2016 • 14min
23: Lessons about testing and TDD from Kent Beck
Kent Beck's twitter profile says "Programmer, author, father, husband, goat farmer". But I know him best from his work on extreme programming, test first programming, and test driven development. He's the one. The reason you know about TDD is because of Kent Beck.
I first ran across writings from Kent Beck as started exploring Extreme Programming in the early 2000's.
Although I don't agree with all of the views he's expressed in his long and verbose career, I respect him as one of the best sources of information about software development, engineering practices, and software testing.
Along with Test First Programming and Test Driven Development, Kent started an automated test framework that turned into jUnit. jUnit and it's model of setup and teardown wrapping test functions, as well base test class driven test frameworks became what we know of as xUnit style frameworks now, which includes Python's unittest.
He discussed this history and a lot more on episode 122 of Software Engineering Radio. The episode is titled "The History of JUnit and the Future of Testing with Kent Beck", and is from Sept 26, 2010.
http://www.se-radio.net/2010/09/episode-167-the-history-of-junit-and-the-future-of-testing-with-kent-beck/
I urge you to download it and listen to the whole thing. It's a great interview, still relevant, and applicable to testing in any language, including Python.
What I've done in this podcast is take a handful of clips from the interview (with permission from IEEE and SERadio), and discuss the clips and my opinions a bit.
The lessons are:
You're tests should tell a story.
Be careful of DRY, inheritance, and other software development practices that might get in the way of keeping your tests easy to understand.
All test should help differentiate good programs from bad programs and not be redundant.
Test at multiple levels and multiple scales where it makes sense.
Differentiating between TDD, BDD, ATDD, etc. isn't as important as testing your software to learn about it. Who cares what you call it.

Sep 24, 2016 • 11min
22: Converting Manual Tests to Automated Tests
How do you convert manual tests to automated tests?
This episode looks at the differences between manual and automated tests and presents two strategies for converting manual to automated.

Aug 31, 2016 • 18min
21: Terminology: test fixtures, subcutaneous testing, end to end testing, system testing
A listener requested that I start covering some terminology. I think it's a great idea.Covered in this episode:Test FixturesSubcutaneous TestingEnd to End Testing (System Testing)I also discuss:A book rewriteProgress on transcriptsA story from the slack channel

Jul 29, 2016 • 47min
20: Talk Python To Me - Michael Kennedy
I talk with Michael about:Episodes of his show having to do with testing.His transition from employee to podcast host and online training entrepreneur.His Python training courses.The Pyramid Web framework.Courses by MichaelExplore Python Jumpstart by Building 10 AppsExplore Write Pythonic Code Like a Seasoned DeveloperPython for EntrepreneursTesting related podcast Episodes from Talk Python To Me:episode 10: Harry Percival, TDD for the Web in Python, and PythonAnywherePythonAnywhereHarry's book, TDD with Pythonepisode 45: Brian Okken, Pragmatic testing and the Testing ColumnTalk Python To Me podcastepisode 63: Austin Bingham, Mutation Testing, Cosmic RayCosmic Ray episode 67: David MacIver, HypothesisHypothesis

Jun 15, 2016 • 40min
19: Python unittest - Robert Collins
Interview with Robert Collins, current core maintainer of Python's unittest module.Some of the topics coveredHow did Robert become the maintainer of unittest?unittest2 as a rolling backport of unittesttest and class parametrization with subtest and testscenariosWhich extension to unittest most closely resembles Pytest fixtures?Comparing Pytest and unittestWill unittest ever get assert rewriting?Future changes to unittestI've been re-studying unittest recently and I mostly wanted to ask Robert a bunch of clarifying questions.This is an intermediate to advanced discussion of unittest. Many great features of unittest go by quickly in this talk. Please let me know if there's something you'd like me to cover in more depth as a blog post or a future episode.Linksunittestunittest2pipmocktesttoolsfixturestestscenariossubunitpipserverdevpitestresourcesTIP (testing in python) mailing list


