Log in

goodpods headphones icon

To access all our features

Open the Goodpods app
Close icon
headphones
Test & Code

Test & Code

Brian Okken

Building software is more fun with tests.

2 Listeners

bookmark
Share icon

All episodes

Best episodes

Top 10 Test & Code Episodes

Goodpods has curated a list of the 10 best Test & Code episodes, ranked by the number of listens and likes each episode have garnered from our listeners. If you are listening to Test & Code for the first time, there's no better place to start than with one of these standout episodes. If you are a fan of the show, vote for your favorite Test & Code episode by adding your comments to the episode page.

Test & Code - Boost Your Django DX - Adam Johnson
play

03/01/22 • 26 min

We talk with Adam Johnson about his new book, "Boost Your Django DX".

Developer experience includes tools and practices to make developers more effective and efficient, and just plain make software development more fun and satisfying.
One of the things I love about this book is that it's not just for Django devs.
I'd guess that about half the book is about topics that all Python developers would find useful, from virtual environments to linters to testing.
But of course, also tons of tips and tools for working with Django.

Links:

2 Listeners

bookmark
plus icon
share episode
Test & Code - Managing Software Teams - Ryan Cheley
play

03/17/22 • 47 min

Ryan Cheley joins me today to talk about some challenges of managing software teams, and how to handle them.
We end up talking about a lot of skills that are excellent for software engineers as well as managers.

Some topics discussed:

  • handling code reviews
  • asking good questions
  • being honest about what you can't do with current resources and data
  • discussing tradeoffs and offering solutions that can be completed faster than the ideal solution
  • balancing engineering and managing
  • making sure documentation happens
  • remote teams
    • encouraging collaboration
    • encouraging non-work-related conversations
    • watching out for overworking

1 Listener

bookmark
plus icon
share episode
Test & Code - 215: Staying Technical as a Manager
play

02/25/24 • 39 min

Software engineers that move into leadership roles have a struggle between learning leadership skills, maintaining technical skills, and learning new leadership and technical skills.
Matt Makai went from individual contributor to developer relations to leadership in devrel.
We discuss how to stay technical, as well as dive into some results of his studies in how companies use developer relationship channels.


Learn pytest

1 Listener

bookmark
plus icon
share episode

How do you write tests for things that aren’t that easy to write tests for?

That question is a possibly terrible summary of a question sent to me by a listener. And to help me start answering that question, I asked a friend of mine to help, Antony Shaw.

Of course, different types of applications have different test strategies, so there’s not a universal answer. But I know some of you out there have experience and expertise around how to tackle this problem.

Listen to the discussion Anthony and I have about it, and let me know if you have some techniques or tips to add.

Special Guest: Anthony Shaw.

Sponsored By:

bookmark
plus icon
share episode

Tools like error monitoring, crash reporting, and performance monitoring are tools to help you create a better user experience and are fast becoming crucial tools for web development and site reliability. But really what are they? And when do you need them?

You've built a cool web app or service, and you want to make sure your customers have a great experience.

You know I advocate for utilizing automated tests so you find bugs before your customers do. However, fast development lifecycles, and quickly reacting to customer needs is a good thing, and we all know that complete testing is not possible. That's why I firmly believe that site monitoring tools like logging, crash reporting, performance monitoring, etc are awesome for maintaining and improving user experience.

John-Daniel Trask, JD, the CEO of Raygun, agreed to come on the show and let me ask all my questions about this whole field.

Special Guest: John-Daniel Trask.

Sponsored By:

bookmark
plus icon
share episode

With conventional TDD, you write a failing test, get it to pass, then refactor.
Then run the tests again to make sure your refactoring didn't break anything.
But what if it did break something?
Kent Beck has been recommending to commit your code to revision control after every green test run.
Oddmund Strømme suggested a symmetrical idea to go ahead and revert the code when a test fails.
Kent writes that he hated the idea, but had to try it.
Then wrote about it last September.
And now we have TCR, "(test && commit) || revert".

What's it feel like to actually do this?
Well, Thomas Deniffel has been using it since about a month after that article came out.
In this episode, we'll hear from Thomas about his experience with it.

It's a fascinating idea. Have a listen and let me know what you think.

Special Guest: Thomas Deniffel.

Sponsored By:

Links:

bookmark
plus icon
share episode

A wonderful discussion with David Hussman. David and Brian look back at what all we've learned in XP, TDD, and other Agile methodologies, where things have gone awry, how to bring the value back, and where testing fits into all of this.

  • How to build the wrong thing faster
  • Agile vs Agility
  • Product vs Process
  • Where testing fits into software development practices.
  • "Integration tests, there's a name that needs to be refactored desperately."
  • Integration tests are "story tests". They tell the story of the product.
  • XP and TDD and the relationship with tests
  • To test for design, use microtests, xUnit style.
  • User Advocy tests are often lacking, but are needed to learn about the product.
  • "I just keep writing tests until I'm not scared anymore." - Kent Beck
  • Dude's Law: Value = Why/How
  • People often focus so much on the how that they forget about why they are doing something.
  • Subcutaneous Tests
  • "The hardest part of programming is thinking."
  • Refactoring vs Repaving
  • Agility means being able to quickly change direction
  • During experimentation and learning, what matters isn't how much you got done, but how much you learn.
  • "The best way to get automation is to make developers do manual tests."

Special Guest: David Hussman.

Sponsored By:

Links:

bookmark
plus icon
share episode

virtualenv supports six shells: bash, csh, fish, xonsh, cmd, posh. Each handles prompts slightly differently. Although the virtualenv custom prompt behavior should be the same across shells, Brian Skinn noticed inconsistencies. He set out to fix those inconsistencies. That was the start of an adventure in open source collaboration, shell prompt internals, difficult test problems, and continuous integration quirks.

Brian Skinn initially noticed that on Windows cmd, a space was added between a prefix defined by --prompt and the rest of the prompt, whereas on bash no space was added.

For reference, there were/are three nominal virtualenv prompt modification behaviors, all of which apply to the prompt changes that are made at the time of virtualenv activation:

  1. If the environment variable VIRTUAL_ENV_DISABLE_PROMPT is defined and non-empty at activation time, do not modify the prompt at all. Otherwise:
  2. If the --prompt argument was supplied at creation time, use that argument as the prefix to apply to the prompt; or,
  3. If the --prompt argument was not supplied at creation time, use the default prefix of "() " as the prefix (the environment folder name surrounded by parentheses, and with a trailing space after the last paren.

Special Guest: Brian Skinn.

Sponsored By:

Links:

bookmark
plus icon
share episode

pytest plugins are an amazing way to supercharge your test suites, leveraging great solutions from people solving test problems all over the world. In this episode Michael and I discuss 15 favorite plugins that you should know about.

We also discuss fixtures and plugins and other testing tools that work great with pytest

  • tox
  • GitHub Actions
  • Coverage.py
  • Selenium + splinter with pytest-splinter
  • Hypothesis

And then our list of pytest plugins:

  1. pytest-sugar
  2. pytest-cov
  3. pytest-stress
  4. pytest-repeat
  5. pytest-instafail
  6. pytest-metadata
  7. pytest-randomly
  8. pytest-xdist
  9. pytest-flake8
  10. pytest-timeout
  11. pytest-spec
  12. pytest-picked
  13. pytest-freezegun
  14. pytest-check
  15. fluentcheck

That last one isn't a plugin, but we also talked about pytest-splinter at the beginning. So I think it still counts as 15.

Special Guest: Michael Kennedy.

Sponsored By:

Links:

bookmark
plus icon
share episode
Test & Code - Python + Django + Rich + Testing == Awesome
play

05/11/22 • 20 min

Django has a handful of console commands to help manage and develop sites.
django-rich adds color and nice formatting. Super cool.
In a recent release, django-rich also adds nice colorized tracebacks to the Django test runner.

Links:

bookmark
plus icon
share episode

Show more best episodes

Toggle view more icon

FAQ

How many episodes does Test & Code have?

Test & Code currently has 223 episodes available.

What topics does Test & Code cover?

The podcast is about How To, Software, Podcasts, Technology, Education, Python and Programming.

What is the most popular episode on Test & Code?

The episode title 'Boost Your Django DX - Adam Johnson' is the most popular.

What is the average episode length on Test & Code?

The average episode length on Test & Code is 32 minutes.

How often are episodes of Test & Code released?

Episodes of Test & Code are typically released every 9 days, 10 hours.

When was the first episode of Test & Code?

The first episode of Test & Code was released on Aug 20, 2015.

Show more FAQ

Toggle view more icon

Comments