A Developer Centric Approach to Automated Functional Testing