164 episodes

Test & Code is a weekly podcast hosted by Brian Okken.
The show covers a wide array of topics including software engineering, 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.

Test & Code Brian Okken

    • Technology
    • 4.6 • 59 Ratings

Test & Code is a weekly podcast hosted by Brian Okken.
The show covers a wide array of topics including software engineering, 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.

    Debugging Python Test Failures with pytest

    Debugging Python Test Failures with pytest

    An overview of the pytest flags that help with debugging.
    From Chapter 13, Debugging Test Failures, of Python Testing with pytest, 2nd edition.


    pytest includes quite a few command-line flags that are useful for debugging.


    We talk about thes flags in this episode.


    Flags for selecting which tests to run, in which order, and when to stop:



    -lf / --last-failed: Runs just the tests that failed last.
    -ff / --failed-failed: Runs all the tests, starting with the last failed.
    -x / --exitfirst: Stops the tests session afterEd: after?Author: yep the first failure.
    --maxfail=num: Stops the tests after num failures.
    -nf / --new-first: Runs all the tests, ordered by file modification time.
    --sw / --stepwise: Stops the tests at the first failure. Starts the tests at the
    last failure next time.
    --sw-skip / --stepwise-skip: Same as --sw, but skips the first failure.


    Flags to control pytest output:



    -v / --verbose Displays all the test names, passing or failing.
    --tb=[auto/long/short/line/native/no] Controls the traceback style.
    -l / --showlocals Displays local variables alongside the stacktrace.


    Flags to start a command-line debugger:



    --pdb Starts an interactive debugging session at the point of failure.
    --trace Starts the pdb source-code debugger immediately when running each test.
    --pdbcls Uses alternatives to pdb, such as IPython’s debugger with –-pdbcls=IPython.terminal.debugger:TerminalPdb.


    This list is also found in Chapter 13 of Python Testing with pytest, 2nd edition.
    The chapter is "Debugging Test Failures" and covers way more than just debug flags, while walking through debugging 2 test failures.
    Sponsored By:
    PyCharm Professional: Try PyCharm Pro for 4 months and learn how PyCharm will save you time. Promo Code: TESTANDCODE21Support Test & Code
    Links:
    Python Testing with pytest — The fastest way to get up to speed on pytest.all pytest flags in pytest 6.2.x

    • 13 min
    pip install ./local_directory - Stéphane Bidoul

    pip install ./local_directory - Stéphane Bidoul

    pip : "pip installs packages" or maybe "Package Installer for Python"
    pip is an invaluable tool when developing with Python.
    A lot of people know pip as a way to install third party packages from pypi.org
    You can also use pip to install from other indexes (or is it indices?)


    You can also use pip to install a package in a local directory.
    That's the part I want to jump in and explore with Stéphane Bidoul.
    The way pip installs from a local directory is about to change, and the story is fascinating.
    Special Guest: Stéphane Bidoul.
    Sponsored By:
    PyCharm Professional: Try PyCharm Pro for 4 months and learn how PyCharm will save you time. Promo Code: TESTANDCODE21Support Test & Code
    Links:
    The Odoo Community AssociationPEP 610 -- Recording the Direct URL Origin of installed distributions | Python.orgPEP 660 -- Editable installs for pyproject.toml based builds (wheel based) | Python.org — Bidoul" rel="nofollow">pip install --no-index --find-links Solving issues related to out-of-tree builds · Issue #7555 · pypa/pippip list json format

    • 29 min
    Flavors of TDD

    Flavors of TDD

    What flavor of TDD do you practice?


    In this episode we talk about:



    Classical vs Mockist TDD
    Detroit vs London (I actually refer to it in the episode as Chicago instead of Detroit. Oh well.)
    Static vs Behavior
    Inside Out vs Outside In
    Double Loop TDD
    BDD
    FDD
    Tracer Bullets
    Rules of TDD
    Team Structure
    Lean TDD


    This is definitely an episode I'd like feedback on. Reach out to me @brianokken or via the contact form for further questions or if I missed some crucial variant of TDD that you know and love.
    Sponsored By:
    PyCharm Professional: Try PyCharm Pro for 4 months and learn how PyCharm will save you time. Promo Code: TESTANDCODE21Support Test & Code
    Links:
    Mocks Aren't Stubs - Martin FowlerMockists Are Dead. Long Live Classicists.Double Loop TDDBDD: Behavior-driven developmentFDD: Feature-driven developmentMy reaction to “Is TDD Dead?” - pythontest.comTest First Programming / Test First DevelopmentHumorous list of TDD variants — BDD = Buzzword Driven Development, CDD = Calendar Driven Development, etc

    • 22 min
    Waste in Software Development

    Waste in Software Development

    Software development processes create value, and have waste, in the Lean sense of the word waste.
    Lean manufacturing and lean software development changed the way we look at value and waste.
    This episode looks at lean definitions of waste, so we can see it clearly when we encounter it.


    I'm going to use the term waste and value in future episodes. I'm using waste in a Lean sense, so we can look at software processes critically, see the value chain, and try to reduce waste.


    Lean manufacturing and lean software development caused people to talk about and examine waste and value, even in fields where we didn't really think about waste that much to begin with.


    Software is just ones and zeros. Is there waste?
    When I delete a file, nothing goes into the landfill.


    The mistake I'm making here is confusing the common English definition of waste when what we're talking about is the Lean definition of waste.


    This episode tries to clear up the confusion.
    Support Test & Code
    Links:
    Big Design Up FrontLightweight MethodologiesManifesto for Agile Software DevelopmentExtreme programmingThe New MethodologyTest First Programming / Test First DevelopmentTest Driven DevelopmentThe Pragmatic ProgrammerSix SigmaDMAICLean software developmentLean manufacturingThe Toyota WayLean Six SigmaDefinition of Waste by Merriam-Webster

    • 18 min
    DRY, WET, DAMP, AHA, and removing duplication from production code and test code

    DRY, WET, DAMP, AHA, and removing duplication from production code and test code

    Should your code be DRY or DAMP or something completely different?
    How about your test code? Do different rules apply?
    Wait, what do all of these acronyms mean?


    We'll get to all of these definitions, and then talk about how it applies to both production code and test code in this episode.
    Sponsored By:
    Datadog: Modern end-to-end monitoring & security. See inside any stack, any app, at any scale, anywhere. Get started with a free trial at testandcode.com/datadog and Datadog will send you a free t-shirt.
    Support Test & Code
    Links:
    The Pragmatic Programmer, 20th Anniversary EditionDon't repeat yourself - Wikipediaa-ha - Take On MeRule of three - WikipediaWhat does “DAMP not DRY” mean when talking about unit tests? - Stack Overflow

    • 14 min
    Python, pandas, and Twitter Analytics - Matt Harrison

    Python, pandas, and Twitter Analytics - Matt Harrison

    When learning data science and machine learning techniques, you need to work on a data set.
    Matt Harrison had a great idea: Why not use your own Twitter analytics data?
    So, he did that with his own data, and shares what he learned in this episode, including some of his secrets to gaining followers.


    In this episode we talk about:



    Looking at your own Twitter analytics data.
    Using Python, pandas, Jupyter for data cleaning and exploratory analysis
    Data visualization
    Machine learning, principal component analysis, clustering
    Model drift and re-running analysis
    What kind of tweets perform well
    And much more
    Special Guest: Matt Harrison.
    Sponsored By:
    PyCharm Professional: Try PyCharm Pro for 4 months and learn how PyCharm will save you time. Promo Code: TESTANDCODE21Support Test & Code
    Links:
    Applied Pandas: Twitter Analytics — the coursematt harrison (@__mharrison__) / Twitter — follow for Python, Data Science, & Career AdviceBrian Okken (@brianokken) / Twitter — follow for Python, pytest, Packaging, & Software Engineering Advice

    • 47 min

Customer Reviews

4.6 out of 5
59 Ratings

59 Ratings

Hellfire0175 ,

A must listen for software testing

This podcast has directly impacted how we test our code. I learn something new each episode. Talk Python to me in conjunction with Test and Code and Python Bytes has exponentially increased my productivity and learning. Thank you!

AJ Kerrigan ,

Testing, code and more

This show provides what it says on the label: engaging discusisons about testing and code. Host Brian Okken approaches each episode with a perfect blend of passion, knowledge and humility. Great stuff!

gtoothpickss ,

In depth on a topic that deserves it

As a junior Python developer, I recently had a sudden realization that testing skills and TDD could be the missing component of my workflow. Learning through examples online works, but testing in the real world is a precarious topic! This podcast is no less than what this topic deserves.

Top Podcasts In Technology

Listeners Also Subscribed To