Live Classes: Upskill your knowledge Now!
Chat NowPublished - Tue, 06 Dec 2022
A list of top frequently asked QA Interview Questions or Quality Assurance Interview Questions and answers are given below.
QA stands Quality Assurance. QA is a set of activities designed to ensure that the developed software meets all the specifications or requirements mentioned in the SRS document.
QA follows the PDCA cycles:
The plan is a phase in Quality Assurance in which the organization determines the processes which are required to build a high-quality software product.
Do is a phase of development and testing the processes.
This phase is used for monitoring the processes and verifies whether these processes meet the user requirements or not.
The Act is a phase for implementing the actions required to improve the processes.
The following is the list of differences between Quality Assurance and Software testing:
Quality Assurance | Software testing | |
---|---|---|
Activities | Quality Assurance is a set of activities used to ensure that the developed software meets all the user requirements. | Software testing is an activity performed after the development phase to check whether the actual results match the expected results to ensure that the software is bug-free. In short, we can say that software testing is verification of application under test. |
Activities | It involves activities that include the implementation of processes, procedures, and standards. | It involves activities that include verification of testing. |
Orientation | It is a process-oriented, i.e., it checks the processes to ensure that quality software is delivered to the client. | It is a product-oriented, i.e., checking the functionality of a software. |
Activity type | Preventive | Corrective |
Objective | The main objective of Quality Assurance is to deliver quality software. | The main objective of software testing is to find the bugs in the developed software. |
Build is defined as when the software is given to the testing team by the development team.
Release It is defined as when the software is handed over to the users by the tester and developer.
Bug leakage is defined as the bug not found by the testing team but found by the end users. Bug release it is defined when the software is released by the tester in the market knowing that bug is present in the release. These types of bugs have low priority and severity. This type of situation arises when customers want the software on time than the delay in getting the software and the cost involved in correcting the bugs.
There are five different solutions for the software development problem.
The following are the types of documents in Software Quality Assurance:
All the functionalities are to be added in the application are documented in terms of Requirements, and the document is known as Requirement document. This Requirement document is made by the collaboration of various people in the project team like developers, testers, Business Analysts, etc.
Test Metrics is a quantitative measure that determines the quality and effectiveness of the testing process.
It defines the strategy which will be applied to test an application, the resources that will be used, the test environment in which testing will be performed, and scheduling of test activities will be done.
A test case is a set of steps, and conditions used at the time of testing. This activity is performed to verify whether all the functionalities of software are working properly or not. There can be various types of test cases such as logical, functional, error, negative test cases, physical test cases, UI test cases, etc.
Traceability matrix is a table that traces and maps the user requirements with test cases. The main aim of Requirement Traceability Matrix is to see that all test cases are covered so that no functionality miss during the software testing.
A test scenario is a collection set of test cases which helps the testing team to determine the positive and negative aspects of a project.
In Test Driven Development, test cases are prepared before writing the actual code. It means you have to write the test case before the real development of the application.
Test Driven Development cycle:
Traceability matrix is a document that maps and traces user requirements with test cases. The main aim of Requirement Traceability Matrix is to see that all test cases are covered so that no functionality miss during the software testing.
Differences in responsibilities are as:
Sr. No. | QA Responsibility | Programmer Responsibility |
---|---|---|
1. | QA team is concerned for process Quality | Programmers are concerned for product quality |
2. | QA ensures that the processes used for developing the product of high quality | Programmers used these processes so that the end product is of good quality |
Any issue found during the execution of the process by the programmers is communicated to the QA so that they can improve the process.
Verification | Validation |
---|---|
Verification is the process of evaluating the steps during the development phase to determine whether they meet the user requirements or not. | Validation is the process of evaluating the product after the development process to determine whether it meets the specified requirement. |
Verification is static testing. | Validation is dynamic testing. |
Verification testing is performed before validation. | Validation is performed after verification. |
It does not involve in executing the code. | It involves in executing the code. |
It involves activities such as reviews, walkthroughs, inspections, and desk checking, etc. | It involves methods such as black box testing, white box testing and non-functional testing. |
It finds the bugs before the development cycle. | It finds the bugs after the development cycle. |
It conforms to the requirements specified in the SRS document. | It checks whether it meets the specified requirements or not. |
QA team performs verification in which they verify that the software is according to the requirements specified in the SRS document. | Software tester performs testing of a product. |
The application should be stable for testing.
Regression | Retesting |
Regression is a type of testing used to verify whether the new changes in the code have affected the unchanged features or not. | Retesting is the testing of modules that have been failed in the last execution. |
The main aim of Regression testing is that any changes made in the code should not affect the existing functionalities. | Retesting is the testing which is performed on the defects that have been fixed. |
It is generic testing as it can be performed at any time whenever the changes made in the code. | It is planned testing. |
It is performed on the test cases that have been passed. | It is performed on the test cases that have been failed. |
Automation can be done for regression testing, while manual testing will be expensive and time consuming. | To perform the Retesting, we cannot automate the test cases. |
Defect verification does not come under the Regression testing. | Defect verification comes under the Retesting. |
Based on the availability of resources, regression testing is performed in parallel with the retesting. | The priority of retesting is more than the regression testing, so it always performed before the regression testing. |
QA stands for Quality Assurance. QA team persuades the quality by monitoring the whole development process. QA tracks the outcome and adjusting processes to meet the expectation.
Role of Quality Assurance are:
The dimensions of the risk are:
Test ware is a term used to describe all the materials used to perform the test. Test ware includes test plans, test cases, test data, and any other items needed to perform and design a test.
There are two types of monkeys:
Smart Monkeys
Dumb Monkeys
Preventive Approach: It is also known as the Verification process. Preventive is the approach to prevent defects. In this approach, tests are designed in its early stages of Software Development Lifecycle before the software has developed. In this approach, testers try to prevent defects in the early stages; it comes under Quality Analysis.
Reactive Approach: It is also known as Validation Process. This approach is to identify defects. In this approach, tests are designed to execute after the software's development. In this approach, we try to find out the defects. It comes under Quality Control.
An Audit is defined as on-site verification activity, such as inspection or examination, of a processor quality system. Quality Audit is the process of systematic analysis of a quality system carried out by an internal or external quality auditor, or an audit team. Quality Audits are performed at predefined time intervals and ensure that the institution has clearly defined internal system monitoring procedures linked to effective action. Audits are an essential management tool to be used for verifying objective evidence of processes.
The Test Plan document is a document which contains the plan for all the testing activities to deliver a quality product. The test Plan document is derived from many activities such as product description, SRS, or Use Case documents for all future events of the project. The Test Lead usually prepares it, or Test manager and the focus of the document is to describe what to test, how to test when to test, who will do what test.
This is one of the most crucial questions. As a project manager or project lead, sometimes we might face a situation to call off the testing to release the product early. In those cases, we have to decide whether the testers have tested the product enough or not.
There are many factors involved in real-time projects to decide when to stop testing:
There are mainly two techniques to design the test cases:
Adhoc testing is an informal way of testing the software. It does not follow the formal process like requirement documents, test plan, test cases, etc.
Characteristics of adhoc testing are:
Both monkey testing and adhoc testing follows the informal approach, but in monkey testing, we do not need to have deep knowledge of the software. However, to perform adhoc testing, testers should have a deep knowledge of the software.
The following is the list of differences between adhoc testing and exploratory testing:
Adhoc testing | Exploratory testing |
Adhoc testing is the testing of software without any documentation or requirements specification. | knowledge about the software while exploring the application. |
Documentation is not required. | Documentation is mandatory in exploratory testing. |
The main aim of adhoc testing is to achieve perfection in testing. | The main aim of exploratory testing is to learn the application. |
It is an informal approach. | It is a formal approach. |
Adhoc testing does not require an expert testing engineer. | Exploratory testing does not require an expert testing engineer. |
There are four different levels in software testing:
Unit testing
Integration testing
System testing
Acceptance testing
Acceptance testing is performed by the users or customers to check whether it meets their requirements or not.
The bug life cycle is also known as the defect life cycle. Bug life cycle is a specific set of states that a bug goes through. The number of states that a defect goes through varies from project to project.
When a new defect is logged and posted for the first time, then the status is assigned as New.
Once the bug is posted by the tester, the lead of the tester approves the bug and assigns the bug to the developing team.
The developer starts analyzing and works on the defect fix.
When a developer makes a necessary code changes and verifies the change, then he/she can make the bug status as fixed.
Tester does the retesting of the code at this stage to check whether the defect is fixed by the developer or not and change the status to retest.
If the bug persists even after the developer has fixed the bug, then tester changes the status to Reopen and once again bug goes through the bug life cycle.
The tester retests the bug after it got fixed by the developer if no bug found then it changes the status to Verified.
If the bug is no longer exists, then it changes the status to Closed.
If the defect is repeated twice or the defect corresponds to the same concept of the previous bug, then it changes the status to Duplicate.
If the developer feels that the defect is not a genuine defect, then it changes the status to Rejected.
If the bug is not of higher priority and can be solved in the next release, then the status changes to Deferred.
Fri, 16 Jun 2023
Fri, 16 Jun 2023
Fri, 16 Jun 2023
Write a public review