A functional test helps you determine whether a system functions as intended. Functional tests typically involve GUI users only.
In functional tests, you can test both the operation and appearance of GUI objects. For example, functional testing of a push button can include testing what happens when the button is pushed as well as testing its size, location, and color.
In addition to testing visible GUI objects, you can also test non-visible objects such as hidden PowerBuilder DataWindows or Visual Basic hidden controls.
Functional tests often compare the way the application-under-test actually behaves in the current build against its expected behavior as previously recorded and validated in the baseline. For example, the values expected to be displayed in a grid object are reflected in the recorded baseline through a verification point. Subsequent tests compare the grid's current displayed values against the baseline (intended) results.
Functional tests can be performed individually and exclusively through Robot. Additionally, if you have TestManager installed, you can run distributed functional tests from a TestManager suite. Distributed functional tests allow for the simultaneous testing of multiple GUI objects in a distributed, efficient, QA lab type of environment.