Manual Testing And QTP Interview Questions
Manual Testing And QTP Interview Questions
Q. Why will you use automation testing?
Efficiency of testing greatly improves with automation testing, efforts and costs are greatly reduced and accurate results are provided.
Q. How will you define automated testing?
Automated testing is the use of software to control the execution of tests, the comparison of actual outcomes to predicted outcomes and the setting up of test preconditions.
Q. List down limitations of automated testing.
- a) Planning and preparing all test cases for the software under test is difficult.
- b) It is mainly effective in testing GUI based applications. Automated testing is not effective for non GUI applications.
- c) To be very honest it is mostly dependent on GUI layout so when the interface changes the automated test script must also be modified.
Q. Give scenarios where you will prefer automated testing.
- a) When it improves the speed, coverage, and risk mitigation of the project.
- b) When automated testing implementation is simple.
- c) If changes are unlikely and requirements are stable.
Q. Which components are the best candidates for automated testing?
- a) Components those are Mission-critical.
- b) Components those are Self-contained.
- c) Simple scripting components.
Q. What are some techniques that can be used to improve automated testing?
Utilization of proper error handling, clear requirement definition and proper deployment plan can improve automated testing.
Q. Which testing tools support interoperability?
Testing tools that support interoperability are WinRunner and QTP.
Q. What is table driven testing?
Table-driven testing is an automated testing methodology in which test cases are created and executed based on keywords or actions.
Q. What is data driven testing?
Data-driven testing (DDT) is a testing methodology where test scripts are written to run together with their related data sets in a framework.
Q. What is modulatory driven testing?
It requires the creation of small, independent scripts that represent modules, sections, and functions of the application-under-test.
Q. What are some of the famous automated testing tools?
WinRunner, LoadRunner, QTP, Selenium, Silk Test, Rational Functional Tester, Rational Robot.
Q. Can we use automation testing before manual testing?
No we cannot do that as in order to perform automation we need to stabilize the application first and that will only be done with the help of manual testing.
Q. What are the modes of recording?
There are 3 types of recording modes.
- Analog Recording
- Low Level Recording
- Normal Recording
Q. What are the different add-ins’ supported in QTP?
There are many add-ins’ supported in QTP like web, Java, .Net,silverlight
Q. What are the default add-ins’ in QTP?
In QTP there are 3 default add-ins’ viz. activex, visual basic,web
Q. What are the types of licenses in QTP?
There are 2 types of licences.
- Seat License
- Concurrent License
Q. Explain Test Settings in QTP.
Test settings is very important part of the QTP test. You can open the test settings from the file sub menu.
You will find below sections in test settings window.
1. Properties Settings: In properties section you will find the location of the test and add-ins associated with the test.
2. Run Settings: In run section you will find below settings.
Data table iterations
When error occurs – what to do
Object Synchronization timeout
3. Resources Settings: In resources section you will be able to see/edit the associated function libraries of the test.
4. Parameters Settings: In parameters section you will specify the input and ouptu parameters.
You can access the parameters using script as mentioned below.
Set qtApp = CreateObject(“QuickTest.Application”) ‘ Create the Application object
Set pDefColl = qtApp.Test.ParameterDefinitions
Set rtParams = pDefColl.GetParameters() ‘ Retrieve the Parameters collection defined for the test.
Set rtParam = rtParams.Item(“sagar”) ‘ Retrieve a specific parameter.
5. Environment Settings: In Environment section you can view built – in and user defined global variables. You can also create new user defined variables here.
6. Web Settings: In web section you can specify the browser navigation timeout.
7. Recovery Settings: In recovery section you will be able to add and activate/deactivate new recovery scenarios to the test.
You can also view the properties of the scenarios.
8. Local System Monitor Settings: In this section you can monitor the various properties of the system like memory usage, cpu usage by given application during test execution.
Q. What is QuickTest Professional?
QuickTest Professional is a Functional and Regression testing tool from HP Software, which can record the user actions, keyed in while recording and execute these user actions while we play back (run) the test. It can be used to test the functionality of the application in the regression testing phase.
Q. How do you decide what test cases to be automated?
When we have a large number of test cases (in most cases we do) we have to carefully analyze them and group them into categories and then decide if that test case should executed on every release/build of the application or not. If the test case is not intended to be executed on every release it should not be automated since it falls into a “one-time” testing category. Some test cases might be very time consuming to automate where as executing them manually could be just a matter of 5 to 10 minutes. Such type of test cases should be given the least priority in terms of when to automate them. Some test cases may have manual intervention for example: when you create an account in the application someone in your team has to do run some batch processes manually in order for you to continue with further testing. These kind of test cases should not be automated unless you have full control of the backend processes to be run for successful completion of the test using QTP.
Q. How does QTP work?
QTP has two components: a) VB Script Language b) Object Repository While recording the user actions on the applications QTP will generate the VB Script statements, which indicate the actions it is supposed to perform. While recording, QTP will also learn the objects present in the application, say for example a Window, check box, radio button etc., and stores these objects in a place called Object Repository. In order to run the test successfully the corresponding object should exist in the Object Repository.
Q. What are the modes of Recording in QTP?
There are three modes:
- Context Sensitive,
- Low Level
Context Sensitive Mode: In this mode QTP records the objects and properties of the objects from the application so that it can identify them while playing back the script. 99% of testing is done using the context sensitive mode.
Analog mode: In this mode QTP records the mouse movements and key strokes on the keyboard as Tracks so that it can help you in testing the situations like signature scanning or handwriting or drawing some objects on the screen or in a window etc.
Low Level recording: In this mode QTP records the objects based on their location by capturing the X and Y coordinates of the objects on the screen. The Analog and Low Level recording modes can be selected only after hitting the record button. In the picture below the First icon is for Analog recording and the second one is for Low Level recording.
Analog and Low Level Recording modes can only be selected after starting to Record and going to the Automation menu.
Q. What are the modes of running test in QTP and what do they mean?
There are three modes of replaying the test. These are not listed on the tool bar.
When we hit the Run button we get the “Run” dialogue box, which gives us two options.
- To save the results in New run results folder. This is the Verify mode.
- To save the results in Temporary run results folder overwriting the earlier results. This is the Debug mode.
- When we need to run the test to update the Checkpoints go to “Automation” menu and select “Update Run Mode”.
1) Verify Mode: If the test engineer wants to save the results of the test run to compare and verify with the future runs of the same test he would go with the Verify mode.
2) Debug Mode: If the Test engineer does not want to save the results as he is yet to finish the script or he is testing his QTP coding logic he would run the test in the debug mode.
3) Update Mode: If a test engineer wants to update the expected results while running the test, say for example while recording the script the calendar date was 10/20/2008 and while executing the test it is a different date (system date), then the test should be run in the update mode otherwise the test would fail because of the changed properties of the object.
Sequence of things happening when the script is played back:
1. QTP’s inbuilt interpreter checks for the syntax errors in the script.
2. It checks to see if the object specified in the script exists in the repository.
3. It checks if the object specified in the script exists on the Application Under Test.
4. Does the action/task specified in the script.
During script execution if any of the above phases encounter the error, then an error window pops up depending on the situation.
Snapshots of the error messages:
1. Syntax error:
2. Object not found in the repository:
3. Object exists in the repository but is not displayed on the screen:
Q. How do you start the Application Under Test?
If you are working with just one application: In QTP we can specify the URL for the application or the exe file of the application within the settings. Go to “Automation” menu and select “Record and Run Settings” option. It opens a Record and Run settings dialogue box, which has options to enter the URL of the application for web or exe file of the application if it is windows application.
For the main test, which calls the reusable actions, we can use the option “Open the following browser when a record or run session begins”. Once the application is open we don’t need to open the application again so for all the reusable action we can use the option “Record and run test on any open Web browser”. But we should make sure that all the browsers except Quality Center are closed before recording or running the tests.
For windows applications we can select the application by clicking the “Add” button and browsing the 0065xecutable file of the application.
See the picture below:
If you are working with multiple applications: At workplace usually we will be working with more than one application and we might need to automate the test cases for these applications. In this situation we should select the Radio button “Record and run test on any windows based application” for non web based application or “record and run test on any open browsers” for web applications which will instruct QTP not to open any application by itself. Then we need to include the statement SystemUtil.Run in the Login script /Action and execute that as the first action in the flow of actions.
Example: SystemUtil.Run http://www.onsitetraining.net
Or if it is a windows based application we have to give the path of the executable.
SystemUtil.Run “C:\Program Files\Mercury Interactive\QuickTest Professional\samples\flight\app\flight4a.exe”
Q. What statement would you use to send the results to the test results?
We would use Reporter.Reportevent followed by the step name, description and result to send the result to the test results and get the status whether the step passed or failed.
Reporter.ReportEvent 0,”Property Check”, “Property Checked Passed” Value “0” indicates that the step is passed and “1” indicates that the step is failed. You can also use micPass or micFail in place of 0 or 1.
Q. What is Parameterization?
Parameterization is a way of data entry into the application without hard coding the values within the test script. There are various ways to parameterize.
i) Using values from Data Table
ii) Using Environment Variables
iii) Using Random Numbers generated
iv) Using Test Parameters
v) Using Action Parameters
Q. What are the standard Object classes?
Developers assign properties to each object on the application. Object class is an industry standard to identify a particular type of object in the application and some of the commonly used standard classes are:
- Dialog box
- Push button
- Edit Box
- Radio button
- List box
- Combo box
If the class property of the object is defined as Object or WinObject or WebElement depending on the type of application you are using, then it is not a standard object and comes under the category of Non-Standard object.
Q. How do you identify an object if it is not associated with any standard class, using QTP?
Any object which is not associated with the standard class will have a class of either WinObject (for Windows applications) or WebElement (for web applications) and are considered as Non-Standard objects. Non-standard objects are represented with a special Tri-colored symbol in the Object Repository.
Q. What is an Object Repository?
Object Repository (OR) is a collection of objects pertaining to the application under test. Example: All the text boxes, list boxes, images etc are stored in a file in QTP. This file is called the object repository. Each object will have the set of properties to identify that object uniquely in the application. At the time of execution, QTP identifies the objects on the screen by comparing them with the objects and their properties in the repository.