"Is the system functioning the way it was designed to?" This is the question that Functional Testing sets out to answer.
As a Functional Tester, you are on a mission to find bugs. A bug is an error or flaw within software that produces an incorrect or unexpected result. Simply put, a bug is when part of the system is broken or not functioning the way it is supposed to function.
At uTest, we categorize bugs into 5 issue types:
Functional – Work flow failures.
Visual – Layout and user interface distortions or mistakes.
Content – Typos, grammatical issues and localization errors in text.
Performance – Problematic slowness, hanging, or sluggish interface.
Crash – The application quits unexpectedly.
uTest Functional Testing Cycles utilize two different Functional Testing methodologies: Exploratory Testing and Test Cases. A Functional Cycle may utilize one or both of these Functional Testing types.
Test Cases are a scripted form of testing where a tester is given a set of steps to follow and told what the expected result should be. The Tester would then follow these instructions to determine whether they lead to the expected result (pass) or if they lead to an unexpected result (fail).
Exploratory Testing is non-scripted. It gives the tester the freedom to explore and investigate the system on their own without a predefined path. Exploratory Testing is useful in finding bugs hiding in places where a developer may not have thought of testing.