If you're looking for Manual Testing Interview Questions & Answers for Experienced or Freshers and QTP Interview Questions, you are at the right place. There are a lot of opportunities from many reputed companies in the world. According to research Manual Testing And QTP average salary ranges from $77,771 to $105,509. So, You still have the opportunity to move ahead in your career in Manual Testing And QTP Development. Mindmajix offers Advanced Manual Testing And QTP Interview Questions 2021 that help you in cracking your interview & acquire a dream career as Manual Testing And QTP Developer.
|Learn the Following Interview Questions on Manual Testing|
The efficiency of testing greatly improves with automation testing, efforts and costs are greatly reduced and accurate results are provided.
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.
|If you want to enrich your career and become a professional in Manual Testing, then visit Mindmajix - a global online training platform: "MindMajix's Manual Testing Course" This course will help you to achieve excellence in this domain.|
Utilization of proper error handling, clear requirement definition, and a proper deployment plan can improve automated testing.
Testing tools that support interoperability are WinRunner and QTP.
|Related Article: What is Manual Testing|
Table-driven testing is an automated testing methodology in which test cases are created and executed based on keywords or actions.
Data-driven testing (DDT) is a testing methodology where test scripts are written to run together with their related data sets in a framework.
It requires the creation of small, independent scripts that represent modules, sections, and functions of the application-under-test.
WinRunner, LoadRunner, QTP, Selenium, Silk Test, Rational Functional Tester, Rational Robot.
Interested to learn more testing tools, then read our famous automated testing tools blog
|Related Article: Automation vs 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.
Mainly, there are four levels of manual testing. Each of these levels has a particular purpose for the software development lifecycle.
Unit testing: A unit is a small testable part of any software. The purpose is to test every unit of the software that performs as designed. It checks if all the components are fulfilling functionalities or not.
Integration Testing: In this, all individual units are tested to check whether they are working as they design to when integrated. The purpose here is to check the interface between the modules.
System Testing: It ensures all the components of the software are tested and meets the requirements specified.
User Acceptance Testing: It’s the final level of software testing, determines the software is ready to release or not.
The procedure of Manual Testing includes the following phases:
The testing process ends after completing the following milestones:
Test case execution: This is one of the most important phases in the STLC. It is referred to as the successful completion of the test cycle until the final bug fixes.
Testing deadline: It refers to the end date of the validation stage if no critical or high priority remains in the system.
Code Coverage (CC) ratio: It is a measure to check the amount of code covered through automated tests.
Mean Time Between Failure (MTBF) rate: It’s the average amount of time product or device functions before failing
The following are the different types of software testing:
|Related Article: Different Types of Software Testing|
The quality metric which denotes the percentage of testing completed for a product is called test coverage. It is useful for both functional and non-functional testing activities. It can also be used to add missing test cases.
|Static Testing||Dynamic Testing|
|It is done in the early stage of the development life cycle to identify the defects and is more effective than dynamic testing.||It is done at the later stage of the development life cycle.|
|It is executed before code deployment.||It is executed after code deployment.|
|Done without executing the code.||Done with the execution of code.|
|Posses more statement coverage compared to dynamic testing||It covers a limited area of code so possesses less statement stage.|
|It includes Walkthroughs, code reviews.||It includes functional and non-functional testing|
|Performed in the verification stage||Performed in the validation stage.|
Software testing is categorized into two types:
Black Box Testing: It is a software testing method in which the design/ structure of the item being tested is not known to the tester.
White Box Testing: It is a software testing method in which the design/ structure of the item being tested is known to the tester.
A bug is an error detected during the testing time of the software. Whereas, a defect is a change between expected and actual results. The defect is detected after the product goes live by the developer.
API testing is a software testing type that approves the application programming interfaces. The aim here is to check the performance, functionality, security, and reliability of the programming interfaces. Instead of using standard user keyboard inputs and outputs, in this testing, we use software to send calls to the API, receive output, and check the system’s response.
The benefits of using API testing are:
Test stub is used during top-down testing for simulating the performance of the lower-level modules that are not yet integrated. They act as a temporary replacement for a called module and provides the same output as the actual product.
Test Driver is used during Bottom-up testing for simulating the performance of the upper-level modules that are not still integrated. They act as a temporary replacement for a called module and provides the same output as that of the actual product.
End-to-end testing is a technique used to test the entire software product right from start to finish to ensure the application flow is behaving as expected. The purpose of performing this test is to find out system dependencies and assure data integrity maintained between various system components and systems.
End-to-end testing is more reliable and widely used because of the following benefits:
There are 3 types of recording modes.
There are many add-ins’ supported in QTP like web, Java, .Net, Silverlight
In QTP there are 3 default add-ins’ viz. ActiveX, visual basic, web
There are 2 types of licenses.
Test settings are a very important part of the QTP test. You can open the test settings from the file sub-menu.
You will find the below sections in the test settings window.
1. Properties Settings: In the properties section you will find the location of the test and add-ins associated with the test.
2. Run Settings: In the run section you will find below settings.
Data table iterations
When an error occurs – what to do
Object Synchronization timeout
3. Resources Settings: In the resources section you will be able to see/edit the associated function libraries of the test.
4. Parameters Settings: In the parameters section you will specify the input and output parameters.
You can access the parameters using the script as mentioned below.
Create the Application object
Set qtApp = CreateObject(“QuickTest.Application”) ‘ Set pDefColl = qtApp.Test.ParameterDefinitions
Retrieve the Parameters collection defined for the test
Set rtParams = pDefColl.GetParameters()
Retrieve a specific parameter
Set rtParam = rtParams.Item(“sagar”) print rtParam.value.
5. Environment Settings: In the 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 the web section you can specify the browser navigation timeout.
7. Recovery Settings: In the 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 the given application during test execution.
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 playback (run) the test. It can be used to test the functionality of the application in the regression testing phase.
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 be 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 whereas 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 a 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 kinds of test cases should not be automated unless you have full control of the backend processes to be run for the successful completion of the test using QTP.
QTP has two components:
VB Script Language: While recording the user actions on the Applications QTP will generate the VB Script statements, which indicate the actions it is supposed to perform.
Object Repository: While recording, QTP will also learn the objects present in the application, say for example a Window, checkbox, 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.
There are three modes:
1. 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.
2. Analog mode: In this mode, QTP records the mouse movements and keystrokes 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.
3. 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.
There are three modes of replaying the test. These are not listed on the toolbar.
When we hit the Run button we get the “Run” dialogue box, which gives us two options.
To save the results in the New run results folder. This is the Verify mode.
To save the results in the 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 the “Automation” menu and select “Update Run Mode”.
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.
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.
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.
The sequence of things happening when the script is played back:
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:
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 the “Automation” menu and select the “Record and Run Settings” option. It opens a Record and Runs settings dialogue box, which has options to enter the URL of the application for web or exe file of the application if it is a 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 the workplace usually 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 applications 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 https://www.mindmajix.com
Or if it is a windows based application we have to give the path of the executable.
SystemUtil.Run “C:Program FilesMercury InteractiveQuickTest Professionalsamplesflightappflight4a.exe”
We would use a Reporter. Report event 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.
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.
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:
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.
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.
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 a 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.
Ravindra Savaram is a Content Lead at Mindmajix.com. His passion lies in writing articles on the most popular IT platforms including Machine learning, DevOps, Data Science, Artificial Intelligence, RPA, Deep Learning, and so on. You can stay up to date on all these technologies by following him on LinkedIn and Twitter.