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

Feb 7, 2021 • 40min
143: pytest markers - Anthony Sottile
Completely nerding out about pytest markers with Anthony Sottile.Some of what we talk about:Running a subset of tests with markers.Using marker expressions with and, or, not, and parentheses.Keyword expressions also can use and, or, not, and parentheses.Markers and pytest functionality that use mark, such as parametrize, skipif, etc.Accessing markers with itermarkers and get_closest_marker through item.Passing values, metadata through markers to fixtures or hook functions.Links:Registering markersslow marker example in pytest documentation — Control skipping of tests according to command line optionpytest-repeat · PyPIsource code for pytest-repeatWorking with custom markers — pytest documentationUsing -k expr to select tests based on their nameMarker revamp and iteration, Historical Notes — pytest documentation
Help support the show AND learn pytest: The Complete pytest course is now a bundle, with each part available separately.pytest Primary Power teaches the super powers of pytest that you need to learn to use pytest effectively.Using pytest with Projects has lots of "when you need it" sections like debugging failed tests, mocking, testing strategy, and CIThen pytest Booster Rockets can help with advanced parametrization and building plugins.Whether you need to get started with pytest today, or want to power up your pytest skills, PythonTest has a course for you.
★ Support this podcast on Patreon ★

Jan 25, 2021 • 35min
142: MongoDB - Mark Smith
MongoDB is possibly the most recognizable NoSQL document database.
Mark Smith, a developer advocate for MongoDB, answers my many questions about MongoDB.
We cover some basics, but also discuss some advanced features that I never knew about before this conversation.
Full TranscriptSpecial Guest: Mark Smith.Sponsored By:PyCharm Professional: Try PyCharm Pro for 4 months and learn how PyCharm will save you time. Promo Code: TESTANDCODE22Links:MongoDBEverything You Know About MongoDB is Wrong!Implementing Event Sourcing and CQRS pattern with MongoDB
★ Support this podcast on Patreon ★

Dec 30, 2020 • 31min
141: Visual Testing - Angie Jones
Visual Testing has come a long way from the early days of x,y mouse clicks and pixel comparisons. Angie Jones joins the show to discuss how modern visual testing tools work and how to incorporate visual testing into a complete testing strategy. Some of the discussion:Classes of visual testing: problems with pixel to pixel testingDOM comparisons, css, html, etc.AI driven picture level testing, where failures look into the DOM to help describe the problem. Where visual testing fits into a test strategy.Combining "does this look right" visual testing with other test workflows."A picture is worth a thousand assertions" - functional assertions built into visual testing.Baselining pictures in the test workflow.Also discussed:automation engineerTest Automation UniversityLinks:Test Automation University
Help support the show AND learn pytest: The Complete pytest course is now a bundle, with each part available separately.pytest Primary Power teaches the super powers of pytest that you need to learn to use pytest effectively.Using pytest with Projects has lots of "when you need it" sections like debugging failed tests, mocking, testing strategy, and CIThen pytest Booster Rockets can help with advanced parametrization and building plugins.Whether you need to get started with pytest today, or want to power up your pytest skills, PythonTest has a course for you.
★ Support this podcast on Patreon ★

Dec 18, 2020 • 48min
140: Testing in Scientific Research and Academia - Martin Héroux
Scientists learn programming as they need it.
Some of them learn it in college, but even if they do, that's not their focus.
It's not surprising that sharing the software used for scientific research and papers is spotty, at best.
And what about testing?
We'd hope that the software behind scientific research is tested.
But why would we expect that?
We're lucky if CS students get a class or two that even mentions automated tests.
Why would we expect other scientists to just know how to test their code?
Martin works in research and this discussion is about software and testing in scientific research and academia.Special Guest: Martin Héroux.Sponsored By:PyCharm Professional: Try PyCharm Pro for 4 months and learn how PyCharm will save you time. Promo Code: TESTANDCODE22Links:Python Testing with pytest: Simple, Rapid, Effective, and ScalableTest Driven Development: By ExampleMy reaction to "Is TDD Dead?" - Python TestingMartinHeroux/pliffy: Plotting differences with PythonPyBites Code ChallengesPython MorselsMartin Héroux (@martin_heroux) / TwitterScientifically SoundMartin Héroux - Google Scholarspike2py · PyPIpytest-mpl · PyPI
★ Support this podcast on Patreon ★

Dec 4, 2020 • 37min
139: Test Automation: Shifting Testing Throughout the Software Lifecycle - Nalin Parbhu
Talking with Nalin Parbhu about the software evolution towards more test automation and the creation of Infuse and useMango.
We talk a software development and "shift left" where automated tests and quality checks have moved earlier into the software lifecycle.
Software approaches and where quality fits in
Shift left
Test automation
Roles of software developers, SDETs (software development engineer in test), testers, QA, etc.
Developers doing testing and devops
Automated testing vs manual testing
Regression testing, UI testing, black bock testing
Unit testing, white box, API, end to end testing
User acceptance testing (UAT)
Mullet Methodology (Agile at the front, Waterfall at the back)
Waterwheel Methodology (Requirements -> iterative development -> QA)
What's an agile team?
Developer resistance to testing
Manifesto for agile software development
Iterative development
Adapting to change
Agility: being able to change course quickly
Special Guests: Nalin Parbhu and Ola Omiyale.Sponsored By:PyCharm Professional: Try PyCharm Pro for 4 months and learn how PyCharm will save you time. Promo Code: TESTANDCODE22
★ Support this podcast on Patreon ★

Nov 19, 2020 • 30min
138: Mutation Testing in Python with mutmut - Anders Hovmöller
Your test suite tells you about the quality of your code under test.
Mutation testing is a way to tell you about the quality of your test suite.
Anders Hovmöller wrote mutmut for mutation testing in Python, and can be used with pytest, unittest, and others.
In this episode, Anders explains mutation testing, how mutation testing with mutmut works, and good workflows.Special Guest: Anders Hovmöller.Sponsored By:Electronic Specifier Insights: Podcast with reviews from electronics shows and latest tech electronics companies are releasingPyCharm Professional: Try PyCharm Pro for 4 months and learn how PyCharm will save you time. Promo Code: TESTANDCODE22Links:mutmut · PyPIcosmic-ray · PyPIMutPy · PyPIparso · PyPImutmut documentationNed Batchelder article on mutmut
★ Support this podcast on Patreon ★

Nov 5, 2020 • 41min
137: Become an Author - Matt Harrison interviews Brian Okken
Matt Harrison, author of many Python books, is putting together a course, Effective Book Authoring, to help other people write and publish books.
As part of this course, he's including interviews with people who have already written books, including me. This is that interview.
We discuss:
Why I wrote "Python Testing with pytest"
Self publishing vs working with a publisher
The writing, editing, and publishing process
Writing format
Book promotion
Advice to other writers
Special Guest: Matt Harrison.Links:Effective Book Authoring — Matt's coursePython Testing with pytest - Simple, Rapid, Effective, and Scalable
★ Support this podcast on Patreon ★

Oct 26, 2020 • 32min
136: Wearable Technology - Sophy Wong
Wearable technology is not just smart consumer devices like watches and activity trackers.
Wearable tech also includes one off projects by designers, makers, and hackers and there are more and more people producing tutorials on how to get started. Wearable tech is also a great way to get both kids and adults excited about coding, electronics, and in general, engineering skills.
Sophy Wong is a designer who makes really cool stuff using code, technology, costuming, soldering, and even jewelry techniques to get tech onto the human body.
Sophy joins the show to answer my many questions about getting started safely with wearable tech.
Some of the questions and topics:
Can I wash my clothing if I've added tech to it?
Is there any danger in wearing technology or building wearable tech?
Are there actual wires and cables conductive thread in the fabric and textiles of some wearable tech projects?
What's a good starter project? Especially if I want to do a wearable tech project with my kids?
Dealing with stretch with clothing and non-bendy electronics.
Some questions around the Sophy Wong and HackSpace "Wearable Tech Projects" book.
How did you get into wearable tech?
Do you have a favorite project?
Can I get into wearable tech if I don't know how to code or solder?
Are these projects accessible to people with limited budgets?
Making projects so you can reuse the expensive bits on multiple projects.
Special Guest: Sophy Wong.Sponsored By:monday.com: Creating a monday.com app can help thousands of people and win you prizes. Maybe even a Tesla or a MacBook.PyCharm Professional: Try PyCharm Pro for 4 months and learn how PyCharm will save you time. Promo Code: TESTANDCODE22Links:sophywong.comWearable Tech Projects book — The wearable technology bookcostumes — The dress is on this page, as well as the Ghostbuster pack and costume.spacesuitMusic video with Sophy's space suitKobakant tutorials
★ Support this podcast on Patreon ★

Oct 20, 2020 • 24min
135: Speeding up Django Test Suites - Adam Johnson
All test suites start fast. But as you grow your set of tests, each test adds a little bit of time to the suite.
What can you do about it to keep test suites fast?
Some things, like parallelization, are applicable to many domains.
What about, for instance, Django applications?
Well, Adam Johnson has thought about it a lot, and is here to tell us how we can speed up our Django test suites.
Topics include:
parallelizing tests
moving from disk to memory
using fake data and factory functions
targeted mocking
Special Guest: Adam Johnson.Sponsored By:monday.com: Creating a monday.com app can help thousands of people and win you prizes. Maybe even a Tesla or a MacBook.Datadog: Modern monitoring & security. See inside any stack, any app, at any scale, anywhere.
Visit testandcode.com/datadog to get started.Links:Speed Up Your Django Tests — the book by Adam JohnsonKukicha — "or twig tea, ..., is a Japanese blend made of stems, stalks, and twigs."
★ Support this podcast on Patreon ★

Oct 12, 2020 • 32min
134: Business Outcomes and Software Development - Benjamin Harding
Within software projects, there are lots of metrics we could measure. But which ones really matter. Instead of a list, Benjamin Harding shares with us a way of thinking about business outcomes that can help us with every day decision making.
We talk about:
Business outcomes vs vanity metrics
As a developer, how do you keep business outcomes in mind
Thinking about customer value all the time
Communicating decisions and options in terms of costs and impact on business outcomes
Company culture and it's role in reinforcing a business outcome mindset
And even the role of team lead as impact multiplier
I really enjoyed this conversation. But I admit that at first, I didn't realize how important this is on all software development. Metrics are front and center in a web app. But what about a service, or an embedded system with no telemetry. It still matters, maybe even more so. Little and big decisions developers face every day that have impact on costs and benefits with respect to customer value and business outcome, even if it's difficult to measure.Special Guest: Benjamin Harding.Sponsored By:PyCharm Professional: Try PyCharm Pro for 4 months and learn how PyCharm will save you time. Promo Code: TESTANDCODE22monday.com: Creating a monday.com app can help thousands of people and win you prizes. Maybe even a Tesla or a MacBook.
★ Support this podcast on Patreon ★