165 - Flaky Tests

23:55
 
Share
 

Manage episode 334390534 series 2674787
By Peter Fisher. Discovered by Player FM and our community — copyright is owned by the publisher, not Player FM, and audio is streamed directly from their servers. Hit the Subscribe button to track updates in Player FM, or paste the feed URL into other podcast apps.

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.

190 episodes