Test & Code

Test & Code

Download on the App Store

Test & Code episodes

  • 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.


    Links:

    • PySpark in Action
    • Spark
    • PySpark documentation
    • Joel Grus, livecoding



    32 min
  • 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.


    Links:

    • Hypothesis home
    • Hypothesis docs
    • Test Fast, Fix More - Property based testing with Hypothesis by Alexander Hultnér - YouTube
    • Quickcheck, Grandfather of property based testing
    • Beyond Unit Tests, Hillel Wayne, PyCon 2018
    • Better Testing With Less Code, Matt Bachmann, PyCon 2016
    • Choosing properties for property-based testing (F#)
    • schemathesis: Hypothesis + Open API / Swagger for testing web applications



    36 min
  • 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 book
    • PyCharm
    • PyCharm pro
    • episode 54: Python 1994 - Paul Everitt
    • pytest-xdist



    51 min
  • 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.


    Links:

    • mattlayman.com
    • Django Riffs, a podcast for learning Django · Matt Layman
    • Test Anything Protocol
    • pytest-tap: Test Anything Protocol (TAP) reporting plugin for pytest
    • tappy - TAP tools for Python 



    29 min
  • 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):

    1.  pytest-cov
    2.  pytest-timeout
    3.  pytest-xdist
    4.  pytest-mock
    5.  pytest-runner
    6.  pytest-instafail
    7.  pytest-django
    8.  pytest-html
    9.  pytest-metadata
    10. pytest-asyncio
    11. pytest-split-tests
    12. pytest-sugar
    13. pytest-rerunfailures
    14. pytest-env
    15. pytest-cache
    16. pytest-flask
    17. pytest-benchmark
    18. pytest-ordering
    19. pytest-watch
    20. pytest-pythonpath
    21. pytest-flake8
    22. pytest-pep8
    23. pytest-repeat
    24. pytest-pylint
    25. pytest-randomly
    26. pytest-selenium
    27. pytest-mypy
    28. pytest-freezegun

    Honorable mention:

    • pytest-black
    • pytest-emoji
    • pytest-poo

    Special Guest: Anthony Sottile.


    Links:

    • PyPI Download Stats
    • Top PyPI Packages: A monthly dump of the 4,000 most-downloaded packages from PyPI
    • Test & Code 25: Selenium, pytest, Mozilla – Dave Hunt
    • pre-commit



    46 min
  • 103: Django - Lacey Williams Henschel

    Django is without a doubt one of the most used web frameworks for Python. Lacey Williams Henschel is a Django consultant and has joined me to talk about Django, the Django community, and so much more.

    Topics:

    • Django
    • The Django Community
    • Django Girls
    • Django Girls Tutorial
    • DjangoCon
    • Software Testing
    • Using tests during learning
    • pytest-django
    • testing Django
    • Wagtail

    Special Guest: Lacey Williams Henschel.


    Links:

    • Django 
    • Django Girls 
    • Django Girls Tutorial
    • DjangoCon US 2020 
    • Django: Under the Hood
    • PyData
    • PyCascades
    • Django REST framework
    • pytest-django
    • Wagtail CMS - Django Content Management System



    27 min
  • 102: Cosmic Python, TDD, testing and external dependencies - Harry Percival

    Harry Percival has completed his second book, "Architecture Patterns with Python".
     So of course we talk about the book, also known as "Cosmic Python".
     We also discuss lots of testing topics, especially related to larger systems and systems involving third party interfaces and APIs.

    Topics 

    • Harry's new book, "Architecture Patterns with Python". a.k.a. Cosmic Python 
    • TDD : Test Driven Development
    • Test Pyramid
    • Tradeoffs of different architectural choices
    • Mocks and their pitfalls
    • Avoiding mocks
    • Separating conceptual business logic
    • Dependency injection
    • Dependency inversion
    • Identifying external dependencies
    • Interface adapters to mimize the exposed surface area of external dependencies
    • London School vs Classic/Detroit School of TDD
    • Testing strategies for testing external REST APIs

    Links:

    • Cosmic Python - Simple Patterns for Building Complex Applications
    • Architecture Patterns with Python - on Amazon
    • Harry Percival (@hjwp) / Twitter
    • Bob Gregory (@bob_the_mighty) / Twitter
    • vcrpy · PyPI
    • Writing tests for external API calls
    • Stop Using Mocks (for a while) - Harry's PyCon talk
    42 min
  • 101: Application Security - Anthony Shaw

    Application security is best designed into a system from the start.
     Anthony Shaw is doing something about it by creating an editor plugin that actually helps you write more secure application code while you are coding.

    On today's Test & Code, Anthony and I discuss his security plugin, but also application security in general, as well as other security components you need to consider.

    Security is something every team needs to think about, whether you are a single person team, a small startup, or a large corporation.

    Anthony and I also discuss where to start if it's just a few of you, or even just one of you.

    Topics include:

    • Finding security risks while writing code.
    • What are the risks for your applications.
    • Thinking about attack surfaces.
    • Static and dynamic code analysis.
    • Securing the environment an app is running in.
    • Tools for scanning live sites for vulnerabilities.
    • Secret management.
    • Hashing algorithms.
    • Authentication systems.
    • and Anthony's upcoming cPython Internals book.

    Special Guest: Anthony Shaw.


    Links:

    • Python Security - plugin for PyCharm
    • Bandit
    • Hack The Box 



    46 min
  • 100: A/B Testing - Leemay Nassery

    Let's say you have a web application and you want to make some changes to improve it.
     You may want to A/B test it first to make sure you are really improving things.

    But really what is A/B testing? 

    That's what we'll find out on this episode with Leemay Nassery.

    Special Guest: Leemay Nassery.





    36 min
  • 99: Software Maintenance and Chess

    I play a form of group chess that has some interesting analogies to software development and maintenance of existing systems. This episode explains group chess and explores a few of those analogies.





    15 min

About Test & Code

From the publisher's feed

The Python Test Podcast hosted by Brian Okken

More shows like Test & Code

Radiolab by WNYC Studios

Radiolab

43,853 Listeners

Software Engineering Daily by Software Engineering Daily

Software Engineering Daily

623 Listeners

Heavy Networking by Packet Pushers

Heavy Networking

327 Listeners

Talk Python To Me by Michael Kennedy

Talk Python To Me

582 Listeners

Python Bytes by Michael Kennedy and Calvin Hendryx-Parker

Python Bytes

213 Listeners

Darknet Diaries by Jack Rhysider

Darknet Diaries

8,059 Listeners

The Real Python Podcast by Real Python

The Real Python Podcast

139 Listeners

Unexplainable by Vox

Unexplainable

2,313 Listeners

Network Automation Nerds by Packet Pushers

Network Automation Nerds

5 Listeners