This document discusses best practices for functional test automation. It begins by describing common failure patterns seen in test results, such as single tests failing across browsers or browsers failing all tests. Problems like fragile selectors that don't work across browsers, timing issues, non-deterministic tests, and test dependencies are explained. Best practices to address these problems include using stable selectors, avoiding sleeps/waits and making tests self-contained. The document also introduces Test Armada as a solution for running tests across platforms and browsers, and collecting results and insights. It concludes with contact information for further questions.