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

Aug 16, 2019 • 24min
83: PyBites Code Challenges behind the scenes - Bob Belderbos
Bob Belderbos and Julian Sequeira started PyBites a few years ago.
They started doing code challanges along with people around the world and writing about it.
Then came the codechalleng.es platform, where you can do code challenges in the browser and have your answer checked by pytest tests. But how does it all work?
Bob joins me today to go behind the scenes and share the tech stack running the PyBites Code Challenges platform.
We talk about the technology, the testing, and how it went from a cool idea to a working platform.Special Guest: Bob Belderbos.Sponsored By:PyCharm Professional: Try PyCharm Pro with a 4 month free trial. Promo Code: TESTANDCODE22Links:PyBitesPyBites Code Challenges coding platformLearning PathsJulian's article on whiteboard interviewsSelenium running on CodeChalleng.es
★ Support this podcast on Patreon ★

Jul 31, 2019 • 37min
82: pytest - favorite features since 3.0 - Anthony Sottile
Anthony Sottile is a pytest core contributor, as well as a maintainer and contributor to
many other projects. In this episode, Anthony shares some of the super cool features of pytest that have been added since he started using it.
We also discuss Anthony's move from user to contributor, and how others can help with the pytest project.Special Guest: Anthony Sottile.Sponsored By:Azure Pipelines: Automate your builds and deployments with pipelines so you spend less time with the nuts and bolts and more time being creative. Many organizations and open source projects are using Azure Pipelines already. Get started for free at azure.com/pipelinesLinks:pytest documentationpytest Changelogpytest API Referencesponsor pytestgetting started contributing to pytestthe book: Python Testing with pytest — The fastest way to learn pytest
★ Support this podcast on Patreon ★

Jul 17, 2019 • 25min
81: TDD with flit
In the last episode, we talked about going from script to supported package.
I worked on a project called subark and did the packaging with flit.
Today's episode is a continuation where we add new features to a supported package and how to develop and test a flit based package.
Covered:
viewing stages of a project with git tags
flit support for editable installs
flit description entry in pyproject.toml to put README on pypi.
development dependencies in pyproject.toml
editor layout for optimal TDD-ing
test case grouping
modifications to traditional TDD that helps me develop faster.
code and command snippets from episode:
For git checkout of versions:
$ git clone https://github.com/okken/submark.git
$ cd submark
$ python3 -m venv venv --prompt submark
$ source ./bin/activate
(submark) $ git checkout v0.1
... etc ...
(submark) $ git checkout v0.7
To grab the latest again:
(submark) $ git checkout master
pyproject.toml change for README to show up on pypi:
[tool.flit.metadata]
...
description-file = "README.md"
...
Adding dev dependencies to pyproject.toml:
[tool.flit.metadata.requires-extra]
test = ["pytest", "pytest-cov", "tox"]
Installing in editable mode (in top level repo directory). works in mac, linux, windows:
(submark) $ flit install --pth-file
or for mac/linux:
(submark) $ flit install -s
Sponsored By:PyCharm Professional: PyCharm is designed by programmers, for programmers, to provide all the tools you need for productive Python development. Promo Code: TESTANDCODE22Links:submark · PyPIsubmark on GitHubThe pyproject.toml config file — Flit 1.3 documentationFlit install — Flit 1.3 documentationTest & Code 80: From Python script to Maintainable Package
★ Support this podcast on Patreon ★

Jul 4, 2019 • 22min
80: From Python script to Maintainable Package
This episode is a story about packaging, and flit, tox, pytest, and coverage.
And an alternate solution to "using the src".
Python makes it easy to build simple tools for all kinds of tasks.
And it's great to be able to share small projects with others on your team, in your company, or with the world.
When you want to take a script from "just a script" to maintainable package, there are a few steps, but none of it's hard.
Also, the structure of the code layout changes to help with the growth and support.
Instead of just talking about this from memory, I thought it'd be fun to create a new project and walk through the steps, and report back in a kind of time lapse episode. It should be fun.
Here are the steps we walk through:
0.1 Initial script and tests
0.2 build wheel with flit
0.3 build and test with tox
0.4 move source module into a package directory
0.5 move tests into tests directory
Sponsored By:Pantheon: Pantheon makes building, managing, and optimizing websites simpler.
Get started for free at pantheon.io/testandcode.Links:submark repo: A Subset of MarkdownFlit documentationCoverage.py documentationtox documentation
★ Support this podcast on Patreon ★

Jun 27, 2019 • 23min
79: Fixing misinformation about software testing
Some information about software testing is just wrong.
I'm not talking about opinions. I have lots of opinions and they differ from other peoples opinions. I'm talking about misinformation and old information that is no longer applicable.
I've ran across a few lateley that I want to address.
All of the following are wrong:
Integrated tests can't work. I can prove it with wacky math.
Tests have to be blazing fast or they won't get run.
TDD is about design, not about testing.
This episode discusses why these are wrong.Sponsored By:Pantheon: Pantheon makes building, managing, and optimizing websites simpler.
Get started for free at pantheon.io/testandcode.Links:Why should you write tests? - A Question of Code PodcastBoundaries talk by Gary BernhardtIntegrated Tests Are A Scam - J B RainsbergerUnitTest - Solitary or Sociable - and speed - Martin FowlerPremature optimization is the root of all evil -- DonaldKnuthMy reaction to "Is TDD Dead?" - Python TestingTest-induced design damage - DHHSlow database test fallacy - DHHRailsConf 2014 - Keynote: Writing Software - DHHManifesto for Agile Software DevelopmentApache Beam Contrib Guide, including post commit testing
★ Support this podcast on Patreon ★

Jun 19, 2019 • 31min
78: I don't write tests because ...
Roadblocks to writing tests, and what to do about it.
Some developers either don't write tests, or don't like writing tests.
Why not? I love writing tests.
In this episode we examine lots of roadblocks to testing, and start coming up with solutions for these.Sponsored By:Pantheon: Pantheon makes building, managing, and optimizing websites simpler.
Get started for free at pantheon.io/testandcode.Links:"I don’t write tests because ____. " twitter questionepisode 75: Modern Testing Principlesepisode 76: TDD: Don’t be afraid of Test-Driven Development "A QA engineer walks into a bar"
★ Support this podcast on Patreon ★

Jun 11, 2019 • 23min
77: Testing Complex Systems with Maintainable Test Suites
Creating maintainable test suites for complex systems. The episode describes some complexities involved with hardware testing, then shares techniques for shifting complexity out of the test cases.
quick overview of what test instruments are
discussion of API and communication with instruments
techniques for shifting complexity out of test cases
These techniques should apply to all test suites dealing with complex systems:
Creating test cases that are easy to read and debug and tell a story about what is being tested.
Pushing setup complexity into fixtures.
Pushing lengthy repetitive API call sets into helper functions.
Using stable, documented, interfaces.
Sponsored By:Pantheon: Pantheon makes building, managing, and optimizing websites simpler.
Get started for free at pantheon.io/testandcode.Links:VoltmeterOscilloscopeSpectrum analyzerFunction generatorArbitrary waveform generatorWireless Communications Testers & SystemsR&S CMW PlatformSCPI - Standard Commands for Programmable InstrumentsVISA - Virtual instrument software architecturePyVISA: Control your instruments with Pythonpytestpytest book
★ Support this podcast on Patreon ★

May 29, 2019 • 36min
76: TDD: Don’t be afraid of Test-Driven Development - Chris May
Test Driven Development, TDD, can be intimidating to try.
Why is that? And how can we make it less scary?
That's what this episode is about.
Chris May is a Python developer and the co-founder of PyRVA, the Richmond Virginia Python group.
In this episode, Chris shares his experience with adding testing and TDD to his work flow.
I really enjoyed talking with Chris, and I think his story will help lots of people overcome testing anxiety.Special Guest: Chris May.Sponsored By:PyCharm Professional: Try PyCharm Pro for 4 months. Offer good through June 10.
Try out Pro features like integrated coverage and profiling, and extended support for Django, Flask, Pyramid, Cython, and more. Promo Code: TESTANDCODE22Links:Don't be afraid of Test-Driven DevelopmentEveryday Superpowers
★ Support this podcast on Patreon ★

May 23, 2019 • 40min
75: Modern Testing Principles - Alan Page
Software testing, if done right, is done all the time, throughout the whole life of a software project. This is different than the verification and validation of a classical model of QA teams. It's more of a collaborative model that actually tries to help get great software out the door faster and iterate quicker.
One of the people at the forefront of this push is Alan Page. Alan and his podcast cohost Brent Jensen tried to boil down what modern testing looks like in the Modern Testing Principles.
I've got Alan here today, to talk about the principles, and also to talk about this transition from classical QA to testing specialists being embedded in software teams and then to software teams doing their own testing.
But that only barely scratches the surface of what we cover. I think you'll learn a lot from this discussion.
The seven principles of Modern Testing:
Our priority is improving the business.
We accelerate the team, and use models like Lean Thinking and the Theory of Constraints to help identify, prioritize and mitigate bottlenecks from the system.
We are a force for continuous improvement, helping the team adapt and optimize in order to succeed, rather than providing a safety net to catch failures.
We care deeply about the quality culture of our team, and we coach, lead, and nurture the team towards a more mature quality culture.
We believe that the customer is the only one capable to judge and evaluate the quality of our product
We use data extensively to deeply understand customer usage and then close the gaps between product hypotheses and business impact.
We expand testing abilities and knowhow across the team; understanding that this may reduce (or eliminate) the need for a dedicated testing specialist.
Special Guest: Alan Page.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.Links:Tooth of the Weasel – notes and rants about software and software qualityAB Testing – Alan and Brent talk about Modern Testing – including Agile, Data, Leadership, and more.Modern Testing PrinciplesThe Lean Startup
★ Support this podcast on Patreon ★

May 21, 2019 • 27min
74: Technical Interviews: Preparing For, What to Expect, and Tips for Success - Derrick Mar
In this episode, I talk with Derrick Mar, CTO and co-founder of Pathrise.
This is the episode you need to listen to to get ready for software interviews.
We discuss four aspects of technical interviews that interviewers are looking for:
communication
problem solving
coding
verification
How to practice for the interview.
Techniques for synchronizing with interviewer and asking for hints.
Even how to ask the recruiter or hiring manager how to prepare for the interview.
If you or anyone you know has a software interview coming up, this episode will help you both feel more comfortable about the interview before you show up, and give you concrete tips on how to do better during the interview.Special Guest: Derrick Mar.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:72: Technical Interview Fixes - April WenselPathrise
★ Support this podcast on Patreon ★