Functional testing, GUI testing or UI testing is user interface
testing. That is, testing how the application and the user interact.
This includes how the application handles keyboard and mouse input and
how it displays screen text, images, buttons, menus, dialog boxes,
icons, toolbars and more. Functional testing is commonly done by human
testers, but is made much easier and more reliable by tools such as
TestComplete. TestComplete offers many features which extend the
productivity of automated functional testing.
TestComplete includes special means employed
to simulate user actions over application’s windows and menus, to capture
screenshots of user interface elements, and to compare these screenshots with
pre-saved ones. These actions can be recorded automatically or coded in script
manually. Typically, your scripts deal with particular user interface elements
(windows, controls, and so on) individually. Alternatively, the scripts can
use the low-level approach
in order to simulate mouse clicks, keystrokes and exact mouse movements no
matter what elements these actions affect.
Testing the user interface is only a minor part of functional testing’s
work. A functional test can require the same programming power as application
writing. TestComplete provides this programming power in four ways:
A choice of scripting languages, each of which has a full
set of programming constructs.
A sophisticated library of testing objects, which encapsulate
needed functionality in easy, transparent methods and properties.
Special methods and properties that provide scripting interface to properties of Win32, .NET and XAML controls and let you easily simulate user actions over them.
More scripting objects that directly interface with the system (Win32,
.NET) or with database servers (ADO, BDE). Thanks to these,
TestComplete reveals “what” the application does in areas far
more central to the application than its screen output.
The option of running functional tests partly or entirely from a separate
Connected Application that uses the TestComplete OLE engine and runs tests
on the application from its own code, or uses the engine to read scripts.
This way, every TestComplete service can be controlled using your favorite
development language.
It is recommended that functional testing is not conducted randomly; it cannot
be considered testing if you do not know what you are testing for. White-box
testing centers on TestComplete’s Open Application facility, one of whose
capabilities is to provide information on which functional tests to run, and
how unexpected results occur.
Even the simplest functional test should be applicable
throughout the life of a project, and it should be capable of automatically
measuring results against an already-validated standard output. TestComplete’s
test log is designed to meet these criteria. The test log supports http://www.automatedqa.com/products/testcomplete/tc_regression_testing.asp - regression
testing ,
in which functional testing is integrated into general test work, and each
new test cycle reuses the tests and results of previous cycles.
|