Synopsis
Test & Code is a weekly podcast hosted by Brian Okken.The show covers a wide array of topics including software development, testing, Python programming, and many related topics. When we get into the implementation specifics, that's usually Python, such as Python packaging, tox, pytest, and unittest. However, well over half of the topics are language agnostic, such as data science, DevOps, TDD, public speaking, mentoring, feature testing, NoSQL databases, end to end testing, automation, continuous integration, development methods, Selenium, the testing pyramid, and DevOps.
Episodes
-
37: What tests to write first
08/03/2018 Duration: 20minThis episode starts down the path of test strategy with the first tests to write in either a legacy system or a project just getting off it's feet. We cover: My approach to testing existing systems. Put names to strategies so we can refer to them later. Explain the strategies in general terms and explain why they are useful. Discuss how these strategies are used in an example project. (The code is available on github). Strategies covered today: Dog Fooding Exploratory Testing Tracer Bullet Tests Act Like A Customer (ALAC) Tests Manual Procedures Initial automated tests at 2 levels, API and UI.
-
36: Stephanie Hurlburt - Mentoring and Open Office Hours
13/02/2018 Duration: 31minStephanie is a co-founder and graphics engineer at Binomial. She works on Basis, an image compressor, and has customers in games, video, mapping, and any application that has lots of image data. Stephanie has also been encouraging experienced engineers to open up their twitter DMs to questions from anyone, to help mentor people not only in technical questions, but in career questions as well. She also sets aside some time to mentor people through skype when written form just doesn't cut it. That's the primary reason I have Stephanie on today, to talk about mentoring and open office hours. But we also talk about Binomial image compression texture mapping the use of both manual and automated testing for complex systems sane work hours work life balance and how long hours have led her to the opinions she holds today Special Guest: Stephanie Hurlburt.Links:BinomialList of Engineers Willing to Mentor You — Stephanie HurlburtStephanie Hurlburt (@sehurlburt) | TwitterSlack - Python Testing / Test & Code —
-
35: Continuing Education and Certificate Programs at UW
01/02/2018 Duration: 25minThere are lots of ways to up your skills. Of course, I'm a big fan of learning through reading books, such as upping your testing skills by reading Python Testing with pytest. And then there are online learning systems and MOOCs. At the other end of the spectrum is a full blown university degree. One option kind of in the middle is continuing education programs available through some universities, such as University of Washington. To discuss this option with me in more depth, we've got Andrew Hoover, Senior Director, Program Strategy, University of Washington Continuum CollegeSpecial Guest: Andrew Hoover.Links:UW Professional & Continuing EducationUW Career Accelerator CertificatesCertificate in Data AnalyticsCertificate in Data ScienceCertificate in Machine LearningCertificate in Project ManagementCertificate in Python Programming
-
34: TDD and Test First
31/12/2017 Duration: 25minAn in depth discussion of Test Driven Development (TDD) should include a discussion of Test First. So that's where we start. Why write tests first? How do you know what tests to write? What are the steps for test first? Isn't this just TDD? Functional Tests vs Unit Tests Links:Test First Programming / Test First Development - Python TestingMy reaction to "Is TDD Dead?" - Python TestingEpisode 23: Lessons about testing and TDD from Kent BeckTalk Python, Episode #145 2017 Python Year in ReviewPyCon 2018 in Cleveland, Ohio | May 9-17Python Bytes PodcastPython Testing with pytest: Simple, Rapid, Effective, and Scalable: Brian Okken: 9781680502404: Amazon.com: Books
-
33: Katharine Jarmul - Testing in Data Science
30/11/2017 Duration: 37minA discussion with Katharine Jarmul, aka kjam, about some of the challenges of data science with respect to testing. Some of the topics we discuss: experimentation vs testing testing pipelines and pipeline changes automating data validation property based testing schema validation and detecting schema changes using unit test techniques to test data pipeline stages testing nodes and transitions in DAGs testing expected and unexpected data missing data and non-signals corrupting a dataset with noise fuzz testing for both data pipelines and web APIs datafuzz hypothesis testing internal interfaces documenting and sharing domain expertise to build good reasonableness intermediary data and stages neural networks speaking at conferences Special Guest: Katharine Jarmul.Links:@kjam on Twitter — Data Magic and Computer SorceryKjamistan: Data Sciencedatafuzz’s Python library — The goal of datafuzz is to give you the ability to test your data science code and models with BAD data.Hypothesis Python library — Hypothesi
-
32: David Hussman - Agile vs Agility, Dude's Law, and more
03/10/2017 Duration: 47minA wonderful discussion with David Hussman. David and Brian look back at what all we've learned in XP, TDD, and other Agile methodologies, where things have gone awry, how to bring the value back, and where testing fits into all of this. How to build the wrong thing faster Agile vs Agility Product vs Process Where testing fits into software development practices. "Integration tests, there's a name that needs to be refactored desperately." Integration tests are "story tests". They tell the story of the product. XP and TDD and the relationship with tests To test for design, use microtests, xUnit style. User Advocy tests are often lacking, but are needed to learn about the product. "I just keep writing tests until I'm not scared anymore." - Kent Beck Dude's Law: Value = Why/How People often focus so much on the how that they forget about why they are doing something. Subcutaneous Tests "The hardest part of programming is thinking." Refactoring vs Repaving Agility means being able to quickly change direction D
-
31: I'm so sick of the testing pyramid
27/09/2017 Duration: 39minWhat started as a twitter disagreement carries over into this civil discussion of software testing. Brian and Paul discuss testing practices such as the testing pyramid, TDD, unit testing, system testing, and balancing test effort. the Testing Pyramid the Testing Column TDD unit testing balancing unit with system tests, functional tests API testing subcutaneous testing customer facing tests Special Guest: Paul Merrill.
-
30: Legacy Code - M. Scott Ford
01/08/2017 Duration: 41minM. Scott Ford is the founder and chief code whisperer at Corgibytes, a company focused on helping other companies with legacy code. Topics include: How M. Scott Ford got into forming a company that works on legacy code. Technical debt Process debt Software testing The testing pyramid iterative development kanban readable code and readable test code Special Guest: M. Scott Ford.
-
29: Kobiton & QASymphony - Josh Lieberman
01/07/2017 Duration: 18minKobiton is a service to test mobile apps on real devices. QASymphony offers software testing and QA tools.Special Guest: Josh Lieberman.
-
28: Chaos Engineering & Experimentation at Netflix - Casey Rosenthal
07/04/2017 Duration: 32minToday 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.
-
27: Mahmoud Hashemi : unit, integration, and system testing
26/02/2017 Duration: 41minWhat 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.
-
26: pyresttest – Sam Van Oort
01/12/2016 Duration: 57minInterview 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
-
25: Selenium, pytest, Mozilla – Dave Hunt
01/12/2016 Duration: 42minInterview 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
-
24: pytest - Raphael Aurich
10/11/2016 Duration: 35minpytest 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
-
23: Lessons about testing and TDD from Kent Beck
30/09/2016 Duration: 13minKent 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
-
22: Converting Manual Tests to Automated Tests
24/09/2016 Duration: 10minHow 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.
-
21: Terminology: test fixtures, subcutaneous testing, end to end testing, system testing
31/08/2016 Duration: 18minA 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
-
20: Talk Python To Me - Michael Kennedy
29/07/2016 Duration: 47minI 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
-
19: Python unittest - Robert Collins
15/06/2016 Duration: 40minInterview 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
-
18: Testing in Startups and Hiring Software Engineers - Joe Stump
20/04/2016 Duration: 53minIn 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.