Test & Code cover image

Test & Code

Latest episodes

undefined
Sep 6, 2019 • 23min

86: Teaching testing best practices with 4 testing maxims - Josh Peak

You've incorporated software testing into your coding practices and know from experience that it helps you get your stuff done faster with less headache. Awesome. Now your colleagues want in on that super power and want to learn testing. How do you help them? That's where Josh Peak is. He's helping his team add testing to their workflow to boost their productivity. That's what we're talking about today on Test & Code. Josh walks us through 4 maxims of developing software tests that help grow your confidence and proficiency at test writing.Special Guest: Josh Peak.Sponsored By:Raygun: Detect, diagnose, and destroy Python errors that are affecting your customers. With smart Python error monitoring software from Raygun.com, you can be alerted to issues affecting your users the second they happen.Links:From Zero to Test: Turning hurdles into steps. Advanced Python Testing — Postspytest-vcrVCR.pypytest-randomly ★ Support this podcast on Patreon ★
undefined
Aug 26, 2019 • 27min

85: Speed Up Test Suites - Niklas Meinzer

Good software testing strategy is one of the best ways to save developer time and shorten software development delivery cycle time. Software test suites grow from small quick suites at the beginning of a project to larger suites as we add tests, and the time to run the suites grows with it. Fortunately, pytest has many tricks up it's sleave to help shorten those test suite times. Niklas Meinzer is a software developer that recentely wrote an article on optimizing test suites. In this episode, I talk with Niklas about the optimization techniques discussed in the article and how they can apply to just about any project.Special Guest: Niklas Meinzer.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:Profiling and improving the runtime of a large pytest test suite | Niklas Meinzer ★ Support this podcast on Patreon ★
undefined
Aug 20, 2019 • 36min

84: CircuitPython - Scott Shawcroft

Adafruit enables beginners to make amazing hardware/software projects. With CircuitPython, these projects can now use Python. The combination of Python's ease of use and Adafruit's super cool hardware and a focus on a successful beginner experience makes learning to write code that controls hardware super fun. In this episode, Scott Shawcroft, the project lead, talks about the past, present, and future of CircuitPython, and discusses the focus on the beginner. We also discuss contributing to the project, testing CircuitPython, and many of the cool projects and hardware boards that can use CircuitPython, and Blinka, a library to allow you to use "CircuitPython APIs for non-CircuitPython versions of Python such as CPython on Linux and MicroPython," including Raspberry Pi.Special Guest: Scott Shawcroft.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:CircuitPythonDownloads — All the products that run CircuitPythonLearning Guides with CircuitPythonLoading CircuitPython on Circuit Playground ExpressAdafruit Discord ServerScott Shawcroft (@tannewt) / TwitterAdafruit-Blinka ★ Support this podcast on Patreon ★
undefined
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 ★
undefined
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 ★
undefined
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 ★
undefined
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 ★
undefined
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 ★
undefined
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 ★
undefined
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 ★

Get the Snipd
podcast app

Unlock the knowledge in podcasts with the podcast player of the future.
App store bannerPlay store banner

AI-powered
podcast player

Listen to all your favourite podcasts with AI-powered features

Discover
highlights

Listen to the best highlights from the podcasts you love and dive into the full episode

Save any
moment

Hear something you like? Tap your headphones to save it with AI-generated key takeaways

Share
& Export

Send highlights to Twitter, WhatsApp or export them to Notion, Readwise & more

AI-powered
podcast player

Listen to all your favourite podcasts with AI-powered features

Discover
highlights

Listen to the best highlights from the podcasts you love and dive into the full episode