Before getting into the more concrete and interesting stuff of good practices for building a reliable and maintainable test automation, let me set the stage by discussing the goal that many people aim for: reaching full coverage.
Often, people that don’t have any background about test automation think that within a few weeks to a few months, it will be possible to automate all of their manual test cases, covering the entire functionality of their relatively complex product. Obviously, the complexity of each product is different, and in some cases it’s possible to reach this goal, ...