In software development quality assurance testing is very important and to enable to do the testing, very reliable and effective automation tool is required and choosing an automation tool, the right ones are the tools that could allow you to create automated test and perform all the quality assurance testing process as well. Firstly, what is the definition of functional testing?[1] functional  testing is the testing of how an application functions, in other words it’s the relation to the user and especially to the rest of the system.  So more or less functional testing is a quality assurance testing process to check if an application  or  project done by a developer for an end user is functioning properly, works accurately, reliably, predictably and securely  to the user’s satisfaction  and purpose. There are several tools and method of application functional testing like TestComplete, vTest, IBM Rational Functional Tester, SoapUI etc.  Several testing methods like [2]Unit Testing, Functional Testing, Regression Testing, System integrated Testing and Performance Testing etc. The reasons for automated functional testing as for: [2]1.repetition of several tasks i.e. when software are created, it goes through several versions  and all this versions must be tested, so functional testing helps or enable the reuse of further or future versions. [2]2.Multiple combinations i.e. in some environments where several applications are to be examined or tested, automated testing can run many tests application combination as possible suing just a single script. several steps in functional testing process involves developing testing goals such as time, scope, and cost. more also the  functional test should be written separately  from functionality implementation. report, review and re-execute i.e. reporting the issues to the responsible development team and disclosing how bad is the error or failure in the development. in conclusion testing may be very costly or expensive but it the best way of saving cost on reproducing a product and because once a error, fault is detected in a function, the developer will be able to improve his or her product to enable a quality output. So functional testing process in very essential in software development and takes a big role.  References:  Website: [1]  http://support.smartbear.com/articles/testcomplete/functional-testing [accessed 18-09-2014 2.15]  Website: [2]   http://www.infotech.com/research/ss/assess-the-appropriateness-of-automated-functional-testing  [accessed 18-09-2014 3.30]