QA interview questions! In order to triumph your oral interview and skill test, you might be asked many QA-related interview questions and that’s the reason why we have compiled the most probable Quality Assurance interview question and answers just for you.
How can I prepare to rightly answer QA interview questions
- Make sure that you are well aware of the project you have been a part of. Not just the quality aspect of it. From design to release you need to have a clear idea about what went on with the project. To make things easier, pen down the project details that contain all the details in bullet points regarding the project and company you were a part of.
- The project sheet must have, Name of the company, project details such as the name of the software, database, client base, time period, your role, team information, SDLC, tools used, and task performed
- A personal retrospective about the project, tasks performed, your professional and personal gain, hurdles that came up, and how you tacked it
- Perform mock interview by referring to most probable Q and A
- Be confident about what you know and be upfront about what you don’t
- Ensure interaction by asking your doubts
- Do not imitate anyone. Be yourself!
Top 75 QA Interview Questions and Answers
1. What is the difference between QA and software testing?
Quality Assurance refers to the activity of monitoring the process of developing software in order to assure customers that the requirements for quality will be met. Through QA, we can identify the inconsistencies and flaws present in the development process.
2. What does Quality mean?
The quality of a product or service is determined by how well they meet the expectations and the requirements set by the customers. A good quality product must be error-free, does not have any lacking areas or any present inconsistencies. Therefore, there are some quality standards that need to be met for a product to be considered to have good quality.
3. Why is checking for quality so important in business?
The following factors are the reasons why quality is very important in business:
- Dependency- The success of every business depends on the quality of its products and services.
- Business Reputation- If a business provides quality services to its clients and customers, only then will it gain a good reputation in the market.
- More Transactions- If customers are satisfied with the quality of services and products that the business provides them, they will keep making transactions with them in the future.
- Automatic Advertisement- When the business guarantees and provides quality, the customers remain satisfied, which translates into them referring your business to other people as well
4. What is the difference between Quality Assurance and Quality Control?
QA is the process of creating, documentation, and agreeing on the guidelines that assure quality. This means that at the end of QA, we get the quality standards for the software that need to be met.
QC on the other hand is a process that focuses on identifying defects in the quality of the developed product. This means that the software is tested at various stages of its development cycle against the various requirements set by the customer.
5. What is the meaning of Testware?
Testware entails all the artifacts or materials that are used while performing tests. This includes test cases, test plans, test scripts, etc.
6. What is the difference between release and build?
The build is the software developed for the customers which is handed over to the testing team by the development team.
A release is an installable application that is officially released for the customer after it is completely tested and certified by the testing team.
A build turns into a release after is removed of any prevalent bugs and errors in it.
What are QA roles and responsibilities?
7. At what point should the QA activities start?
The process of quality assurance must start as soon as the development of software starts. The sooner the QA activities start, the better. This is because QA can help avoid risks that have already been specified in the specification phase.
If QA activities are delayed, they can prove to be very costly, efforts and time-consuming.
8. What is a cause-effect graph?
A graph that represents all possible input domains and the outputs associated with them is called a cause-effect graph. This graph comes into use during the process of test case designing.
9. What is bug leakage and bug release?
When software is handed over to the team of testers knowing that a particular set of errors exist in the release, it is called a bug release. The severity and priority of these errors are known to be very low, as they can be resolved before the final release of the software.
When errors or bugs which went unnoticed by the testing team, are detected by the customers or the end-users after the software’s release, then it is known as a bug leakage.
10. What is the importance of a Bug Triage?
Bug Triage is the process of prioritizing every bug on the basis of its frequency, severity, risks, etc. It helps to evaluate and then assign the solution to these bugs in a very efficient manner.
11. How is Test Plan different from Test Strategy?
A test plan can be considered as a document that defines the objective, scope, approach, and emphasis that will go into the software testing efforts. Test plans can include the features that are to be tested, testing techniques to use, pass and fail criteria, etc.
A test strategy on the other hand can be defined as a set of guidelines that define the test designs in detail and provide instructions on how to conduct the testing process. It includes documentation formats, scope, and objectives, testing processes, test deliverables, etc.
12. What is meant by data-driven testing?
It is a testing methodology where test scripts are created which read test data, such as input and output values, directly from data files. The data sources can be of any type such as CSV files, ODBC files, ADO files, data pools, etc.
13. What are the different phases in the QA testing cycle?
The QA cycle has 4 phases:
- Plan- Businesses first need to plan the processes that are related to the goals and objectives and determine what is required to be done to develop a good quality product.
- Do- Here the development of the software and its testing is conducted.
- Check- An important aspect of QA is to monitor the processes and methodologies that are used to check whether they meet the previously determined objectives or not.
- Act- Finding out inconsistencies and flaws in the process and acting accordingly to improve them.
14. What is meant by a test case?
A test case contains conditions and specifications according to which a particular software must be tested for bugs. It includes details of the acceptable inputs, conditions for execution, procedures for testing, ideal outputs, etc.
15. What constitutes a good test case?
A test case can be considered as good if it is capable of finding defects and errors. Therefore, a test case that exhibits the following characteristics can be considered as a good one:
- Accuracy- It must exact its purpose
- Economic- It must not include unnecessary words or steps
- Traceable- It should be traceable to the requirements
- Repeatable- The test case must be usable again and again
- What are High-level and Low-level test cases?
- High-level: The cases which cover all the core functionalities of a product are considered high-level test cases.
- Low-level: The cases which are related to the UI of the application are considered low-level test cases.
- Which are the most important functions of QA?
The important functions of QA include validation, creation of improvement plans, documentation, and technology transfers.
16. What are the common challenges faced by the testing team when automating the QA process?
The most common automation challenges that are faced in QA testing are:
tyle=”list-style-type: none;”>
- Reusability of automation script
- Mastering the tools for automation
- Adapting the test cases for automation
- Automating complex test cases
17. What are the different types of software testing approaches?
There are many types of software testing approaches, among which the commonly used ones are:
- Unit Testing
- Integration Testing
- Systems Testing
- Functional testing
- Non-Functional Testing
- Black and White box testing
- Regression Testing
- Exploratory testing
- Agile Testing
- Ad-Hoc Testing
- Smoke Testing
- Alpha and Beta Testing
18. What are the stages in a Bug Life Cycle?
- The bug life cycle includes all the stages through which a bug goes, throughout its lifetime. The different stages in a bug lifecycle ate as follows:
- The bug is detected and identified, its state is ‘new’
- A tester approves the bug as genuine and its state becomes ‘assigned’
- It is checked whether the bug is in the scope or not. If it is not, then the bug is postponed for later
- Its state becomes ‘in-progress once a tester starts working on it
- When the bug is fixed, its state changes to ‘fixed’
- If it passes the final testing process, the state is set as ‘closed’
22. What does Bug Control mean in product development?
It is an approach that aims at developing software products that are free from bugs and errors. In this approach, efforts are made to detect and avoid errors only in the testing phase, and not after that.
23. What are functional and non-functional tests?
Functional tests are those which check the functional aspects of the software to validate their efficiency. Smoke testing, unit testing, integration testing, user acceptance, regression testing, etc. come under functional testing.
Non-functional tests are those which check the non-functional aspects of the software to validate its performance. Performance testing, load testing, stress testing, scalability, volume testing, etc. come under non-functional testing.
24. What is Agile Testing?
Agile testing is a software testing approach where continuous iteration of developing and testing the software takes place throughout the SDLC. In this approach, the requirements are gradually developed during the development lifecycle by the customers and the testers. This means, in agile testing, the coding and the testing processes are conducted simultaneously.
25. When a bug is found in production, how can you make sure that the same bug doesn’t occur again?
Whenever a bug is detected in production, the best practice is to create a test case immediately for it and to include it in the regression suite. We can also create alternate or similar test cases to include them in the suite. This way, we can prevent the occurrence of that same bug again in production.
Know More: Top 10 Software Testing Certifications 2019
26. What are un-reproducible bugs?
The following kind of bugs can be categorized as un-reproducible bugs:
- Defects that surface due to issues of low memory.
- Errors or bugs that arise due to addresses pointing to memory locations that do not exist.
- Race conditions are error scenarios that occur when the time of execution of one event impacts another even executing in a sequence.
27. How can you handle unreproducible bugs?
- To handle un-reproducible bugs, a tester can follow these steps:
- Executing test steps that are as close to the bug description as possible.
- Evaluating the environment of that test.
- Examining and evaluating the results produced by the test execution.
- Keeping the time and resource constraints under check
28. What is the difference between a Test Driver and Stub?
A test driver is that piece of code that calls the software component that needs to go under test. Test drivers prove to be very useful when following the bottom-up testing approach.
A test stub is a dummy piece of code or program which is integrated with an application to complete the application’s functionality. Test stubs come into use when following the top-down testing approach.
29. What is meant by Entry and Exit criteria?
Entry Criteria- The process which needs to be run when the testing begins. It includes:
- Software Requirement Specification (SRS)
- Functional Requirement Specification (FRS)
- Test cases
- Use cases
- Test plans
Exit Criteria- It tells when a product is completely testing and when it should be formally released. It includes:
- Metrics
- Test Summary Reports
- Defect Analysis Report
30. What are the roles of White and Black box testing?
The black box testing approach does not require the tester to have knowledge of the internal code and structure of the software. The tests in this approach are based on the software’s functionalities and requirements.
White box testing on the other hand requires the testers to test the internal designs, implementation, and structure of the software. Therefore, in this approach, the tests are concentrated on path coverage, statement coverage, and branch coverage.
31. What is the aim of smoke testing?
Smoke testing is done to confirm the basic functionalities of a product. Through smoke testing, you can identify the most basic test cases to execute.
32. Why is sanity testing used?
Through sanity testing, you can ensure whether the software runs without the occurrences of any logical errors or not. It helps to avoid the wastage of cost and time involved in testing when the entire build fails.
33. What is the difference between negative and positive testing?
In negative testing, the software is validated by evaluating how it behaves when invalid inputs are provided to it. Therefore, it is conducted by keeping a negative point of view to check whether the software behaves as expected when negative inputs are provided.
In positive testing, however, the software is tested by providing positive inputs to it and checking how whether the results match with the expected results or not.
34. How is verification different from validation?
Verification is the process of thoroughly evaluating the software in the development phase to check whether it meets the specified requirements or not. It is done to make sure that the software is capable of meeting the requirements. Activities like meetings, reviews, and inspections are involved in verification.
Validation is the process of thoroughly evaluating the software after it has been developed completely to make sure that it meets the customer’s requirements and expectations. Activities such as black and white box testing are involved in validation.
35. What is the cause-effect graph?
A cause-effect graph is the graphical representation of all the inputs and their respective output effects that can be used while designing test cases.
36. What is meant by Quality Audit?
It is a process where systematic examination of software is conducted by an audit team or by a quality auditor. Here, tests related to the effectiveness of procedures adopted in quality control are performed. It is done after all tasks related to the software are completed.
37. Which Two Levels commonly come under Quality Certification?
- Optimization
- Repeatable sequences
38. Which factors must be given higher importance in the development of a product in QA?
Testers must first concentrate on planning before starting to work on any software. Adopting and integrating the latest technologies in processes is also very important. Attention must also be focused on identifying the factors on which the software is heavily dependent.
Sometimes quality can be assured simply by paying close attention to the development process of the software. Testing also plays an important role in assuring the efficiency and quality of software.
39. Why is Quality Assurance a ‘proactive approach?
QA testing takes place during the development process and starts as soon as the software goes into development. This is why quality assurance is considered as a proactive approach.
Know More: Top 50 Selenium Interview Question that will help you land a Job
40. How is QA defined in the ISO 9000, Clause 3.2.11?
Quality assurance is defined as that aspect of quality management that deals with assuring the customers that their set requirements for the software’s quality will be fulfilled.
41. How to know if software specifications have been met or not?
By using the traceability matrix tool, we can map requirements to test cases. When all test cases in the matrix are executed successfully, it will mean that the code meets all software specifications.
42. What is a traceability matrix?
It is a document that captures all the requirements proposed by the client and the traceability.
A traceability matrix is a document that traces and maps the test cases and the user requirements.
43. Which QA practices can be considered the best?
There are many good practices for QA, among which the best are:
- Thoroughly evaluating the selected release criteria
- Automating testing for highly sensitive areas
- Creating a testing environment that is robust
- Simulating final outcomes for evaluation
44. What is Recovery Testing?
Recovery testing is conducted to recover the software from any unexpected or expected events so as to prevent loss of functionalities and data. Events can include unexpected communication loss, shortage in the disk space, etc.
Nearing software tester interview? Have a look at this Q and A
45. Which are the key factors of a test plan?
A test plan contains the following key factors:
- Test scope
- Objectives
- The environment
- Testing the frame
- Risk factors
- Deliverables
- Reasons for testing
- Entry and exit criteria
46. What is meant by QA automation?
It is the process of automating as many parts of the testing process as possible so as to make QA testing more accurate, efficient, and quick.QA automation can be done by using various automation tools.
- Name a few QA automation tools.
- Selenium- It is an open-source automation tool that is the most widely used tool for QA.
- UTF (Unified Functional testing) – It is an automation tool by SmartBear Software. A few significant features of this tool include Scripted Testing, Test Visualizers, and GUI Testing.
- TestingWhiz- It is a QA automation tool by Cygnet Infotech that provides code-less scripting. Some of its features include Integration with Test Management Tools, record and Playback test frameworks, and Keyword Driven Testing.
47. How is retesting different from regression testing?
Retesting is conducted to check whether the errors have been successfully removed or not, while regression testing is conducted to check the impact that error fixes have on other software functionalities.
48. What is meant by MR?
MR or Modification Request can also be called as a Defect report. It is a document that is created to report all the errors and defects in the software and any suggestions which can be taken into account.
49. How are validation activities conducted?
Following techniques are used to conduct validation activities:
- Hiring third-party independent people for validation
- Assigning team members who are not involved in the verification activities
- Getting the software independently evaluated
50. Which types of documents are created during software QA?
The following documents are created during the software quality assurance process:
- Requirement document
- Test cases and Test plans
- Test Metrics
- User profiles
- Test log
- Transaction Mix
- Task distribution flow chart
- Test incident report
- Test summary report
51: What is BVA? Name any other testing technique.
BVA stands for Boundary Value Analysis. This technique is used for doing field-level testing for numerical fields. This test is performed by entering a number +1 and -1 from the extreme values that the input box can take. E.g., if a field can take values from 0 to 100, then by applying the BVA technique, we will try to enter the values -1, 1, 99, and 101. Of these, -1 and 101 should not be accepted by the system.
Equivalence Class, Decision Table, Error Guessing are some other software testing techniques that are used frequently.
52: What is the difference between the severity and priority of a bug?
The severity of a bug is determined by the tester, based on the expected impact of the bug on the application from the perspective of a tester. The highest severity bugs are related to a crash in the application or a functional issue with the most business-critical functionality. The least severe bugs are cosmetic bugs like alignment, spelling mistakes, or color variations.
The priority on the other hand is determined by the developers, based on when they plan to fix the reported issue. Priority 1 issues are of the highest priority and need to be fixed at the earliest. The lowest priority is generally given to cosmetic bugs or those bugs that are likely to be moved to the next iteration or project cycle.
53: What is exploratory testing?
Exploratory testing is an informal testing technique where the tester randomly navigates through the application without any defined steps followed. The testers just check for the overall look and feel smooth page transitions, and expected messages to ensure the application is not crashing at any point.
54: What is UAT? How is it different from functional testing?
UAT or User Acceptance Testing is a form of function done by a subset of the users. For eg, if the software is developed for a departmental store, the UAT should be performed by somebody from the store to see how easily they can adapt to the new software, if they can perform their daily operations, and also understand if any improvements need to be done before handing over the application to the client.
55: What are the test cases you can prepare for a login screen?
There are several test cases that we can write for a login screen, some of them are:
- Correct login and password should allow the user to log in.
- Incorrect credentials should block the user
- For incorrect input, an appropriate error message should be displayed.
- The combination of blank login and/or password needs to be checked for appropriate error messages.
- For the login edit box, check the maximum character limit along with all field level validations.
- For the password edit box, check the maximum character limit along with all field level validations.
- Forgot password link should be available.
- The register or create account button should be available as per business or requirements.
- The alignment of the screen and the spellings should be checked.
- The company or product logo should be available as per business or requirement.
56: What is defect density?
Defect density is defined as the number of accepted defects per 1000 lines of code (LOC). It helps the development team to understand more problematic areas in the code and if needed do a restructuring of the code as well.
57: What is the 80-20 rule?
The 80-20 rule is also called the Pareto Principle and in software testing, it means that 80% of the defects come from 20% of the code. This principle helps us to identify the areas of the code or the functionalities that need more rigorous testing to ensure the best quality.
58: Explain the different test coverage techniques.
There are 3 main types of test coverage techniques:
- Statement Coverage: here testing aims to cover every line of code. This is the most exhaustive testing and most often the testing team would not have the bandwidth for this type of coverage.
- Decision Coverage: As the name suggests, in this testing each decision flow in the code is tested. In this where ever there is a decision box, each flow of the code is tested.
- Path Coverage: Path coverage ensures, all the paths leading to a code or functionality are covered as part of the testing.
59: What is DRE?
DRE, Defect Removal Efficiency is a metric used to measure the effectiveness of the testing activity. It is a ratio of the number of defects found by the testing team vs the defects found in production. Higher DRE means more effective testing.
DRE = No. of defects found during testing / (No. of defects found in testing + No. of defects in Prod)
60: What is big bang testing?
After the completion of testing of individual modules, all the modules are combined or integrated and tested. This type of end-to-end testing is called the big bang testing and it is carried out towards the end of the testing life cycle.
61: What is the top-down approach?
In top-down testing, the highest-level modules are tested first. Type of testing uses stubs and drivers to simulate data if any modules are not available for testing. The testing is done downwards, after the highest-level modules, the next highest is testing till the unit level code.
62: What is the bottom-up approach?
In a bottom-up approach to testing, the lowest modules are tested first followed up by the modules above them. The sequence continues till the highest modules are integrated and tested together. The bottom-up approach is very useful in finding code-level and module-level defects at the early stage itself.
63: What is Alpha testing?
Alpha testing is similar to user acceptance testing and is done by either the developers, testers, or the clients at the tester or developer location. It is done right before shipping the product to the clients. This is done to ensure that there are no last-minute missing functionalities or defects and the client can use the product as expected.
64: What is Beta testing?
Beta testing is carried out by the client at their location with their infrastructure before the product is deployed for wider use. The purpose of this testing is to find out issues that are related to the infrastructure and set up at the deployment location that could not be replicated during the testing phase.
65: What is user experience testing? How is it different from functional testing?
User experience (UX) testing is a form of performance testing where the performance of the UI of the application is measured. For eg the time taken for the results to be displayed, time taken for the page transitions, etc.
UX testing and functional testing are similar in the way the testing procedures and steps are defined. But they differ in the expected results. Let us take a login scenario. The user enters the login credentials and password and hits the login button. For a functional test, the expectation would be that the user is logged into the application and an appropriate application page is displayed. Whereas for a UX test, the expected result would be to achieve this login within a specific time say 5-7 seconds. If the login happens successfully after 7 seconds, it would be considered a failure for the UX test.
66: What is localization testing?
Localization testing, also known as location-based testing is used to test functionalities that are specific to the location where it is deployed. These tests can be related to language, location maps, mobile or internet data speed, or any other regional data. The best example for localization testing would be the search functionality in mobile phones. Whatever you search, be it hotels or petrol pumps, the expectation is to get results closest to your current location.
67: What is Soak Testing?
Soak testing is a type of performance testing where the system is subjected to a load over a long period ranging from a day to a week or more. This type of testing is very useful in finding defects and issues that occur only when the system is in use for a long period. Like issues caused by memory leaks.
68: When will use automation for your project and why?
Automation can be used in the projects to cover regression testing of stable functionalities as well as for smoke testing the build before it is accepted for further detailed testing.
The main benefit of automation testing is that it helps the testers to thoroughly test the newly implemented functionalities by letting the already stable functionalities be tested by the tool. This ensures that the new code changes have not impacted the existing functionalities. And at the same time gives more bandwidth to the testers to test new and more business-critical modules.
69: What is CI/CD and how does testing fit into the pipeline?
CI/CD refers to the continuous implementation and continuous deployment of software from code to production. As the name suggests, every time there is a new code check-in, it gets deployed to the production branch as well. All this happens automatically.
Most companies have automated batch processes that check for any code changes. Once a code change is detected, a new build is triggered. This build then triggers an automation suite. This is where the testing comes in. Based on the results of the automated test, the build is deployed to the production of rolled back.
70 What outsourced and crowd-sourced testing?
Many companies would give the testing of their application to a different company or group of people who specialize in testing. This is done to get better test results and hence better quality. Sometimes, when the project timelines are crunched, in that case also the testing work is assigned to another team or company. This is called outsourced testing.
In crowd-sourced testing, the testing work is assigned to a completely unknown pool of people who may or may not be testers. It is like a crowd of people who are given some benefits for testing an application or software. This concept of testing is picking up fast and allows companies to test their application across different regions, devices, and operating systems.
71: What is a showstopper in software testing?
Showstopper is a defect that blocks the testing activities from proceeding. In such cases, the testing is stopped till the issue is resolved or a new build is cut. An example of a showstopper defect would be login failure, app crash, or not database connectivity.
72: What is a hotfix?
A hotfix is a special build that is rolled out to fix a critical issue. The issue would be very urgent and hence it is not possible to wait till the next build. These builds are very critical and need to be rolled out as soon as possible because they directly impact the customers.
73: What are the different models followed in SDLC?
There are several models to choose to streamline the Software Development Life Cycle. These are:
- Waterfall model
- Spiral model
- V model
- Agile/Scrum model
74: What is API testing and what tools can be used for API Testing?
In API testing, we test the API directly with different inputs and verify the response and response time. API testing is also used for integration testing. The most common tools used for API testing are Postman and SoapUI. There are several other free and paid tools as well.
75: What are the different environments in project development?
The different environments in a project are:
- DEV: the development environment
- QA/STAGE: the testing environment
- PERF: the performance testing environment
- UAT: the user acceptance testing environment or a pre-prod environment
- PROD: the production or client or deployment environment.
Conclusion
With all our heart we hope that the questions that we have compiled are beneficial for you in the next QA interview. All the best
QA interview questions! In order to triumph your oral interview and skill test, you might be asked many QA-related interview questions and that’s the reason why we have compiled the most probable Quality Assurance interview question and answers just for you.
How can I prepare to rightly answer QA interview questions
- Make sure that you are well aware of the project you have been a part of. Not just the quality aspect of it. From design to release you need to have a clear idea about what went on with the project. To make things easier, pen down the project details that contain all the details in bullet points regarding the project and company you were a part of.
- The project sheet must have, Name of the company, project details such as the name of the software, database, client base, time period, your role, team information, SDLC, tools used, and task performed
- A personal retrospective about the project, tasks performed, your professional and personal gain, hurdles that came up, and how you tacked it
- Perform mock interview by referring to most probable Q and A
- Be confident about what you know and be upfront about what you don’t
- Ensure interaction by asking your doubts
- Do not imitate anyone. Be yourself!
Top 75 QA Interview Questions and Answers
1. What is the difference between QA and software testing?
Quality Assurance refers to the activity of monitoring the process of developing software in order to assure customers that the requirements for quality will be met. Through QA, we can identify the inconsistencies and flaws present in the development process.
2. What does Quality mean?
The quality of a product or service is determined by how well they meet the expectations and the requirements set by the customers. A good quality product must be error-free, does not have any lacking areas or any present inconsistencies. Therefore, there are some quality standards that need to be met for a product to be considered to have good quality.
3. Why is checking for quality so important in business?
The following factors are the reasons why quality is very important in business:
- Dependency- The success of every business depends on the quality of its products and services.
- Business Reputation- If a business provides quality services to its clients and customers, only then will it gain a good reputation in the market.
- More Transactions- If customers are satisfied with the quality of services and products that the business provides them, they will keep making transactions with them in the future.
- Automatic Advertisement- When the business guarantees and provides quality, the customers remain satisfied, which translates into them referring your business to other people as well
4. What is the difference between Quality Assurance and Quality Control?
QA is the process of creating, documentation, and agreeing on the guidelines that assure quality. This means that at the end of QA, we get the quality standards for the software that need to be met.
QC on the other hand is a process that focuses on identifying defects in the quality of the developed product. This means that the software is tested at various stages of its development cycle against the various requirements set by the customer.
5. What is the meaning of Testware?
Testware entails all the artifacts or materials that are used while performing tests. This includes test cases, test plans, test scripts, etc.
6. What is the difference between release and build?
The build is the software developed for the customers which is handed over to the testing team by the development team.
A release is an installable application that is officially released for the customer after it is completely tested and certified by the testing team.
A build turns into a release after is removed of any prevalent bugs and errors in it.
What are QA roles and responsibilities?
7. At what point should the QA activities start?
The process of quality assurance must start as soon as the development of software starts. The sooner the QA activities start, the better. This is because QA can help avoid risks that have already been specified in the specification phase.
If QA activities are delayed, they can prove to be very costly, efforts and time-consuming.
8. What is a cause-effect graph?
A graph that represents all possible input domains and the outputs associated with them is called a cause-effect graph. This graph comes into use during the process of test case designing.
9. What is bug leakage and bug release?
When software is handed over to the team of testers knowing that a particular set of errors exist in the release, it is called a bug release. The severity and priority of these errors are known to be very low, as they can be resolved before the final release of the software.
When errors or bugs which went unnoticed by the testing team, are detected by the customers or the end-users after the software’s release, then it is known as a bug leakage.
10. What is the importance of a Bug Triage?
Bug Triage is the process of prioritizing every bug on the basis of its frequency, severity, risks, etc. It helps to evaluate and then assign the solution to these bugs in a very efficient manner.
11. How is Test Plan different from Test Strategy?
A test plan can be considered as a document that defines the objective, scope, approach, and emphasis that will go into the software testing efforts. Test plans can include the features that are to be tested, testing techniques to use, pass and fail criteria, etc.
A test strategy on the other hand can be defined as a set of guidelines that define the test designs in detail and provide instructions on how to conduct the testing process. It includes documentation formats, scope, and objectives, testing processes, test deliverables, etc.
12. What is meant by data-driven testing?
It is a testing methodology where test scripts are created which read test data, such as input and output values, directly from data files. The data sources can be of any type such as CSV files, ODBC files, ADO files, data pools, etc.
13. What are the different phases in the QA testing cycle?
The QA cycle has 4 phases:
- Plan- Businesses first need to plan the processes that are related to the goals and objectives and determine what is required to be done to develop a good quality product.
- Do- Here the development of the software and its testing is conducted.
- Check- An important aspect of QA is to monitor the processes and methodologies that are used to check whether they meet the previously determined objectives or not.
- Act- Finding out inconsistencies and flaws in the process and acting accordingly to improve them.
14. What is meant by a test case?
A test case contains conditions and specifications according to which a particular software must be tested for bugs. It includes details of the acceptable inputs, conditions for execution, procedures for testing, ideal outputs, etc.
15. What constitutes a good test case?
A test case can be considered as good if it is capable of finding defects and errors. Therefore, a test case that exhibits the following characteristics can be considered as a good one:
- Accuracy- It must exact its purpose
- Economic- It must not include unnecessary words or steps
- Traceable- It should be traceable to the requirements
- Repeatable- The test case must be usable again and again
- What are High-level and Low-level test cases?
- High-level: The cases which cover all the core functionalities of a product are considered high-level test cases.
- Low-level: The cases which are related to the UI of the application are considered low-level test cases.
- Which are the most important functions of QA?
The important functions of QA include validation, creation of improvement plans, documentation, and technology transfers.
16. What are the common challenges faced by the testing team when automating the QA process?
The most common automation challenges that are faced in QA testing are:
tyle=”list-style-type: none;”>
- Reusability of automation script
- Mastering the tools for automation
- Adapting the test cases for automation
- Automating complex test cases
17. What are the different types of software testing approaches?
There are many types of software testing approaches, among which the commonly used ones are:
- Unit Testing
- Integration Testing
- Systems Testing
- Functional testing
- Non-Functional Testing
- Black and White box testing
- Regression Testing
- Exploratory testing
- Agile Testing
- Ad-Hoc Testing
- Smoke Testing
- Alpha and Beta Testing
18. What are the stages in a Bug Life Cycle?
- The bug life cycle includes all the stages through which a bug goes, throughout its lifetime. The different stages in a bug lifecycle ate as follows:
- The bug is detected and identified, its state is ‘new’
- A tester approves the bug as genuine and its state becomes ‘assigned’
- It is checked whether the bug is in the scope or not. If it is not, then the bug is postponed for later
- Its state becomes ‘in-progress once a tester starts working on it
- When the bug is fixed, its state changes to ‘fixed’
- If it passes the final testing process, the state is set as ‘closed’
22. What does Bug Control mean in product development?
It is an approach that aims at developing software products that are free from bugs and errors. In this approach, efforts are made to detect and avoid errors only in the testing phase, and not after that.
23. What are functional and non-functional tests?
Functional tests are those which check the functional aspects of the software to validate their efficiency. Smoke testing, unit testing, integration testing, user acceptance, regression testing, etc. come under functional testing.
Non-functional tests are those which check the non-functional aspects of the software to validate its performance. Performance testing, load testing, stress testing, scalability, volume testing, etc. come under non-functional testing.
24. What is Agile Testing?
Agile testing is a software testing approach where continuous iteration of developing and testing the software takes place throughout the SDLC. In this approach, the requirements are gradually developed during the development lifecycle by the customers and the testers. This means, in agile testing, the coding and the testing processes are conducted simultaneously.
25. When a bug is found in production, how can you make sure that the same bug doesn’t occur again?
Whenever a bug is detected in production, the best practice is to create a test case immediately for it and to include it in the regression suite. We can also create alternate or similar test cases to include them in the suite. This way, we can prevent the occurrence of that same bug again in production.
Know More: Top 10 Software Testing Certifications 2019
26. What are un-reproducible bugs?
The following kind of bugs can be categorized as un-reproducible bugs:
- Defects that surface due to issues of low memory.
- Errors or bugs that arise due to addresses pointing to memory locations that do not exist.
- Race conditions are error scenarios that occur when the time of execution of one event impacts another even executing in a sequence.
27. How can you handle unreproducible bugs?
- To handle un-reproducible bugs, a tester can follow these steps:
- Executing test steps that are as close to the bug description as possible.
- Evaluating the environment of that test.
- Examining and evaluating the results produced by the test execution.
- Keeping the time and resource constraints under check
28. What is the difference between a Test Driver and Stub?
A test driver is that piece of code that calls the software component that needs to go under test. Test drivers prove to be very useful when following the bottom-up testing approach.
A test stub is a dummy piece of code or program which is integrated with an application to complete the application’s functionality. Test stubs come into use when following the top-down testing approach.
29. What is meant by Entry and Exit criteria?
Entry Criteria- The process which needs to be run when the testing begins. It includes:
- Software Requirement Specification (SRS)
- Functional Requirement Specification (FRS)
- Test cases
- Use cases
- Test plans
Exit Criteria- It tells when a product is completely testing and when it should be formally released. It includes:
- Metrics
- Test Summary Reports
- Defect Analysis Report
30. What are the roles of White and Black box testing?
The black box testing approach does not require the tester to have knowledge of the internal code and structure of the software. The tests in this approach are based on the software’s functionalities and requirements.
White box testing on the other hand requires the testers to test the internal designs, implementation, and structure of the software. Therefore, in this approach, the tests are concentrated on path coverage, statement coverage, and branch coverage.
31. What is the aim of smoke testing?
Smoke testing is done to confirm the basic functionalities of a product. Through smoke testing, you can identify the most basic test cases to execute.
32. Why is sanity testing used?
Through sanity testing, you can ensure whether the software runs without the occurrences of any logical errors or not. It helps to avoid the wastage of cost and time involved in testing when the entire build fails.
33. What is the difference between negative and positive testing?
In negative testing, the software is validated by evaluating how it behaves when invalid inputs are provided to it. Therefore, it is conducted by keeping a negative point of view to check whether the software behaves as expected when negative inputs are provided.
In positive testing, however, the software is tested by providing positive inputs to it and checking how whether the results match with the expected results or not.
34. How is verification different from validation?
Verification is the process of thoroughly evaluating the software in the development phase to check whether it meets the specified requirements or not. It is done to make sure that the software is capable of meeting the requirements. Activities like meetings, reviews, and inspections are involved in verification.
Validation is the process of thoroughly evaluating the software after it has been developed completely to make sure that it meets the customer’s requirements and expectations. Activities such as black and white box testing are involved in validation.
35. What is the cause-effect graph?
A cause-effect graph is the graphical representation of all the inputs and their respective output effects that can be used while designing test cases.
36. What is meant by Quality Audit?
It is a process where systematic examination of software is conducted by an audit team or by a quality auditor. Here, tests related to the effectiveness of procedures adopted in quality control are performed. It is done after all tasks related to the software are completed.
37. Which Two Levels commonly come under Quality Certification?
- Optimization
- Repeatable sequences
38. Which factors must be given higher importance in the development of a product in QA?
Testers must first concentrate on planning before starting to work on any software. Adopting and integrating the latest technologies in processes is also very important. Attention must also be focused on identifying the factors on which the software is heavily dependent.
Sometimes quality can be assured simply by paying close attention to the development process of the software. Testing also plays an important role in assuring the efficiency and quality of software.
39. Why is Quality Assurance a ‘proactive approach?
QA testing takes place during the development process and starts as soon as the software goes into development. This is why quality assurance is considered as a proactive approach.
Know More: Top 50 Selenium Interview Question that will help you land a Job
40. How is QA defined in the ISO 9000, Clause 3.2.11?
Quality assurance is defined as that aspect of quality management that deals with assuring the customers that their set requirements for the software’s quality will be fulfilled.
41. How to know if software specifications have been met or not?
By using the traceability matrix tool, we can map requirements to test cases. When all test cases in the matrix are executed successfully, it will mean that the code meets all software specifications.
42. What is a traceability matrix?
It is a document that captures all the requirements proposed by the client and the traceability.
A traceability matrix is a document that traces and maps the test cases and the user requirements.
43. Which QA practices can be considered the best?
There are many good practices for QA, among which the best are:
- Thoroughly evaluating the selected release criteria
- Automating testing for highly sensitive areas
- Creating a testing environment that is robust
- Simulating final outcomes for evaluation
44. What is Recovery Testing?
Recovery testing is conducted to recover the software from any unexpected or expected events so as to prevent loss of functionalities and data. Events can include unexpected communication loss, shortage in the disk space, etc.
Nearing software tester interview? Have a look at this Q and A
45. Which are the key factors of a test plan?
A test plan contains the following key factors:
- Test scope
- Objectives
- The environment
- Testing the frame
- Risk factors
- Deliverables
- Reasons for testing
- Entry and exit criteria
46. What is meant by QA automation?
It is the process of automating as many parts of the testing process as possible so as to make QA testing more accurate, efficient, and quick.QA automation can be done by using various automation tools.
- Name a few QA automation tools.
- Selenium- It is an open-source automation tool that is the most widely used tool for QA.
- UTF (Unified Functional testing) – It is an automation tool by SmartBear Software. A few significant features of this tool include Scripted Testing, Test Visualizers, and GUI Testing.
- TestingWhiz- It is a QA automation tool by Cygnet Infotech that provides code-less scripting. Some of its features include Integration with Test Management Tools, record and Playback test frameworks, and Keyword Driven Testing.
47. How is retesting different from regression testing?
Retesting is conducted to check whether the errors have been successfully removed or not, while regression testing is conducted to check the impact that error fixes have on other software functionalities.
48. What is meant by MR?
MR or Modification Request can also be called as a Defect report. It is a document that is created to report all the errors and defects in the software and any suggestions which can be taken into account.
49. How are validation activities conducted?
Following techniques are used to conduct validation activities:
- Hiring third-party independent people for validation
- Assigning team members who are not involved in the verification activities
- Getting the software independently evaluated
50. Which types of documents are created during software QA?
The following documents are created during the software quality assurance process:
- Requirement document
- Test cases and Test plans
- Test Metrics
- User profiles
- Test log
- Transaction Mix
- Task distribution flow chart
- Test incident report
- Test summary report
51: What is BVA? Name any other testing technique.
BVA stands for Boundary Value Analysis. This technique is used for doing field-level testing for numerical fields. This test is performed by entering a number +1 and -1 from the extreme values that the input box can take. E.g., if a field can take values from 0 to 100, then by applying the BVA technique, we will try to enter the values -1, 1, 99, and 101. Of these, -1 and 101 should not be accepted by the system.
Equivalence Class, Decision Table, Error Guessing are some other software testing techniques that are used frequently.
52: What is the difference between the severity and priority of a bug?
The severity of a bug is determined by the tester, based on the expected impact of the bug on the application from the perspective of a tester. The highest severity bugs are related to a crash in the application or a functional issue with the most business-critical functionality. The least severe bugs are cosmetic bugs like alignment, spelling mistakes, or color variations.
The priority on the other hand is determined by the developers, based on when they plan to fix the reported issue. Priority 1 issues are of the highest priority and need to be fixed at the earliest. The lowest priority is generally given to cosmetic bugs or those bugs that are likely to be moved to the next iteration or project cycle.
53: What is exploratory testing?
Exploratory testing is an informal testing technique where the tester randomly navigates through the application without any defined steps followed. The testers just check for the overall look and feel smooth page transitions, and expected messages to ensure the application is not crashing at any point.
54: What is UAT? How is it different from functional testing?
UAT or User Acceptance Testing is a form of function done by a subset of the users. For eg, if the software is developed for a departmental store, the UAT should be performed by somebody from the store to see how easily they can adapt to the new software, if they can perform their daily operations, and also understand if any improvements need to be done before handing over the application to the client.
55: What are the test cases you can prepare for a login screen?
There are several test cases that we can write for a login screen, some of them are:
- Correct login and password should allow the user to log in.
- Incorrect credentials should block the user
- For incorrect input, an appropriate error message should be displayed.
- The combination of blank login and/or password needs to be checked for appropriate error messages.
- For the login edit box, check the maximum character limit along with all field level validations.
- For the password edit box, check the maximum character limit along with all field level validations.
- Forgot password link should be available.
- The register or create account button should be available as per business or requirements.
- The alignment of the screen and the spellings should be checked.
- The company or product logo should be available as per business or requirement.
56: What is defect density?
Defect density is defined as the number of accepted defects per 1000 lines of code (LOC). It helps the development team to understand more problematic areas in the code and if needed do a restructuring of the code as well.
57: What is the 80-20 rule?
The 80-20 rule is also called the Pareto Principle and in software testing, it means that 80% of the defects come from 20% of the code. This principle helps us to identify the areas of the code or the functionalities that need more rigorous testing to ensure the best quality.
58: Explain the different test coverage techniques.
There are 3 main types of test coverage techniques:
- Statement Coverage: here testing aims to cover every line of code. This is the most exhaustive testing and most often the testing team would not have the bandwidth for this type of coverage.
- Decision Coverage: As the name suggests, in this testing each decision flow in the code is tested. In this where ever there is a decision box, each flow of the code is tested.
- Path Coverage: Path coverage ensures, all the paths leading to a code or functionality are covered as part of the testing.
59: What is DRE?
DRE, Defect Removal Efficiency is a metric used to measure the effectiveness of the testing activity. It is a ratio of the number of defects found by the testing team vs the defects found in production. Higher DRE means more effective testing.
DRE = No. of defects found during testing / (No. of defects found in testing + No. of defects in Prod)
60: What is big bang testing?
After the completion of testing of individual modules, all the modules are combined or integrated and tested. This type of end-to-end testing is called the big bang testing and it is carried out towards the end of the testing life cycle.
61: What is the top-down approach?
In top-down testing, the highest-level modules are tested first. Type of testing uses stubs and drivers to simulate data if any modules are not available for testing. The testing is done downwards, after the highest-level modules, the next highest is testing till the unit level code.
62: What is the bottom-up approach?
In a bottom-up approach to testing, the lowest modules are tested first followed up by the modules above them. The sequence continues till the highest modules are integrated and tested together. The bottom-up approach is very useful in finding code-level and module-level defects at the early stage itself.
63: What is Alpha testing?
Alpha testing is similar to user acceptance testing and is done by either the developers, testers, or the clients at the tester or developer location. It is done right before shipping the product to the clients. This is done to ensure that there are no last-minute missing functionalities or defects and the client can use the product as expected.
64: What is Beta testing?
Beta testing is carried out by the client at their location with their infrastructure before the product is deployed for wider use. The purpose of this testing is to find out issues that are related to the infrastructure and set up at the deployment location that could not be replicated during the testing phase.
65: What is user experience testing? How is it different from functional testing?
User experience (UX) testing is a form of performance testing where the performance of the UI of the application is measured. For eg the time taken for the results to be displayed, time taken for the page transitions, etc.
UX testing and functional testing are similar in the way the testing procedures and steps are defined. But they differ in the expected results. Let us take a login scenario. The user enters the login credentials and password and hits the login button. For a functional test, the expectation would be that the user is logged into the application and an appropriate application page is displayed. Whereas for a UX test, the expected result would be to achieve this login within a specific time say 5-7 seconds. If the login happens successfully after 7 seconds, it would be considered a failure for the UX test.
66: What is localization testing?
Localization testing, also known as location-based testing is used to test functionalities that are specific to the location where it is deployed. These tests can be related to language, location maps, mobile or internet data speed, or any other regional data. The best example for localization testing would be the search functionality in mobile phones. Whatever you search, be it hotels or petrol pumps, the expectation is to get results closest to your current location.
67: What is Soak Testing?
Soak testing is a type of performance testing where the system is subjected to a load over a long period ranging from a day to a week or more. This type of testing is very useful in finding defects and issues that occur only when the system is in use for a long period. Like issues caused by memory leaks.
68: When will use automation for your project and why?
Automation can be used in the projects to cover regression testing of stable functionalities as well as for smoke testing the build before it is accepted for further detailed testing.
The main benefit of automation testing is that it helps the testers to thoroughly test the newly implemented functionalities by letting the already stable functionalities be tested by the tool. This ensures that the new code changes have not impacted the existing functionalities. And at the same time gives more bandwidth to the testers to test new and more business-critical modules.
69: What is CI/CD and how does testing fit into the pipeline?
CI/CD refers to the continuous implementation and continuous deployment of software from code to production. As the name suggests, every time there is a new code check-in, it gets deployed to the production branch as well. All this happens automatically.
Most companies have automated batch processes that check for any code changes. Once a code change is detected, a new build is triggered. This build then triggers an automation suite. This is where the testing comes in. Based on the results of the automated test, the build is deployed to the production of rolled back.
70 What outsourced and crowd-sourced testing?
Many companies would give the testing of their application to a different company or group of people who specialize in testing. This is done to get better test results and hence better quality. Sometimes, when the project timelines are crunched, in that case also the testing work is assigned to another team or company. This is called outsourced testing.
In crowd-sourced testing, the testing work is assigned to a completely unknown pool of people who may or may not be testers. It is like a crowd of people who are given some benefits for testing an application or software. This concept of testing is picking up fast and allows companies to test their application across different regions, devices, and operating systems.
71: What is a showstopper in software testing?
Showstopper is a defect that blocks the testing activities from proceeding. In such cases, the testing is stopped till the issue is resolved or a new build is cut. An example of a showstopper defect would be login failure, app crash, or not database connectivity.
72: What is a hotfix?
A hotfix is a special build that is rolled out to fix a critical issue. The issue would be very urgent and hence it is not possible to wait till the next build. These builds are very critical and need to be rolled out as soon as possible because they directly impact the customers.
73: What are the different models followed in SDLC?
There are several models to choose to streamline the Software Development Life Cycle. These are:
- Waterfall model
- Spiral model
- V model
- Agile/Scrum model
74: What is API testing and what tools can be used for API Testing?
In API testing, we test the API directly with different inputs and verify the response and response time. API testing is also used for integration testing. The most common tools used for API testing are Postman and SoapUI. There are several other free and paid tools as well.
75: What are the different environments in project development?
The different environments in a project are:
- DEV: the development environment
- QA/STAGE: the testing environment
- PERF: the performance testing environment
- UAT: the user acceptance testing environment or a pre-prod environment
- PROD: the production or client or deployment environment.
Conclusion
With all our heart we hope that the questions that we have compiled are beneficial for you in the next QA interview. All the best