165 - Flaky Tests - podcast episode cover

165 - Flaky Tests

Jul 14, 202224 minSeason 4Ep. 165
--:--
--:--
Download Metacast podcast app
Listen to this episode in Metacast mobile app
Don't just listen to podcasts. Learn from them with transcripts, summaries, and chapters for every episode. Skim, search, and bookmark insights. Learn more

Episode description

Changelog

  • I’ve sorted the Kubernetes ingress controller for the staging deployment of howtocodewell.net
  • I’ve got a few problems with connecting services outside of the Kubernetes cluster but I am working my way through those.
  • I’ve been updating the pipelines to allow for certain manual jobs in GitLab.

News/articles

Python ASGI The future of Python Web Development

A new asynchronous standard for Python web applications.

WSGI = Web Server Gateway Interface

ASGI = Asynchronous Server Gateway Interface

https://www.infoworld.com/article/3658336/asgi-explained-the-future-of-python-web-development.html

Podcast 2.0

I have my eye on the podcast 2.0 movement and may start to add some backlog tickets to investigate what is involved from a technical standpoint to updating the RSS feeds.

https://medium.com/@everywheretrip/an-introduction-to-podcasting-2-0-3c4f61ea17f4

  • The Podcast Index
  • Podcasting Namespace
  • PodPing
  • Value-For-Value

Send Symfony logs to Slack

This could be a neat little future video tutorial. I could also do something similar with a Discord bot.

https://manyou.blog/send-symfony-logs-to-slack-with-symfony-notifier-as-a-monolog-handler


What’s a flaky test

A flaky test is a test that sometimes passes and sometimes fails. This usual happens randomly and is incredibly annoying.

What causes flaky tests

  • Under powered resources
  • Tests running in random order
  • Tests not cleaning themselves up afterwards
  • External programs or requests interfering with the tests

How to fix flaky tests

  • Run tests more regularly
  • Separate flaky tests and run them in isolation until fixed
  • Only test what is needed based on what has changed
  • Don’t ignore or skip tests if you can help it
  • Check the environment
  • Check inputs for non-deterministic values
  • Check timeouts
  • Check system resources
  • Check for race conditions
  • Check if there is any fixed order to the tests
  • Keep your tests maintained.
For the best experience, listen in Metacast app for iOS or Android