Automated Functional Testing - The good, the bad and the ugly