Is the system working as intended? This is the question that Functional Testing sets out to answer.
As a Functional Tester, you are on a mission to find bugs and log bug reports. A bug is an error or flaw within software which produces an incorrect or unexpected result. Simply put, a bug is when part of the system is broken or functions in a way that is not intentional. A bug report is a description of the issue and the steps one would take to recreate it.
There are two different, and opposing, methods to Functional Testing: Exploratory Testing and Test Cases. A Functional Testing Cycle may utilize one or both of these methods.
In Exploratory Testing, you have the freedom to explore and hunt for bugs own your own with little to no instructions on how or where to find them.
In a Test Case, you follow a strict set of instructions to determine whether or not those instructions lead you to a defined expected results.