Test automation especially ui test automation is like a huge jenga tower, everything is always about to collapse. How can we rely on them?

  • Only run stable tests (stability)
  • Keep the execution time low (performance)
  • Only run the important tests for first feedback (performance)
  • Loosly coupled with the code under test (maintenance)
  • A test should have a maintainer that is required to fix it (maintenance)
  • A failing test should express what functionality has been broken, ideally in a way even non-tech people can understand (maintenance)