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

Nov 19, 2018 • 55min
53: Seven Databases in Seven Weeks - Luc Perkins
Luc Perkins joins the show to talk about "Seven Databases in Seven Weeks: A guide to modern databases and the NoSQL movement."
We discuss a bit about each database: Redis, Neo4J, CouchDB, MongoDB, HBase, Postgres, and DynamoDB.Special Guest: Luc Perkins.Sponsored By:PyCharm Professional: Try PyCharm Pro for an extended 4 month trial before deciding which version you need. If you value your time, you owe it to yourself to try PyCharm. Promo Code: TESTANDCODE22Links:Seven Databases in Seven Weeks, Second Edition: A Guide to Modern Databases and the NoSQL MovementPostgreSQLRedisNeo4j Graph DatabaseCouchDBMongoDBHBaseDynamoDB
★ Support this podcast on Patreon ★

Nov 5, 2018 • 51min
52: pyproject.toml : the future of Python packaging - Brett Cannon
Brett Cannon discusses the changes afoot in Python packaging as a result of PEP 517, PEP 518, starting with "How did we get here?" and "Where are we going?"
Discussed:
flit
Poetry
tox
Continuous Integration
setup.py, MANIFEST.in, etc.
pipenv
what's with lock files
applications (doesn't go on PyPI) vs libraries (goes on PyPI)
workflows
dependency resolution
deployment dependencies vs development dependencies
will lock files be standarized
multiple lock files
requirements.txt
Special Guest: Brett Cannon.Sponsored By:DigitalOcean: Get started with a free $100 credit Links:FlitPoetryPython Bytes #100 : The big 100 with special guests PEP 517 -- A build-system independent format for source trees | Python.orgPEP 518 -- Specifying Minimum Build System Requirements for Python Projects | Python.org
★ Support this podcast on Patreon ★

Oct 30, 2018 • 32min
51: Feature Testing
Andy Knight joins me in discussing the concept of feature testing.
A feature tests is "a test verifying a service or library as the customer would use it, but within a single process." That was a quote from an article that appeared on the Twitter engineering blog. The article describes a shift away from class tests towards feature tests, the benefits of the shift, and some reactions to it.
Feature tests are similar to something I used to call "functional subcutaneous integration test", but it's a way better name, and I plan to use it more often.
The idea fits well with my testing philosophy. Andy Knight is someone still holding onto the testing pyramid. So I thought it would be fun to ask him to discuss feature testing with me. I think it's a balanced discussion. I hope you enjoy it and learn something.Special Guest: Andy Knight.Sponsored By:PyCharm Professional: Try PyCharm Pro for an extended 4 month trial before deciding which version you need. If you value your time, you owe it to yourself to try PyCharm. Promo Code: TESTANDCODE22Links:Twitter engineering blog article describing Feature Testing : The testing renaissance
★ Support this podcast on Patreon ★

Oct 25, 2018 • 32min
50: Flaky Tests and How to Deal with Them
Anthony Shaw joins Brian to discuss flaky tests and flaky test suites.
What are flaky tests?
Is it the same as fragile tests?
Why are they bad?
How do we deal with them?
What causes flakiness?
How can we fix them?
How can we avoid them?
Proactively rooting out flakiness
Test design
GUI tests
Sharing solutions
Special Guest: Anthony Shaw.Sponsored By:DigitalOcean: Get started with a free $100 credit Links:Dropbox article on flaky testsMicrosoft article on flaky testspytest-rerunfailures: a py.test plugin that re-runs failed tests up to -n times to eliminate flakey failurespytest-randomly: Pytest plugin to randomly order tests and control random.seedpytest-random-order: pytest plugin to randomise the order of tests with some control over the randomnessmath.isclose()numpy.isclose()pytest.approx() — approxAnthony's testing article on RealPythonGhost Inspectorwily: A Python application for tracking, reporting on timing and complexity in tests
★ Support this podcast on Patreon ★

Oct 15, 2018 • 56min
49: tox - Oliver Bestwalter
tox is a simple yet powerful tool that is used by many Python projects.
tox is not just a tool to help you test a Python project against multiple versions of Python. In this interview, Oliver and Brian just scratch the surface of this simple yet powerful automation tool.
This is from the tox documentation:
tox is a generic virtualenv management and test command line tool you can use for:
checking your package installs correctly with different Python versions and interpreters
running your tests in each of the environments, configuring your test tool of choice
acting as a frontend to Continuous Integration servers, greatly reducing boilerplate and merging CI and shell-based testing.
Yet tox is so much more. It can help create development environments, hold all of your admin scripts, ...
I hope you enjoy this wonderful discussion of tox with Oliver Bestwalter, one of the core maintainers of tox.Special Guest: Oliver Bestwalter.Sponsored By:PyCharm Professional: Try PyCharm Pro for an extended 4 month trial before deciding which version you need. If you value your time, you owe it to yourself to try PyCharm. Promo Code: TESTANDCODE22Links:tox project documentationtox recreate : "Have you turned it off and on again?" for tox"Hello world" of toxtox also has pluginstalk by Bernát Gábor about a tox based workflow at EuroPython 2018adding a description to your environmentsdetox - distributed toxdevpi: private package indexPyCharm plugin to easily set the project interpreter via context menu: PyVenvmanagepower mode in atomPower Mode for PyCharm
★ Support this podcast on Patreon ★

Oct 8, 2018 • 12min
48: A GUI for pytest
The story of how I came to find a good user interface for running and debugging automated tests is interleaved with a multi-year effort of mine to have a test workflow that’s works smoothly with product development and actually speeds things up. It’s also interleaved with the origins of the blog pythontesting.net, this podcast, and the pytest book I wrote with Pragmatic.
It’s not a long story. And it has a happy ending. Well. It’s not over. But I’m happy with where we are now. I’m also hoping that this tale of my dedication to, or obsession with, quality and developer efficiency helps you in your own efforts to make your daily workflow better and to extend that to try to increase the efficiency of those you work with.Sponsored By:Python Testing with pytest, 2nd edition: The fastest way to learn pytest and practical testing practices.Patreon Supporters: Help support the show with as little as $1 per month and be the first to know when new episodes come out.Links:pythontesting.net
★ Support this podcast on Patreon ★

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.Sponsored By:PyCharm Professional: Try PyCharm Pro for an extended 4 month trial before deciding which version you need. If you value your time, you owe it to yourself to try PyCharm. Promo Code: TESTANDCODE22Links:Automation Panda | A blog for software development and testingKarate REST API test frameworkBDD | Automation PandaTesting | Automation PandaThe pytest Book
★ Support this podcast on Patreon ★

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.Sponsored By:Patreon Supporters: Help support the show with as little as $1 per month and be the first to know when new episodes come out.
★ Support this podcast on Patreon ★

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.Sponsored By:PyCharm Professional: If you value your time, you owe it to yourself to try PyCharm.
The team has set up a link just for Test & Code listeners.
If you use the link [testandcode.com/pycharm](http://testandcode.com/pycharm), you can try
PyCharm Professional for free for 3 months.
This offer is only good until Sept 1, so don't forget.
Plus using the link (I'll also have it in the show notes) lets PyCharm know that supporting Test & Code is a good thing. Promo Code: TESTANDCODE22Links: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)
★ Support this podcast on Patreon ★

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.Sponsored By:PyCharm Professional: If you value your time, you owe it to yourself to try PyCharm.
The team has set up a link just for Test & Code listeners.
If you use the link [testandcode.com/pycharm](http://testandcode.com/pycharm), you can try
PyCharm Professional for free for 3 months.
This offer is only good until Sept 1, so don't forget.
Plus using the link (I'll also have it in the show notes) lets PyCharm know that supporting Test & Code is a good thing. Promo Code: TESTANDCODE22Links: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.… "
★ Support this podcast on Patreon ★