Why Test Automation Fails: Test Design and Implementation Tips