Creating maintainable tests
One of the things that frequently gets forgotten in conversations about test automation is that they take time and work to maintain. The "sales pitch" for test automation is that we can run the same test over and over again "for free" but of course, that is not true. Leaving aside the hardware and software costs of running these tests, there are maintenance costs. Tests don't always pass. Sometimes, failures are due to finding a bug, but other times, it is just because the code has changed and the test needs to be updated, or because of some kind of flakiness in the system that we don't need to worry about too much. Well-written tests take these considerations into account. They assume that there will be failures in the future that need to be debugged. So, how do you set yourself up to make sure that your tests are maintainable?
Using logging
One of the ways in which you can make it easier to figure out failures is by...