Top 50 Quality Assurance Interview Questions & Answers-2021
interview Questions and Answers for QA Engineers (Software Quality Assurance)
01) Explain what is the difference between Regression testing and Retesting?
Retesting is carried out to check the defects fixes, while regression testing is performed to check whether the defect fix has any impact on other functionality.
02) List out the software quality practices through the software development cycle?
Software quality practices include
- Review the requirements before starting the development phase
- Code Review
- Write comprehensive test cases
- Session based testing
- Risk based testing
- Prioritize bug based on usage
- Form a dedicated security and performance testing team
- Run a regression cycle
- Perform sanity tests on production
- Simulate customer accounts on production
- Include software QA Test Reports
03) Explain what is the rule of a āTest Driven Developmentā?
The rule of a Test-Driven Development is to prepare test cases before writing the actual code. This means you are actually be writing code for the tests before you write code for the application.
04) Mention what are the types of documents in SQA?
The types of documents in SQA are
- Requirement Document
- Test Metrics
- Test cases and Test plan
- Task distribution flow chart
- Transaction Mix
- User profiles
- Test log
- Test incident report
- Test summary report
05) Explain what should your QA documents include?
QA testing document should include
- List the number of defects detected as per severity level
- Explain each requirement or business function in detail
- Inspection reports
- Configurations
- Test plans and test cases
- Bug reports
- User manuals
- Prepare separate reports for managers and users
06) Explain what is MR and what information does MR consists of?
MR stands for Modification Request also referred to as a Defect report. It is written for reporting errors/problems/suggestions in the software.
07) What should the Software QA document include?
Software QA document should include
- Specifications
- Designs
- Business rules
- Configurations
- Code changes
- Test plans
- Test cases
- Bug reports
- User manuals, etc.
08) Mention how validation activities should be conducted?
Validation activities should be conducted by following techniques
- Hire third party independent verification and validation
- Assign internal staff members that are not involved in validation and verification activities
- Independent evaluation
09) Difference between webdriver.get() and webdriver.navigate()
driver.get() is used to navigate a particular URL(website) and wait till the page loads.
driver.navigate() is used to navigate to a particular URL and does not wait to page load. It maintains browser history or cookies to navigate back or forward.
10) How will you determine when to stop testing?
Deciding when to stop testing can be quite difficult. Many modern software applications are so complex and run in such an interdependent environment, that complete testing can never be done. Some common factors in deciding when to stop testing are:
- Deadlines (release deadlines, testing deadlines, etc.)
- Test cases completed with certain percentage passed
- When the test budget is depleted
- Coverage of code or functionality or requirements reaches a specified point
- Bug rate falls below a certain level
- When Beta or alpha testing period ends
11) What is the difference between QA and software testing?
The role of QA (Quality Assurance) is to monitor the quality of the āprocessā used to produce the software. While software testing is the process of ensuring the functionality of the final product meets the userās requirement.
12) What is the difference between build and release?
Build: It is a number given to Installable software that is given to the testing team by the development team.
Release: It is a number given to Installable software that is handed over to the customer by the tester or developer.
13) What are bug leakage and bug release?
Bug release is when the software or an application is handed over to the testing team knowing that the defect is present in a release. During this, the priority and severity of the bug are low, as the bug can be removed before the final handover.
Bug leakage is something when the bug is discovered by the end-users or customer, and not detected by the testing team while testing the software.
14) Explain the steps for Bug Cycle?
- Once the bug is identified by the tester, it is assigned to the development manager in open status
- If the bug is a valid defect the development team will fix it.
- If it is not a valid defect, the defect will be ignored and marked as rejected
- The next step will be to check whether it is in scope. If the bug is not the part of the current release then the defects are postponed
- If the defect or bug is raised earlier then the tester will assign a DUPLICATE status
- When bug is assigned to developer to fix, it will be given a IN-PROGRESS status
- Once the defect is repaired, the status will change to FIXED at the end the tester will give CLOSED status if it passes the final test.
15) Mention the different types of software testing?
- Unit testing
- Integration testing and regression testing
- Shakeout testing
- Smoke testing
- Functional testing
- Performance testing
- White box and Black box testing
- Alpha and Beta testing
- Load testing and stress testing
- System testing
16) What is Testware?
Testware is test artifacts like test cases, test data, test plans needed to design and execute a test.
17) What are the automation challenges that SQA(Software Quality Assurance) team faces while testing?
- Mastering the automation tool
- Reusability of Automation script
- Adaptability of test case for automation
- Automating complex test cases.
18) What is data-driven testing?
Data-driven testing is an automation testing framework, which tests the different input values on the AUT. These values are read directly from the data files. The data files may include CSV files, excel files, data pools, and many more.
19) What does the test strategy include?
The test strategy includes an introduction, resource, scope and schedule for test activities, test tools, test priorities, test planning and the types of test that has to be performed.
20) What is branch testing and what is boundary testing?
The testing of all the branches of the code, which is tested once, is known as branch testing. While the testing, that is focused on the limit conditions of the software is known as boundary testing.
21) What is thread testing?
A thread testing is top-down testing, where the progressive integration of components follows the implementation of subsets of the requirements, as opposed to the integration of components by successively lower levels.
22) What is configuration management?
It is a process to control and document any changes made during the life of a project. Release control, Change control, and Revision control are the important aspects of configuration management.
23) What is Ad Hoc testing?
It is a testing phase where the tester tries to break the system by randomly trying the systemās functionality. It can include negative testing as well.
24) List out the roles of Software Quality Assurance Engineer?
A software quality assurance engineer tasks may include the following things amongst others
- Writing source code
- Software design
- Control of source code
- Reviewing code
- Change management
- Configuration management
- Integration of software
- Program testing
- Release management process
25) Explain what are test driver and test stub and why it is required?
- The stub is called from the software component to be tested. It is used in top down approach
- The driver calls a component to be tested. It is used in bottom up approach
- It is required when we need to test the interface between modules X and Y and we have developed only module X. So we cannot just test module X but if there is any dummy module we can use that dummy module to test module X
26) Explain what is Bug triage?
Bug triage is a process to
- Ensure bug report completeness
- Assign and analyze the bug
- Assigning bug to proper bug owner
- Adjust bug severity properly
- Set appropriate bug priority
27) List out various tools required to support testing during the development of the application?
To support testing during the development of the application following tools can be used
- Test Management Tools: JIRA, Quality Center etc.
- Defect Management Tools: Test Director, Bugzilla
- Project Management Tools: Sharepoint
- Automation Tools: RFT, QTP, and WinRunner
28) What is a cause-effect graph?
A cause-effect graph is a graphical representation of inputs and the associated outputs effects that can be used to design test cases.
29) What is a Test Metric in software testing and what information does it contain?
In software testing, Test Metric is referred to as the standard of test measurement. They are the statistics narrating the structure or content of testing. It contains information like
- Total test
- Test run
- Test passed
- Test failed
- Tests deferred
- Test passed the first time
30) Explain what is traceability matrix?
A test matrix is used to map test scripts to requirements.
31) What are the contents of test plans and test cases?
- Testing objectives
- Testing scope
- Testing the frame
- The environment
- Reason for testing
- The criteria for entrance and exit
- Deliverables
- Risk factors
32) What is Agile testing and what is the importance of Agile testing?
Agile testing is software testing, is testing using Agile Methodology. The importance of this testing is that, unlike the normal testing process, this testing does not wait for the development team to complete the coding first and then doing testing. The coding and testing both go simultaneously. It requires continuous customer interaction.
33) What is a Test case?
A test case is a specific condition to check against the Application Under Test. It has information of test steps, prerequisites, test environment, and outputs.
34) What is the strategy for Automation Test Plan?
- The strategy for Automation Test Plan
- Preparation of Automation Test Plan
- Recording the scenario
- Error handler incorporation
- Script enhancement by inserting check points and looping constructs
- Debugging the script and fixing the issues
- Rerunning the script
- Reporting the result
15) What is a quality audit?
The systematic and independent examination for determining the effectiveness of quality control procedures is known as the quality audit.
36) What are the tools used by a tester while testing?
- Selenium
- Firebug
- OpenSTA
- WinSCP
- YSlow for FireBug
- Web Developer toolbar for firebox
Above are just sample tools. The tools a Tester may vary with his/her project.
37) Explain stress testing, load testing, and volume testing?
- Load Testing: Testing an application under heavy but expected load is known as Load Testing. Here, the load refers to the large volume of users, messages, requests, data, etc.
- Stress Testing: When the load placed on the system is raised or accelerated beyond the normal range then it is known as Stress Testing.
- Volume Testing: The process of checking the system, whether the system can handle the required amounts of data, user requests, etc. is known as Volume Testing.
38) What are the five common solutions for software developments problems?
- Setting up the requirements criteria, the requirements of a software should be complete, clear and agreed by all
- The next thing is the realistic schedule like time for planning , designing, testing, fixing bugs and re-testing
- Adequate testing, start the testing immediately after one or more modules development.
- Use rapid prototype during design phase so that it can be easy for customers to find what to expect
- Use of group communication tools
39) What is a āUSEā case and what does it include?
The document that describes, the user action and system response, for a particular functionality, is known as the USE case. It includes revision history, table of contents, the flow of events, cover page, special requirements, pre-conditions, and post-conditions.
40) What is CRUD testing and how to test CRUD?
CRUD stands for Create, Read, Update and Delete. CRUD testing can be done using SQL statements.
41) What different types of manual testing are there?
Different types of manual testing are;
- Black Box Testing
- White Box Testing
- Unit Testing
- System Testing
- Integration Testing
- Acceptance Testing
42). Explain the difference between alpha testing and beta testing.
- Alpha Testing ā It is a type of software testing performed to identify bugs before releasing the product to real users or to the public. Alpha Testing is a type of user acceptance testing.
- Beta Testing ā It is performed by real users of the software application in a real environment. Beta Testing is also a type of user acceptance testing.
43) What are the different levels of manual testing?
Four levels of manual testing are:
- Unit testing ā It is a way of testing the smallest piece of code referred to as a unit that can be logically isolated in a system. It is mainly focused on the functional correctness of the standalone module.
- Integration Testing ā It is a level of software testing where individual units are combined and tested to verify if they are working as they intend to when integrated. The main aim here is to test the interface between the modules.
- System Testing ā In system testing all the components of the software are tested as a whole in order to ensure that the overall product meets the requirements specified. There are dozens of types of system testing, including usability testing, regression testing, and functional testing.
- User Acceptance Testing ā The final level, acceptance testing, or UAT (user acceptance testing), determines whether or not the software is ready to be released.
44) Explain the procedure for manual testing?
The manual testing process comprises the following steps:
- Planning and Control
- Analysis and Design
- Implementation and Execution
- Evaluating exit criteria and Reporting
- Test Closure activities
In case you are facing any challenges with these Manual Testing interview questions, please comment on your problems in the section below.
45) What is the test case?
A test case is a document that has a set of conditions or actions that are performed on the software application in order to verify the expected functionality of the feature.
Test cases describe a specific idea that is to be tested, without detailing the exact steps to be taken or data to be used. For example, in a test case, you document something like āTest if coupons can be applied on actual priceā.
46) What is API testing?
API testing is a type of software testing where application programming interfaces (APIs) are tested to determine if they meet expectations for functionality, reliability, performance, and security. In simple terms, API testing is intended to reveal bugs, inconsistencies, or deviations from the expected behavior of an API.

Commonly, applications have three separate layers:
- Presentation Layer or user interface
- Business Layer or application user interface for business logic processing
- Database Layer for modeling and manipulating data
API testing is performed at the most critical layer of software architecture, the Business Layer.
47) Whatās the difference between verification and validation in testing?
| Verification | Validation |
| It is a static analysis technique. Here, testing is done without executing the code. Examples include ā Reviews, Inspection, and walkthroughs. | It is a dynamic analysis technique where testing is done by executing the code. Examples include functional and non-functional testing techniques. |
48) Whatās the difference between a bug and a defect?
A bug is a just fault in the software thatās detected during testing time. A defect is a variance between expected results and actual results, detected by the developer after the product goes live.
49) What are the advantages of manual testing?
Merits of manual testing are:
- It is a cheaper way of testing when compared to automated testing
- Analysis of product from the point of view of the end-user is possible only with manual testing
- GUI testing can be done more accurately with the help of manual testing as visual accessibility and preferences are difficult to automate
- East to learn for new people who have just entered into testing
- It is highly suitable for short-term projects when test-scripts are not going to be repeated and reused for thousands of times
- Best suited when the project is at the early stages of its development
- Highly reliable, since automated tests can contain errors and missed bugs
50) What are the drawbacks of manual testing?
De-merits of manual testing are:
- Highly susceptible to human error and are risky
- Test types like load testing and performance testing are not possible manually
- Regression tests are really time-consuming if they are done manually
- Scope of manual testing is very limited when compared to automation testing
- Not suitable in very large organizations and time-bounded projects
- The cost adds up, so, itās more expensive to test manually in the long run


