

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

Apr 20, 2016 • 53min
18: Testing in Startups and Hiring Software Engineers - Joe Stump
In this episode, I interview with Joe Stump, cofounder of Sprintly (https://sprint.ly), to give the startup perspective to development and testing.Joe has spent his career in startups. He's also been involved with hiring and talent acquisition for several startups.We talk about testing, continuous integration, code reviews, deployment, tolerance to defects, and how some of those differ between large companies and small companies and startups.Then we get into hiring. Specifically, finding and evaluating good engineers, and then getting them to be interested in working for you.If you ever want to grow your team size, you need to listen to this.

Apr 11, 2016 • 27min
17: The Travis Foundation - Laura Gaetano
The Travis Foundation. Interview with Laura GaetanoLinks and things we talked about:Travis FoundationOpen Source GrantsThe Foundation's support of Katrina Owen from exercism.ioExercism.ioRails Girls summer of codeDiversity TicketsConference supportSpeakerinnenPrompt

Mar 31, 2016 • 9min
16: Welcome to Test and Code
This is a small episode.
I'm changing the name from the "Python Test Podcast" to "Test & Code".
I just want to discuss the reasons behind this change, and take a peek at what's coming up in the future for this podcast.
Links
The Waterfall Model and "Managing the Development of Large Software Systems"
Josh Kalderimis from Travis CI

Mar 9, 2016 • 11min
15: Lean Software Development
An introduction to Lean Software Development
This is a quick intro to the concepts of Lean Software Development.
I'm starting a journey of trying to figure out how to apply lean principles to software development in the context of 2016/2017.
Links
Lean Software Development book by Mary & Tom Poppendieck
wikipedia entry for Lean Software Development
Patreon supporters of the show
Talk Python to Me Podcast
Python Jumpstart by Building 10 Apps - video course
pytest sprint
pytest.org
pytest/tox indiegogo campaign

Feb 25, 2016 • 58min
14: Continuous Integration with Travis CI – Josh Kalderimis
Interview with Josh Kalderimis from Travis CI.
Josh is a co-founder and Chief Post-It Officer at Travis CI.
Topics
What is Continuous Integration, CI
What is Travis CI
Some history of the company
travis-ci.org vs travis-ci.com and merging the two
Enterprise and the importance of security
Feature questions
Travis vs Jenkins
Travis notification through Slack
Reporting history of Travis results
Dealing with pytest results status other than pass/fail
Capturing std out and stderr logging from tests
Build artifacts
Tox and Travis
Using Selenium
What does a Chief Post-It Officer do
Differentiation between Travis and other CI options
Using Slack to keep remote teams communicating well
Travis team
Funding open source projects
Travis Foundation
Rails Girls Summer of Code
Open source grants
Mustaches and beards
Shite shirts
New Zealand
What does Team Periwinkle do
Links
Jeff Knupp's Open Sourcing a Python Project the Right Way
Sven's blog post when Travis started
Sven's mustache and Josh's beard
Travis CI for open source
Travis CI for private repositories and enterprise
Slack
Travis Foundation
Rails Girls Summer of Code
Talk Python to Me Podcast

Feb 17, 2016 • 21min
13: Ian Cordasco – Betamax
Testing apps that use requests without using mock.
Interview with Ian Cordasco (@sigmavirus24)
Topics:
Betamax - python library for replaying requests interactions for use in testing.
requests
github3.py
Pycon 2015 talk: Ian Cordasco - Cutting Off the Internet: Testing Applications that Use Requests - PyCon 2015
Pytest and using Betamax with pytest fixtures
The utility (or uselessness) of teaching programming with Java (My own rant mainly)
Rackspace and Ian’s role at Rackspace and OpenStack
Python Code Quality Authority: flake8, pep8, mccabe, pylint, astroid, …
Static code analysis and what to use which tool when.
Raymond Hettinger - Beyond PEP 8 -- Best practices for beautiful intelligible code - PyCon 2015
Links:
Testing Python-Requests with Betamax
Cutting Off the Internet: Testing Applications that Use Requests - PyCon 2015
github3.py
requests
Rackspace
Openstack
Python Code Quality Authority and documentation
GitLab
Raymond Hettinger - Beyond PEP 8 -- Best practices for beautiful intelligible code - PyCon 2015
Other Betamax resources:
Betamaxing Boto3
Using Betamax with pytest fixtures
Isolated @memoize

Feb 10, 2016 • 41min
12: Coverage.py with Ned Batchelder
In this episode I interview Ned Batchelder.
I know that coverage.py is very important to a lot of people to understand how much of their code is being covered by their test suites.
Since I'm far from an expert on coverage, I asked Ned to discuss it on the show.
I'm also quite a fan of Ned's 2014 PyCon talk "Getting Started Testing", so I definitely asked him about that.
We also discuss edX, Python user groups, PyCon talks, and more.
Some of what's covered (pun intended) in this episode:
coverage.py
types of coverage
Line coverage
branch coverage
Behavior coverage
Data coverage
How Ned became the owner of coverage.py
Running tests from coverage.py vs running coverage from test runner.
edX
what is it
what Ned's role is
Ned's blog
Ned's PyCon 2014 talk "Getting Started Testing"
Teaching testing and the difficulty of the classes being part of unittest
fixtures package
some of the difficulties of teaching unittest because of it's class based system.
the history of classes in unittest coming from java's jUnit implementation
Boston's Python Group
PyCon in Portland
Ned to do a talk here "Machete mode debugging".
Practicing PyCon talks at local group meetings.
At the very least, practice it in front of a live audience.
Links:
Ned Batchelder
Coverage
Coverage documentation
django-nose
pytest-django
edX
open edX
Boston Python User Group
Portland Python User Group - I need to go to these
PyCon 2016 - Planning on attending, it's in Portland. Yay!
Getting Started Testing - Ned's 2014 Pycon talk
Special Guest: Ned Batchelder.

Feb 4, 2016 • 14min
11: pytest assert magic
How pytest, unittest, and nose deal with assertions.
The job of the test framework to tell developers how and why their tests failed is a difficult job.
In this episode I talk about assert helper functions and the 3 methods pytest uses to get around having users need to use assert helper functions.

Jan 31, 2016 • 20min
10: Test Case Design using Given-When-Then from BDD
Given-When-Then is borrowed from BDD and is my favorite structure for test case design.
It doesn’t matter if you are using pytest, unittest, nose, or something completely different, this episode will help you write better tests.
The Given-When-Then structure for test method/function development.
How and why to utilize fixtures for your given or precondition code.
Similarities with other structure discriptions.
Setup-Test-Teardown
Setup-Excercise-Verify-Teardown.
Arrange-Act-Assert
Preconditions-Trigger-Postconditions.
Benefits
Communicate the purpose of your test more clearly
Focus your thinking while writing the test
Make test writing faster
Make it easier to re-use parts of your test
Highlight the assumptions you are making about the test preconditions
Highlight what outcomes you are expecting and testing against.
Links discussed in the show:
Mechanics of pytest, unittest, nose
unittest fixture reference
nose fixture reference
pytest fixtures (series of posts starting here)
pytest style fixtures
pytest parameterized fixtures

Jan 19, 2016 • 45min
9: Harry Percival : Testing Web Apps with Python, Selenium, Django
Intro to Harry Percival, his background and story of how he got into TDD and ended up writing a bookComparing using unittest and pytest with applicability to testing django projects. Functional end to end testing with selenium.The django test client for middle level tests.test isolationdjango and isolated unit testsunit tests vs integration testsTesting done by the development team without an external QADouble loop TDD: Functional test first, then unit testsSpikes: investigations without testsHarry's experience with having a freely available web version of a book that is also intended to be sold.Update: Comment from Harry Percival on 19-Jan-2014 I might have been a bit down on unit tests vs functional tests in that "unit tests never fail comment". Not true at all, particularly as we've just been thru upgrading django on our core system, and the unit tests really saved our bacon on that one...LinksTest-Driven Development with PythonObey the Testing Goat - Harry's site dedicated to the book and related posts.Python Testing with unittest, nose, pytestGary Bernhardt's talk, Boundaries talk including a discussion of "Functional Core, Imperative Shell".Video of Boundaries talk on youtube


