Testing Interview Questions And Answers Pdf
1. What are the tools of performance testing?
Some popular commercial testing tools are:
LoadRunner(HP): This testing tool contains a wide array of application environments, platforms, and databases. It is typically suitable for web applications and others.
QA load(Compuware): This tool is used for load testing of web, database and char-based systems.
WebLoad(RadView): It is used to compare running tests with test metrics.
Rational Performance Tester (IBM): It allows finding out the presence and cause of bottlenecks.
Silk Performer (Borland): This testing tool lets you predict the behavior of the e-business environment.
2. How is ‘Build’ different from ‘Release’?
Answer: Build is an executable file which refers to that part of an application which is handed over to a tester to test the implemented functionality of the application along with some bug fixes. The build can be rejected by the testing team if it does not pass the critical checklist which contains the major functionality of the application.
There can be multiple builds in the testing cycle of an application.
The release refers to the software application which is no longer in the testing phase and after completion of testing and development, the application is handed over to the client. One release has several builds associated with it.
3. Enlist some Bug status along with its description?
Answer: Enlisted below are few bug statuses along with their descriptions:
New: When the defect or bug is logged for the first time it is said as New.
Assigned: After the tester has logged a bug, his bug is being reviewed by the tester lead and then it is assigned to the corresponding developer team.
Open: Tester logs a bug in the Open state and it remains in the open state until the developer has performed some task on that bug.
Resolved/Fixed: When a developer has resolved the bug, i.e. now the application is producing the desired output for a particular issue, then the developer changes its status to resolved/fixed.
Verified/Closed: When a developer has changed the status to resolved/fixed then the tester now tests the issue at its end and if it’s fixed then he changes the status of the bug to ‘Verified/Close’.
Reopen: If a tester is able to reproduce the bug again i.e. the bug still exists even after fixing by the developer, it’s status is marked as reopen.
Not a bug/Invalid: A bug can be marked as invalid or not a bug by the developer when the reported issue is as per the functionality but is logged due to misinterpretation.
Deferred: Usually when the bug is of minimal priority for the release and if there is lack of time, in that case, those minimal priority bugs are deferred to the next release.
Cannot Reproduce: If the developer is unable to reproduce the bug at its end by following the steps as mentioned in the issue
4. What is known as Data-driven testing?
Answer: Data-driven testing is the methodology where a series of test script containing test cases are executed repeatedly using data sources like Excel spreadsheet, XML file, CSV file, SQL database for input values and the actual output is compared to the expected one in the verification process.
For Example, Test studio is used for data-driven testing.
Some advantages of data-driven testing are:
- Test data separation from test logic.
- The number of test cases is reduced.
5. What are the different Test Techniques used in Functional testing?
Answer: There are two different test techniques that are used in functional testing.
They can be defined as below: Requirement based testing: This form of functional testing is performed prioritizing the requirements on the basis of risk criteria. This also assures that all the critical test paths have been included in the testing process.
Business process-based testing: This form of functional testing is performed from the business process perspective. The scenarios include knowledge of business processes for performing testing
6. What is Equivalence Partitioning?
Answer: Equivalence partitioning also known as equivalence class partitioning is a form of black-box testing where input data is being divided into data classes. This process is done in order to reduce the number of test cases, but still covering the maximum requirement.
Equivalence partitioning technique is applied where input data values can be divided into ranges. The range of the input values is defined in such a way that only one condition from each range partition is to be tested assuming that all the other conditions of the same partition will behave the same for the software.
For Example: To identify the rate of interest as per the balance in the account, we can identify the range of balance amount in the account that earns a different rate of interest.
7. When do we perform Smoke testing?
Answer: Smoke testing is performed on the application after receiving the build. Tester usually tests for the critical path and not the functionality in deep to make sure, whether the build is to be accepted for further testing or to be rejected in case of broken application.
A smoke checklist usually contains the critical path of the application without which an application is blocked.
8. What types of software testing are available?
Be sure to cover the main types of testing, including:
- Alpha and Beta
- White box and Black box
- Stress and load
- Integration and regression
9. How should validation activities be handled?
Answer: When performing validation activities, a third party should conduct validation and verification. An independent validation should be performed and internal staff members not connected to the projects should be assigned validation-related tasks.
10. What is Exploratory Testing and when should it be performed?
Answer: The definition of Exploratory Testing is “simultaneous test design and execution” against an application. This means that the tester uses her domain knowledge and testing experience to predict where and under what conditions the system might behave unexpectedly. As the tester starts exploring the system, new test design ideas are thought of on the fly and executed against the software under test.
On an exploratory testing session, the tester executes a chain of actions against the system, each action depends on the result of the previous action, hence the outcome of the result of the actions could influence what the tester does next, therefore the test sessions are not identical.
This is in contrast to Scripted Testing where tests are designed beforehand using the requirements or design documents, usually before the system is ready and execute those exact same steps against the system in another time.
Exploratory Testing is usually performed as the product is evolving (agile) or as a final check before the software is released. It is a complementary activity to automated regression testing.
11. How much testing is enough?
Answer: There is no definitive answer to this question. Testing is not absolute and has no limits. However, we can use risk metrics (risk-based testing) to identify the likely scenarios that can cause the most harm or the sections of the software that is mostly used so that we focus our time and effort to the sections that are most important.
Testing should provide enough information about the status or health of an application, so the stakeholders can make an informed decision on whether to release the software or spend more time on testing.
12. What is your approach when requirements change continuously?
Answer: This question can be asked if you are interviewed for an agile QA position where requirements are likely to change frequently during development. Although a complete change in requirement is possible, most of the time, it is the technical details that are subject to change. e.g. the intent of the requirement or behavior of the feature is the same but implementation details can change
Some possible answers can be: Write generic test plans and test cases which focus on the intent of the requirement rather than its exact details
Work very closely with the product owners or business analysts to understand the scope of change so testing can be updated
Make sure the team understands the risks involved in changing requirements especially towards the end of the sprint
If you’re going to automate this feature, it is best to wait until the feature is stable and requirements are finalized
Negotiate to see if the changes can be kept to a minimum and/or implement the changes in the next sprint.
13. What is Cross-browser testing?
Answer: Cross Browser Testing is a type of non-functional test which helps us ensure that our website or web application works as expected in various web browsers. We could do Cross Browser Testing on different browsers both manual and automated way. To do Cross Browser Testing manually, we (Software Testers) create tests for each browser and execute it manually on each browser. To do it in an automated way, we could create Selenium tests with multiple conditional statements that execute test cases based on specified browser type. Every browser displays a website in their own style. We usually cannot have all the browsers on one machine. Each browser is designed by a different vendor. So each browser has its own features to showcase its unique presence. While testing a website, we need to ensure that our website is appearing the same across all the browsers. To do this we need to have all the browsers. Fortunately, there are some tools to perform cross-browser testing without testing individually in a manual way.
14. What Is Agile Testing And Why Is It Important?
Answer: Agile testing is a software testing process which evaluates software from the customer point of view. And it is important because this does not require Dev to complete coding for starting QA. Instead, the coding and testing both go hand in hand. However, it may require continuous customer interaction.
15. What Is The Difference Between Functional Requirement And Non-Functional Requirement?
Answer: The functional requirement specifies how a product should run whereas a non-functional requirement represents how it should be.
- Functional Requirements.
- Business rules
- Historical Data
- Legal and Regulatory Requirements
- External Interfaces
- Non-Functional Requirements.
- Data Integrity
16. What Is Smoke Testing And What Is Sanity?
Answer: Smoke testing confirms the basic functionality works for a product. It requires you to identify the most basic test cases for execution.
Sanity testing, on the other hand, ensures that the product runs without any logical errors. For example, if we are testing a calculator app; we may multiply a number by 3 and check whether the sum of the digits of the answer is divisible by 3.
17. What do you understand by usability testing?
Answer: Usability testing – It is a testing methodology for the ease of customers. Here the end customers are asked to use the software to evaluate if the product is up to the mark and is easy to use. This puts forth the customer’s perception too. It is recommended to use the prototype or mock-up software during the initial stages so as to finalize the customer point of view of usability. The customer is provided with this prototype before the development begins. This helps in confirming that things are being processed keeping user’s point of view in mind.
18. What Is Build Verification Testing, Bvt?
Answer: Build Verification Testing is a group of tests that execute on every new build of products for verification in which the build is testable prior to the release of build into the hands of the test team. The mainstream functionality of the application software is tested using BVT. BVT lets the developers know if any serious problems exist with the build. They save the test team time and frustration by avoiding the test of an unstable build.
19. What is Endurance Testing?
Answer: In this type of testing, we test the application’s behavior in contrast to the load and stress put on over application for a long period of time.
20. How would you Test a Service Oriented Architecture (SOA) Web Application?
Answer: The testing of web applications that communicate with a web service can be broken down into two parts:
Testing of the Web Service in isolation. Each web service has one or more functions which can be tested by sending appropriate requests and analyzing the response and verifying correct data is returned in the response. We can use tools such as SoapUI to test a Soap Service or Rest Client to test a RESTful web service.
Integration Testing of Web Service with the Front End. The integration testing is also important as it can highlight issues with data in the request and display of the response.
The reason for this separation is to be able to identify issues in the web service much quicker and easier to debug.
21. What Types of Testing is Specifically Important for Web Testing?
Answer: This is also an important Software Testing interview question for web application testing roles. Note, this question is asking about the types of testing.
Although you would do functional testing, usability testing, accessibility testing, etc, these are all also applicable to desktop application testing. The question is asking specifically for web testing.
Two types of testing which are very important for testing web applications are Performance Testing and Security Testing. The difference between a web application and desktop application is that web applications are open to the world, with potentially many users accessing the application simultaneously at various times, so load testing and stress testing are important.
Web applications are also vulnerable to all forms of attacks, mostly DDOS, so security testing is also very important to consider when testing web applications.
22. How many types of API testing are there?
There is no exact number for this API testing interview question, but you can list out the nine main categories below, as they almost cover all the API testing types:
- Validation Testing
- Functional Testing
- UI testing
- Load testing
- Runtime/ Error Detection
- Security testing
- Penetration testing
- Fuzz testing
- Interoperability and WS Compliance testing
23. Is Automation Testing A Complete Replacement For Manual Software Testing?
Answer: No. Proper automation requires as little intervention from humans as possible since the tools used are built to run tests once they’re set up. As convenient as this might be, it should not be a complete replacement for manual testing – only for repetitive tasks like load testing, where thousands of virtual users are required. Engineers should not automate things like test scripts if those scripts can only be expected to run occasionally, nor should they automate code reviews, or bug testing for new builds of software that might require human interaction to detect specific issues. Large-scale, repetitive tasks are a better fit for automation.
24. Explain Load Testing On Websites.?
Answer: To access a website, a user sends a “request” to that website’s server, and the server sends back a response in the form of the website you want to access. To load test a website, quality assurance engineers and automation engineers just need to multiply the number of responses sent to simulate different traffic loads. The web server’s response to the influx of virtual users can then be measured. This is used to determine performance issues and server capacity.
25. Explain How Qtp Identifies Objects?
Answer: For each object class that QTP identifies, it has a set of properties stored. These include mandatory properties, which is essentially a description of any given object, which checks if it’s a child or parent object as well. Next, are the assistive properties, which QTP resorts to only if the mandatory properties are insufficient at identifying the object. If all else fails, QTP resorts, finally, to its ordinal identifier.
26. What Are The Pre-requisites To Start Automation Testing?
Answer: The first step is to segregate the different test cases that are to be automated, followed by preparing test data as per the needs of the test cases. Reusable functions need to be written which are frequently used in those test cases. Later test scripts are prepared by using reusable functions and apply loops and conditions wherever necessary.
In a nutshell, the following are the pre-requisites for starting automation testing:
- Build should always be stable
- Get the functionalities to repeat
- Filtering the automated test cases
27. What Are The Differences Between Open Source Tools, Vendor Tools, And In-house Tools?
Answer: Open source tools are free to use frameworks and applications. Engineers build the tool and have the source code available for free on the internet for other engineers to use. Vendor tools are developed by companies that come with licenses to use, and often cost money. Because they are developed by an outside source, technical support is often available for use. Example vendor tools include WinRunner, SilkTest, Rational Robot, QA Director, QTP, LR, QC, RFT, and RPT. An in-house tool is a tool that a company builds for its own use, rather than purchasing vendor tools or using open source tools.
28. Does The Selenium Ide Have Any Drawbacks?
Answer: The Selenium IDE lacks conditional statements, logging and reporting functionality, loops, database testing, and it can not handle exceptions or automatically re-run tests that have failed. It also can’t take screenshots. Another downside is that it’s Firefox only. If the Selenium IDE is used in the Firefox browser’s side-bar, then the quality engineer can’t use it to record any actions undertaken by a user in a separate window.
29. What Is The Selenium Ide And What Is It Used For?
Answer: The Selenium IDE is an add-on for Firefox that includes numerous features for quality assurance and engineers to record and playback browser-based actions, such as typing and mouse clicks. Some of these particular features are: debugging functions, record/playback ability, user add-on capability. Users can speed up and slow down executions with the use of a built-in slider. They can also use the Selenium IDE as a side-bar, or as a separate pop-up window.
30. What Are The Different Types Of Scripting Techniques For Automation Testing?
Answer: Test automation scripting techniques include key and data-driven techniques, shared, structured, and linear.
Check out this course on software testing basics for a more in-depth look at the fundamentals of quality engineering and automation.
31. What and why is API testing?
Answer: This is normally the very first and the most basic question that an interviewer will ask before any other SOAP API questions or REST API testing interview questions.
API testing is a kind of software testing that focuses on deciding whether the built APIs meet expectations about the functionality, performance, security, and reliability for an application.
API testing provides a lot of benefits, particularly in four main aspects:
- Test for core functionality
- Time effective
- Easy integration with GUI
32. Explain Boundary Value Analysis?
Answer: Boundary value analysis method checks the boundary values of Equivalence class partitions. Boundary value analysis is basically a testing technique which identifies the errors at the boundaries rather than within the range values.
For Example, An input field can allow a minimum of 8 characters and maximum 12 characters then 8-12 is considered as the valid range and <7 and >13 are considered as the invalid range. Accordingly, the test cases are written for valid partition value, exact boundary value, and invalid partition value.
33. Explain the difference between Severity and Priority.
Answer: Defect Severity is defined by the level or the degree of impact by the defect on the application under test. Higher the severity of the defect, the more is the impact on the application.
Following are the 4 classes in which a defect severity is categorized:
Defect priority defines the order in which the defect should be resolved first i.e. the higher the priority of the defect implies that the application is unusable or stuck at some point and the defect should be resolved as soon as possible.
Following are the 3 classes in which a defect priority is defined:
34. For any Web Application, what are the possible login features that should be tested?
Answer: Enlisted below are the possible scenarios that can be performed to fully test the login feature of any application:
Check the input fields i.e. Username and password with both valid and invalid values.
Try entering valid email id with an incorrect password and also enter an invalid email and valid password. Check for the proper error message displayed.
Enter valid credentials and get logged in to the application. Close and reopen the browser to check if still logged in.
Enter the application after logging in and then again navigate back to the login page to check whether the user is asked again to log in or not.
Sign in from one browser and open the application from another browser to verify whether you are logged into another browser also or not.
Change password after logging into the application and then try to login with that old password.
There are few other possible scenarios as well which can be tested.
35. What is Adhoc Testing?
Answer: Adhoc testing, usually known as random testing is a form of testing which does not follow any test case or requirement of the application. Adhoc testing is basically an unplanned activity where any part of the application is randomly checked to find defects.
In such cases, the defects encountered are very difficult to reproduce as no planned test cases are followed. Adhoc testing is usually performed when there is a limited time to perform elaborative testing.
36. Explain Accessibility testing and its importance in the present scenario.
Answer: Accessibility testing is a form of usability testing where testing is performed to ensure that the application can be easily handled by people with disabilities like hearing, color blindness, low visibility, etc. In today’s scenario, the web has acquired a major place in our life in the form of e-commerce sites, e-learning, e-payments, etc.
Thus in order to grow better in life, everyone should be able to be a part of technology especially people with some disabilities.
Enlisted below are a few types of software which help and assist people with disabilities to use technology:
- Speech recognition software
- Screen reader software
- Screen magnification software
- Special keyboard
37. List out the roles of Quality Assurance engineer?
Answer: A software quality assurance engineer usually involves the following tasks.
QA Team is responsible to monitor the entire development process.
They are responsible to track the outcomes of each phase of SDLC and adjust them to meet the expectation.
They are responsible to read and understand the required documents.
Analyze test requirements, and design and execute tests.
Develop test cases and prioritize testing activities.
Record problems and issues in accordance with the project’s problem and issue management plans.
Work with the application team and/or client to resolve any issues that arise in the testing process.
Carry out regression testing every time when changes are made to the code to fix defects.
Have to interact with the clients to better understand the product requirements.
Participate in walkthroughs of testing procedures.
38. What is a Test Plan and what does it include?
Answer: Test plan document is a document which contains the plan for all the testing activities to be done to deliver a quality product. The Test Plan document is derived from the Product Description, SRS, or Use Case documents for all future activities of the project. It is usually prepared by the Test Lead or Test Manager and the focus of the document is to describe what to test, what not to test, how to test when to test and who will do what test. Also, it includes the environment and tools needed, resource allocation, test technique to be followed, risks and contingencies plan. A test plan is a dynamic document and we should always keep it up-to-date. Test plan document guides us on how the testing activity should go on. The success of the testing project completely depends on the Test Plan.
39. What is a Test case template?
Answer: A test case template is a document comes under one of the test artifacts, which allows testers to develop the test cases for a particular test scenario in order to verify whether the features of an application are working as intended or not. Test cases are the set of positive and negative executable steps of a test scenario which has a set of pre-conditions, test data, expected result, post-conditions, and actual results. Most of the companies are using test case management tools such as Quality Center (HP QC), JIRA, etc., and some of the companies still using excel sheets to write test cases.
40. What are the key components of a bug report?
Answer: A bug report is aka defect report, it conveys the detailed information (such as environment details, steps to reproduce, etc.,) about the bug to the developers. It allows developers to replicate the bug easily. The key components of a bug report are Defect Id, title of the defect, Reporter Name, Defect Report Date, Reporter designation, Project name, Release Version, Environment details, Priority of the bug, Severity of the bug, Status of the bug, Defect Description, Steps to reproduce the bug, Expected result, Actual result, Attachments if any and Defect closed date.
41. What are bug leakage and bug release?
Answer: Bug Leakage: A bug which is actually missed by the testing team while testing and the build was released to the Production. If now that bug (which was missed by the testing team) was found by the end-user or customer then we call it as Bug Leakage.
Bug release: Releasing the software to the Production with some known bugs then we call it as Bug Release. These known bugs should be included in the release note. In another case, releasing the software to the testing team with some known bugs whose severity and priority is low. These bugs can be removed before releasing to production.
42. Tell me some key points to consider while writing a bug report.
Answer: i. Reproduce the bug 2-3 times.
ii. Use some keywords related to your bug and search in the Defect Tracking Tool.
iii. Check-in similar modules.
iv. Report the problem immediately.
v. Write detailed steps to reproduce the bug.
vi. Write a good defect summary. Watch your language in the process of writing the bug report, your words should not offend people. Never use capital letter whilst explaining the issue.
vii. Advisable to Illustrate the issue by using proper screenshots.
viii. Proofread your bug report twice or thrice before posting it.
43. What is the difference between build and release?
Answer: Build: A build is a version of the software. Every build has a number for identification purpose. The build is a pre-release version of a Release. The build is given to the testing team by developers to test the application locally. Build numbers are incremental.
Release: A release is the distribution of the final version of an application to the customer by a software development team.
44. Why Is It Impossible To Test A Program Completely?
Answer: Here are the two principal reasons that make it impossible to test a program entirely.
Software specifications can be subjective and can lead to different interpretations.
A software program may require too many inputs, too many outputs, and too many path combinations to test.
45. What Is The Difference Between Coupling And Cohesion?
Answer: The difference between coupling and cohesion is as follows:
Cohesion is the degree which measures the dependency of the software component that combines related functionality into a single unit whereas coupling represents the binding of related functionality into a different unit.
Cohesion deals with the functionality that relates to different process within a single module whereas coupling deals with how much one module is dependent on the other modules within the product.
It is a good practice to increase the cohesion between the software whereas coupling is discouraged
46. Why Does Software Have Bugs?
- Programming errors.
- Timeline pressures.
- Change in requirements.
- Software complexity.
47. What Is Globalization Testing?
Answer: Globalization testing concentrates on detecting the potential problems in the product design that could spoil globalization. It certifies that the code can handle the desired international support without breaking any functionality. And also, it ensures that there would be no data loss and display problems.
48. How can we test for drastic (severe) memory leakages?
Answer: By using Endurance testing, we can achieve it. Endurance testing is a non-functional type of software testing. It checks for memory leakage or other related problems that may occur over an extended period of time. Another name for this testing is Soak testing.
49. Which testing model is best as per your understanding, and why?
Answer: Tailored models are considered the best out of all as they consist of all the best features of the Waterfall, Iterative, and other testing models. The tailored model can easily fit into real-life projects. They are also considered the most productive.
But if the case is that it’s a pure testing project, then in such case, the V model is the best model
50. What Are The Different Types Of Software Testing?
Answer: Following is the list of various testing types used by manual testers.
- Unit testing
- Integration testing
- Regression testing
- Shakeout testing
- Smoke testing
- Functional testing
- Performance testing
- Load testing
- stress testing
- Endurance testing
- White box and Black box testing
- Alpha and Beta testing
- System testing