RFT Interview Questions and Answers
RFT Interview Questions and Answers
1) What is RFT?
RFT Stands for Rational Functional Tester, It’s an IBM Product.IBM’s Rational Functional Tester is most powerful next generation functional-testing and automation tool from Rational and is based upon object-oriented technology. Due to its extreme simplicity & robustness, it is in great demand all across the industry involved in Application Development & Testing.
It is an Automation Testing tool used for Automation and regression testing.
2) What is the use of Rational Functional Tester? Explain.
Following are the functions that are performed by RFT:
• Performing complete functional testing of a software application.
• Object testing including properties of the object and its data.
• Creates and edits OO test scripts in simplest manner.
• Scripts navigation recording and playing back them through the application.
• Performs testing of state of the objects.
• Allows generating code through wizards, like creating verification points.
3) What Process is followed by Rational Functional Tester for test automation?
What is the Process of test automation by using Rational Functional Tester?
Test automation process using RFT involves following three steps.
• Recording of Test Scripts: is done on the fly, as users navigate the application. Verification points can be inserted to validate the system response. This makes test scripts data-driven to enable execution of the same script on variety of data inputs.
• Enhancing the Test Scripts: Enhancements like conditional branching, refactoring, and exception handling are done in test scripts to perform various additional functions.
• Playing Back the Scripts: Executing the scripts on the application under test to emulate all actions as already performed by the user during recording. Logging of the discrepancies and drawing conclusion as to whether application functioned as desired or some regression issues need to be addressed.
4) For how many development platforms & Languages Functional Tester is available?
Functional Tester is available for two IDEs and two scripting languages:
• IBM Rational Software Development IDE.
• MS Visual Studio .NET IDE.
• Java Scripting.
• VB Scripting.
• Functional Tester uses Java Scripting in IBM Rational IDE and VB Scripting in MS Visual Studio .NET IDE.
5) How to identify various objects by Rational Functional Tester?
• Object oriented technology is used in Rational Functional Tester.
• OO technology is used for identifying several objects.
• Objects are identified by their internal properties.
• Functional Tester finds the changes in objects’ location on playback.
• Functional Tester even identifies changes of text pertaining to an object.
6) What is the purpose of a test object map in Rational Functional Tester?
• At the time of recording the script, the test object map is created, while the application is under test.
• Test Object Map provides a brisk way for adding objects to a particular script.
• Test Object Map provides the list of test objects that are available in the application.
• A new Test Object Map can be created by basing on existing map or by adding the required objects.
• A TOM contains certain properties for every object.
• Recognition information can be updated, thus scripts which are using the object map are able to share the information.
7) In how many ways we can test the applications on Linux using RFT?
• First Way: We can record a script on Windows Environment and export it to Linux & then play it back on Linux.
• Second Way: By writing scripts using the Test Object Insert tool. Instead of creating an object map through recording we populate it outside of the recorder by opening the map and selecting objects in the test application.
• We can insert verification points without recording, by opening the Verification Point wizard from the Script Explorer.
8) What are two types of Test Managers in RFT?
• The Test Manager includes Test Manager Log that runs on Windows & Linux platform.
• It has Test Management features such as running scripts, editing scripts.
• RFT contains its own logs.
• RFT does not depend on log integration of Test Manager.
Clear Quest Test Manager:
• CQTM associates with functional test scripts.
• The received execution results can be analyzed.
• The results of execution are recorded for reporting.
9) What are the differences between Rational Functional Tester and Rational Robot?
Rational Functional Tester:
• RFT uses Java kind of OOP languages and VB.Net as language.
• RFTworks pretty well with JEE projects, ASP.NET and VB projects.
• RFT most advanced features includes support for automated mainframe testing with emulators.
• Rational Robot uses SQA basic for scripting.
• RR works pretty well with Power Builder applications.
• Rational Robot works only with Windows Platform.
10) What is a Rational and Functional Test project?
Rational Test project is used for storing test assets like test plans test cases, test logs, reports, builds etc. To associate a Functional Tester project with a rational project, a rational project needs to be created to store the test assets. Functional Test project stores all application test assets like scripts, object maps, verification point baseline files and script templates. Functional Test project is created before recording the scripts.
11) What are the benefits of associating Functional Tester project with Rational Project?
The following are the benefits:
• Testing assets are managed from one Rational Project.
• The functional scripts can be recorded and play back from Rational Test Manager.
• Functional test scripts can be played back on different computer architecture using Rational Test Agents, via Test Manager.
• Functional tester logs can be managed by using Test Log window from Test Manager.
• Test Manager can be used to coordinate the running scripts.
12) What is the use of associating a project with Test Manager in RFT?
• Creating and playing back the scripts from within Rational Test Manager.
• Using the Test Manager Agent for playing back scripts on remote computer.
• You can view the scripts from the Test Scripts window of Rational Test Manager.
13) How data driven testing is useful in RFT?
• Same script can be used for different scenarios with minor variations.
• The test data from the test script is obtained to modify data, add new test cases.
• The test data can be shared with several scripts.
• Utilize the wizard driven process to avoid programming.
• Wizard driven process is used to import data from various external resources.
14) What are the verification methods?
The following are the verification methods:
• Case-Sensitive: Verifies the text that is captured during recording exactly with the text that is captured during playback.
• Case-Insensitive: Verifies the text that is captured during recording exactly with the text that is captured during playback in content but not in case of alphabets.
• Numeric Equivalence: Verifies the values that are captured during recording exactly with the values that is captured during playback in content.
• Numeric Range: Verifies the values which are captured during recording fall within a specified range during playback.
• User-defined DLL test function: Sends text to a function which in a DLL, so that custom tests can run. Path specification that includes directory and the name of the DLL is done.
• Selected blank field verification: Verifies the field selected has null values, which has no text or numeric data. The verification point will pass, when the field is blank.
15) Are there any restrictions when we disassociate a project from the current rational project?
Yes. Following restrictions are imposed when we disassociate a project from the current Rational project:
• We cannot play back Functional Tester scripts, or test cases or suites that include Functional Tester scripts in the disassociated project from Test Manager.
• Test Manager deletes the test script source from the disassociated project.
• We cannot undo this operation. If we associate the Functional Test project with a rational project again, Test Manager creates a new test script source.
16) What is IBM Rational Functional Tester Proxy SDK?
• IBM RFT Proxy SDK allows extending user interface controls to the applications.
• Proxy SDK provides complete documentation, API.
• Proxy SDK has samples that are ready to use.
• It has user friendly tutorials on extending Functional Tester support to test the newly added controls.
• Controls that are available in existing domains can be extended using Proxy SDK.
17) What is the utility of a verification points in Rational Functional Tester?
During the recording verification points can be inserted in the script to confirm the state of an object in the application.
A verification point captures the object information based upon the type of verification point and stores it in a baseline data file. The information in the base file becomes baseline of expected state of object during subsequent builds.
18) What types of verification points are provided by RFT?
Rational Functional Tester has two types of verification points: Object properties verification point and Data verification points. Data verification point has five further points: Menu hierarchy verification point, Table verification point, Text verification point, Tree hierarchy verification point, List verification point.
19) Explain about Private vs. Shared Object Mapping in RFT?
Private Object Mapping:
• Objects are isolated from other objects.
• A good choice for development of scripts.
• There are chances to lead redundancy.
Shared Object Mapping:
• Scripts are shared among multiple testers.
• Shared object mapping involves single point of maintenance.
• Shared objects can have private maps for any one of the shared objects.
20) What is the helper superclass in RFT?
All Functional Tester scripts use default helper superclass. These scripts extend the RationalTestScript class and thereby inherit a number of methods. However, advanced users can create their own helper superclass (if they want to add additional methods or override the methods within RationalTestScript).
21) How to implement customized Super Helper?
An Unexpected Active Window handler in the scripts can be handled in a situation where a window other than one Functional Tester is attempting to access the resource become active. The process is:
• Create a sample folder for holding the Super Helper class.
• Create a Java class that acts as Super Helper class.
• In the helper class, implement the “onObjectNotFound” handler.
• To extend the Super Helper, modify the properties of a script’s helper class.
• Modify the property – Alter the Functional Tester, to make use of all new Functional Tester scripts for customized Super Helper.
22) What are the possible Object Recognition Failures and how to fix them?
• Change of recognition properties in the parent object.
• Change of ancestry structures.
• Recognition properties are not resilient.
Following are the solutions to fix them:
• Updating Recognition Properties in Object Map Editor.
• Using Regexp (regular expression) for values of object properties.
• Adjusting recognition property weight.
This favors more resilient properties.
23) How RFT playback depends upon the platform and the browser?
Test playback in RFT is independent of the platform as well as independent of browser. E.g. we can record script on Windows and play it back on Linux. Also, the script contains no references to the browser during the recording, we can play back the script using any of the supported versions of Firefox, Mozilla, and Internet
24) What host & test platforms supported by RFT?
Functional Tester runs on the following Host and Test platforms: Windows XP Professional, Windows 2000 Professional & Server, Windows 2000 Server & Advanced Server, Windows 2003 Enterprise, and Standard & Server
Platforms supporting all functions of RFT except the recording: Red Hat Linux Enterprise Workstation 4.0, SuSE Linux Professional version 9.0, SuSE Linux Enterprise Server 10.0, and Novel Desktop 10.0
25) What types of nesting of objects is supported by Functional Tester?
Parent-child nesting and Owner-owned nesting
26) Type of file extensions created while exporting Functional Test project items?
RFT compresses a copy of the files into a data transfer file with the name specified by us. It also appends an .rftjdtr (Functional Tester Java Scripting) or .rftvdtr (Functional Tester VB.NET Scripting) extension to it.
27) RFT provides how many type of delete Cookies methods?
RFT provides following two versions of the delete Cookies method:
• One method deletes all cookies for the current profile or user.
• Second method deletes cookies in a specific page or domain for the current profile or user.
28) What is a test project in RFT?
• A test project is the location where Functional Tester keeps all of the scripts, along with expected and actual results.
• The format of the test project is governed by the environment being used by us i.e. either Eclipse for Java scripting or Visual Studio.NET for Visual Basic.NET scripting.
• If we are using the Java language, we create a Java test project. However If we are using Visual Basic.NET, we create a .NET test project.
29) How an application is started during recording the tests?
• When recording tests, the application can be started by using a startApp command.
• This makes playing back the tests more reliable because startApp uses the application configuration information.
• Functional Tester will open either Java applications that we specify or HTML pages in our browser, or run applications in executable form.
30) How can we create a new RFT script without recording?
When we don’t want to do recording, we can create a script to enter Java code manually.
In the new script, RFT includes import statements for files we need to compile the script and comments containing archiving information.
RFT uses the script name as the class name and sets up test Main, where you can add the commands to include in the script.
31) Can we do recording in an existing RFT script?
Yes. We can do the recording in existing RFT script by bringing our cursor to the desired location & just start the recording. Start the application >> insert verification points >> and add all script support functions.
32) How do we record scripts for testing HTML applications?
For testing HTML applications on a particular browser scripts are recorded in a usual way using following two steps:
i) Enabling the Web browser: Before being able to use the particular Web browser (like any of the supported versions of Firefox, Netscape, Internet Explorer, or Mozilla) to test with RFT, firstly we need to enable it.
Enabling of the browser can be done by clicking on Configure > “Enable Environments for Testing”. This will enable the environments for testing.
ii) Configuring the HTML applications for testing: can be done by clicking on Configure > “Configure Applications for Testing” to specify information about our application and its environment.
For testing Microsoft HTML Applications (MSHTA), we need to run mshta.exe to configure each application desired to be tested.
33) RFT provides how many type of delete Cookies methods?
• Method of deleting all cookies for the current profile or user
• Method of deletes cookies in a specific page or domain for the current profile or user
34) What are the ways of saving test scripts in RFT?
RFT script files can be saved in following three ways:
• Save the current test script or file
• Save all test scripts and files
• Save a script under another name
35) What is a data pool?
• Data pool is an external file which drives the Data-driven testing. Data pool provides inputs to the test.
• Data pool is a test dataset or a collection of concerned data records which supplies data values to the variables in a test script during test script playback.
36) How many types of data pools are there?
There are two types of data pools like
i) Private data pool
ii) Shared data pool
Every test script that we create has a private test data pool associated with it. The initial private test data pool is a placeholder and is empty until we data-drive the test script, or add new data to it.
We can create a shared data pool by creating a new data pool, or we can associate a data pool with several test scripts to share a data pool.
37) How do we create datapools in RFT?
A data pool is a test dataset, a collection of related data records which supplies realistic data values to the variables in a test script during test script playback.
We can create data for a datapool right from the scratch or we can import existing data into a new datapool from another RFT datapool or from a .csv file.
Following rules are followed while working with datapools:
• While importing data, we need to import the data into the same RFT project as the test scripts that access the data.
• While importing data from a Test Manager datapool, we need to first associate a RFT project with a Rational project to use the Test Manager datapool.
38) What type of changes we can do in a datapool?
After we data-drive a test to create a datapool or create an empty datapool, we can edit the records and variables in the datapool.
We can make the following changes to a datapool:
• Add, remove, move, or edit a record
• Add, remove, move, or edit a variable
• Edit datapool values
• Cut, copy, or paste a cell, a record, or a variable
39) How do we replace literal values in a script with datapool references?
We can easily replace literal values in an existing script with datapool references to add realistic data to the script. We can find and replace all literal values, or just the number, string, or Boolean literals with a datapool reference.
We can add a literal value from a script to a datapool. If we do not use an existing datapool variable, the same literal values (the values that were captured when we recorded the test script) are used each time we run the script.
40) How many types of datapool record selection orders are available in RFT?
Test datapool record selection order determines how a test script accesses the
records in the test script’s associated datapool when we play back the test script.
Two types of datapool record selection order are used:
• Sequential record selection order: Is used to make a test script access records in the datapool in the order that they appear in the datapool. It is the default datapool record selection order.
• Random record selection order: Is used to make a test script access records in the datapool randomly. It accesses every record in the datapool once.
41) What are the steps involved in test development phase using RFT?
The test development phase consists of following six steps:
• Restore the test environment and set the playback options.
• Play back each script against the same version of the application-under-test that was used for recording to verify that the script performs as intended.
• Analyze the results in the RFT log. If we associate a Functional Tester project with the current Rational project, we can analyze the results using the Test Log window of Test Manager.
• Use the Functional Tester Verification Point Comparator to determine the cause of verification point failures.
• If the script fails, edit, debug, or re-record it so that it runs as required.
• If we associate a Functional Tester project with the current Rational project, we can group individual scripts into a test suite. Play back the suite to verify that the scripts work properly. If necessary, edit, debug, or re-record the scripts.
42) What are the steps involved in regression testing phase using RFT?
The regression-testing phase consists of following five steps:
• Restore the testing environment and set the playback options.
• Play back the test script against a new build of the application-under-test.
• Analyze the results in the Functional Tester log. If we associate a Functional Tester project with the current Rational project, we can analyze the results using the Test Log window of Test Manager.
• Use the Functional Tester Verification Point Comparator to determine the cause of verification point failures. If verification points fail because of intentional changes to the application-under-test, update the baseline data using the Comparator.
• If necessary, revise your test scripts to use new features in the application under test. Then play back the revised test scripts against the current build and reevaluate the results.
43) What is the purpose of Playback Monitor in RFT?
When we do the playback of our script, we can view the script name, the number of the line that is executing, status icons, and a description of the action in progress from the Playback Monitor.
The Playback Monitor consists of following four parts:
• Script name
• Description of action in progress
• Status icons
• Script line number
• Stop and pause or resume buttons