Test & Code cover image

Test & Code

Latest episodes

undefined
May 15, 2020 • 30min

113: Technical Debt - James Smith

Technical debt has to be dealt with on a regular basis to have a healthy product and development team. The impacts of technical debt include emotional drain on engineers and slowing down development and can adversely affect your hiring ability and retention. But really, what is technical debt? Can we measure it? How do we reduce it, and when? James Smith, the CEO of Bugsnag, joins the show to talk about technical debt and all of these questions.Special Guest: James Smith.Sponsored By:AcePythonInterviews.com: Get all the confidence you need to ace your next interview.ConfigCat.com: Release features faster with less risk with ConfigCat feature flags. Promo Code: TESTANDCODE ★ Support this podcast on Patreon ★
undefined
May 8, 2020 • 45min

112: Six Principles of Readable Tests - David Seddon

"Code is read much more often than it is written." - Guido van Rossum This is true for both production code and test code. When you are trying to understand why a test is failing, you'll be very grateful to the test author if they've taken the care to make it readable. David Seddon came up with 6 principles to help us write more readable tests. We discuss these, as well as more benefits of readable tests. David's 6 Principles of Readable Tests: Profit from the work of others Put naming to work Show only what matters Don’t repeat yourself Arrange, act, assert Aim high Special Guest: David Seddon.Sponsored By:PyCharm Professional: Try PyCharm Pro for 4 months and learn how PyCharm will save you time. Promo Code: TESTANDCODE22Links:How to write readable tests (presentation) · David SeddonHow to write readable tests (slides)pytestWebTest factory_boydjango-webtest ★ Support this podcast on Patreon ★
undefined
May 2, 2020 • 49min

111: Subtests in Python with unittest and pytest - Paul Ganssle

In both unittest and pytest, when a test function hits a failing assert, the test stops and is marked as a failed test. What if you want to keep going, and check more things? There are a few ways. One of them is subtests. Python's unittest introduced subtests in Python 3.4. pytest introduced support for subtests with changes in pytest 4.4 and a plugin, called pytest-subtests. Subtests are still not really used that much. But really, what are they? When could you use them? And more importantly, what should you watch out for if you decide to use them? That's what Paul Ganssle and I will be talking about today.Special Guest: Paul Ganssle.Sponsored By:ConfigCat.com: Release features faster with less risk with ConfigCat feature flags. Promo Code: TESTANDCODEWeeklyPythonExercise.com: Become a more fluent Python developer.Links:Subtests in Python — Paul's article on subtestssubtests in unittest - Python docs pytest-subtests: plugin to support subtests in pytestpytest-check: A pytest plugin that allows multiple failures per test. ★ Support this podcast on Patreon ★
undefined
Apr 25, 2020 • 25min

110: Testing Django - from unittest to pytest - Adam Parkin

Django supports testing out of the box with some cool extensions to unittest. However, many people are using pytest for their Django testing, mostly using the pytest-django plugin. Adam Parkin, who is known online as CodependentCodr, joins us to talk about migrating an existing Django project from unittest to pytest. Adam tells us just how easy this is.Special Guest: Adam Parkin.Sponsored By:PyCharm Professional: Try PyCharm Pro for 4 months and learn how PyCharm will save you time. Promo Code: TESTANDCODE22Links:Django Tutorial, on testingThe Django docs on testing & the test databaseThe Django docs on the TestCase classpytest-django docs ★ Support this podcast on Patreon ★
undefined
Apr 14, 2020 • 30min

109: Testing in Financial Services - Eric Bergemann

Financial services have their own unique testing development challenges. But they also have lots of the same challenges as many other software projects. Eric Bergemann joins Brian Okken to discuss: Specific testing challenges in the financial services domain CI/CD : Continuous Integration, Continuous Deployment TDD : Test Driven Development Confidence from testable applications Testing strategies to add coverage to legacy systems Testing the data and test cases themselves DevOps Continuous testing Manual testing procedures BDD & Gherkin Hiring in vs training industry knowledge Special Guest: Eric Bergemann.Sponsored By:ConfigCat.com: Release features faster with less risk with ConfigCat feature flags. Promo Code: TESTANDCODELinks:ParagonThe Phoenix Project: A Novel about IT, DevOps, and Helping Your Business Win ★ Support this podcast on Patreon ★
undefined
Apr 9, 2020 • 32min

108: PySpark - Jonathan Rioux

Apache Spark is a unified analytics engine for large-scale data processing. PySpark blends the powerful Spark big data processing engine with the Python programming language to provide a data analysis platform that can scale up for nearly any task. Johnathan Rioux, author of "PySpark in Action", joins the show and gives us a great introduction of Spark and PySpark to help us decide how to get started and decide whether or not to decide if Spark and PySpark are right you.Special Guest: Jonathan Rioux.Sponsored By:PyCharm Professional: Try PyCharm Pro for 4 months and learn how PyCharm will save you time. Promo Code: TESTANDCODE22Links:PySpark in ActionSparkPySpark documentationJoel Grus, livecoding ★ Support this podcast on Patreon ★
undefined
Mar 27, 2020 • 36min

107: Property Based Testing in Python with Hypothesis - Alexander Hultnér

Hypothesis is the Python tool used for property based testing. Hypothesis claims to combine "human understanding of your problem domain with machine intelligence to improve the quality of your testing process while spending less time writing tests." In this episode Alexander Hultnér introduces us to property based testing in Python with Hypothesis. Some topics covered: What is property based testing Thinking differently for property based testing Using hypothesis / property based testing in conjunction with normal testing Failures saved and re-run What parts of development/testing is best suited for hypothesis / property based testing Comparing function implementations Testing against REST APIs that use Open API / Swagger with schemathesis Changing the number of tests in different test environments System, integration, end to end, and unit tests Special Guest: Alexander Hultnér.Sponsored By:PyCharm Professional: Try PyCharm Pro for 4 months and learn how PyCharm will save you time. Promo Code: TESTANDCODE22Links:Hypothesis homeHypothesis docsTest Fast, Fix More - Property based testing with Hypothesis by Alexander Hultnér - YouTubeQuickcheck, Grandfather of property based testingBeyond Unit Tests, Hillel Wayne, PyCon 2018Better Testing With Less Code, Matt Bachmann, PyCon 2016Choosing properties for property-based testing (F#)schemathesis: Hypothesis + Open API / Swagger for testing web applications ★ Support this podcast on Patreon ★
undefined
Mar 20, 2020 • 50min

106: Visual Testing : How IDEs can make software testing easier - Paul Everitt

IDEs can help people with automated testing. In this episode, Paul Everitt and Brian discuss ways IDEs can encourage testing and make it easier for everyone, including beginners. We discuss features that exist and are great, as well as what is missing. The conversation also includes topics around being welcoming to new contributors for both open source and professional projects. We talk about a lot of topics, and it's a lot of fun. But it's also important. Because IDEs can make testing Some topics discussed: Making testing more accessible Test First vs teaching testing last TDD workflow Autorun Rerunning last failures Different ways to run different levels of tests Command line flags and how to access them in IDEs pytest.ini zooming in and out of test levels running parametrizations running tests with coverage and profiling parametrize vs parameterize parametrization identifiers pytest fixture support global configurations / configuration templates coverage and testing and being inviting to new contributors confidence in changes and confidence in contributions navigating code, tests, fixtures grouping tests in modules, classes, directories BDD, behavior driven development, cucumber, pytest-bdd web development testing parallel testing with xdist and IDE support refactor rename Special Guest: Paul Everitt.Links:Python Testing with pytest — The pytest bookPyCharmPyCharm proepisode 54: Python 1994 - Paul Everittpytest-xdist ★ Support this podcast on Patreon ★
undefined
15 snips
Mar 11, 2020 • 30min

105: TAP: Test Anything Protocol - Matt Layman

The Test Anything Protocol, or TAP, is a way to record test results in a language agnostic way, predates XML by about 10 years, and is still alive and kicking. Matt Layman has contributed to Python in many ways, including his educational newsletter, and his Django podcast, Django Riffs. Matt is also the maintainer of tap.py and pytest-tap, two tools that bring the Test Anything Protocol to Python. In this episode, Matt and I discuss TAP, it's history, his involvement, and some cool use cases for it.Special Guest: Matt Layman.Sponsored By:PyCharm Professional: Try PyCharm Pro for 4 months and learn how PyCharm will save you time. Promo Code: TESTANDCODE22Links:mattlayman.comDjango Riffs, a podcast for learning Django · Matt LaymanTest Anything Protocolpytest-tap: Test Anything Protocol (TAP) reporting plugin for pytesttappy - TAP tools for Python ★ Support this podcast on Patreon ★
undefined
Mar 4, 2020 • 47min

104: Top 28 pytest plugins - Anthony Sottile

pytest is awesome by itself. pytest + plugins is even better. In this episode, Anthony Sottile and Brian Okken discuss the top 28 pytest plugins. Some of the plugins discussed (we also mention a few plugins related to some on this list): pytest-cov pytest-timeout pytest-xdist pytest-mock pytest-runner pytest-instafail pytest-django pytest-html pytest-metadata pytest-asyncio pytest-split-tests pytest-sugar pytest-rerunfailures pytest-env pytest-cache pytest-flask pytest-benchmark pytest-ordering pytest-watch pytest-pythonpath pytest-flake8 pytest-pep8 pytest-repeat pytest-pylint pytest-randomly pytest-selenium pytest-mypy pytest-freezegun Honorable mention: pytest-black pytest-emoji pytest-poo Special Guest: Anthony Sottile.Sponsored By:Oxylabs: Visit oxylabs.io/testandcode to find out more about their services and to apply for a free trial of their Next-Generation Residential Proxies.Springboard: Check out Springboards machine learning engineering career track. Promo Code: AISPRINGBOARDLinks:PyPI Download StatsTop PyPI Packages: A monthly dump of the 4,000 most-downloaded packages from PyPITest & Code 25: Selenium, pytest, Mozilla – Dave Huntpre-commit ★ Support this podcast on Patreon ★

The AI-powered Podcast Player

Save insights by tapping your headphones, chat with episodes, discover the best highlights - and more!
App store bannerPlay store banner
Get the app