Rational Functional Tester is a software test automation tool used by quality assurance teams to perform automated regression testing. Testers create scripts by using a test recorder which captures a user's actions against their application under test. The recording mechanism creates a test script from the actions. The test script is produced as either a Java or Visual Basic.net application, and with the release of version 8.1, is represented as series of screen shots that form a visual storyboard. Testers can edit the script using standard commands and syntax of these languages, or by acting against the screen shots in the storyboard. Test scripts can then be executed by Rational Functional Tester to validate application functionality. Typically, test scripts are run in a batch mode where several scripts are grouped together and run unattended. During the recording phase, the user may introduce verification points, which capture an expected system state, such as a specific value in a field, or a given property of an object, such as enabled or disabled. During playback, any discrepancies between the baseline captured during recording and the actual result achieved during playback are noted in the Rational Functional Tester log. The tester can then review the log to determine if an actual software bug was discovered.
Key Technologies
Storyboard Testing
Introduced in version 8.1 of Rational Functional Tester, this technology enables testers to edit test scripts by acting against screen shots of the application.
Object
The Rational Functional Tester Object Map is the underlying technology used by Rational Functional Tester to find and act against the objects within an application. The Object Map is automatically created by the test recorder when tests are created and contains a list of properties used to identify objects during playback.
ScriptAssure
During playback, Rational Functional Tester uses the Object Map to find and act against the application interface. However, during development it is often the case that objects change between the time the script was recorded and when a script was executed. ScriptAssure technology enables Rational Functional Tester to ignore discrepancies between object definitions captured during recording and playback to ensure that test script execution runs uninterrupted. ScriptAssure sensitivity, which determines how big an object map discrepancy is acceptable, is set by the user.
Data Driven Testing
It is common for a single functional regression test to be executed multiple times with different data. To facilitate this, the test recorder can automatically parametrize data entry values, and store the data in a spreadsheet like data pool. This enables tester to add additional test data cases to the test data pool without having to modify any test code. This strategy increases test coverage and the value of a given functional test.
Dynamic Scripting Using Find API
Rational Functional Test script, Eclipse Integration uses Java as its scripting language. The Script is a.java file and has full access to the standard Java APIs or any other API exposed through other class libraries. Apart from this RFT itself provides a rich API to help user further modify the script generated through the recorder. RationalTestScript class that is the base class for any TestScript provides a find API that can be used to find the control based on the given properties.