Software Testing Interview Questions and Answers

Q1.How do you define Bug and Defect?
  • Defect – This is what if software misses any function or feature which are there in requirement list, then this is known as a defect.
  • Bug – A bug is a flaw or a failure in a system that causes it to yield an unexpected or incorrect result.

Q2. What are the various categories of defects? Explain.

There are basically three main categories of defects: Wrong, Missing and Extra.
  • Wrong: This is when the provided and specified requirements have been implemented incorrectly.
  • Missing: This is a case where customer’s provided requirement might be missed or not properly noted. So the customer is not served, in the end, with his requirement.
  • Extra: An extra and unwanted requirement is added into the product that was not even specified by the end customer. It is considered a defect as a variance is there from the existing requirement list.

Q3. Explain risk-based testing?

Risk-based Testing – It is an approach used for creating a test strategy. This approach is based on prioritizing the tests by risks by risk level. Each risk is specified with its corresponding test(s), starting with the risk of highest priority first.

Q4. What is Decision table based testing and when it is used?

Decision table testing is used for testing those systems for which the specifications takes the form of cause-effect combinations or rules. Here, in the decision tables, all the inputs are listed in a column, and just below the each input, its corresponding output is maintained.
In the remaining table, combinations of various inputs are defined along with their produced outputs.

Q5. Expand and explain CMM?

CMM stands for Capability Maturity Model for Software. It is also represented as SW-CMM. It is a model that judges the maturity of the software processes of an organization and identifies the key practices that can be used for increasing the maturity of these processes, for the betterment of the organization.

Q6. Elaborate PDCA cycle?

PDCA stands for Plan-Do-Check-Act cycle. As we are aware of the fact that Software testing is a vital part of the software development process. So P-D-C-A are actually the 4 important steps that are used in a normal software development.
  • Plan: This step defines the objective and a proper plan to achieve the objective.
  • Do: This step is also called ‘Execute’. During the planning stage, a plan strategy is finalized, which is executed accordingly in this phase.
  • Check: This step is also called ‘Test’. This one keeps a check on the process and ensure that plan is being followed properly and desired result is being generated.
  • Act: If in the above check, any issue or abnormality is found, then it means that need of taking appropriate action is there. Sometimes, the whole plan is also revised.

Q7. How do you differentiate these three testing – white box, black box, gray box?

  • Black box testing – It is a testing strategy that is based completely on the specifications and requirements. No knowledge of structures or internal paths is needed here in this strategy.
  • White box testing – It is a testing strategy that is based on code structures, internal paths and implementation of the software being tested. The White box tester must have detailed programming skills.
  • Gray Box testing – It is a testing strategy in which we thoroughly look into the box that is being tested to have a proper understanding of its implementation. Then we need to choose more effective black box tests using our knowledge.

Q8. What are the steps involved in testing policy?

Mainly four steps are involved in testing policy.
  • Definition: It’s for defining one unique testing definition within the organization so that everyone follows the same testing only.
  • How to achieve: This step includes the way to achieve the objective. Few things are being considered here like committee to do the testing, mandatory test plans, etc.
  • Evaluate: After testing, the next step is evaluating. This adds value to the project.
  • Standards: In this step, the focus is on the standards that are needed to be achieved by testing.

Q9. What is Equivalence Class and Equivalence Partitioning?

  • Equivalence Class – It is a portion of an input of the component for which the component’s behavior is assumed to be similar as that of the component’s specification.
  • Equivalence Partitioning – It is a technique for component’s test case designing. Here test cases are designed to execute representatives from the equivalence classes.

Q10. Define Inspection?

Inspection is basically a check-up process. It is a quality improvement process for the writing material, considered as a group review.
Basically two aspects involve under this –product improvement and process improvement.

Q11. What is Bottom Up Testing?

Bottom Up Testing is an approach to do the integration testing. Here, firstly, the test is done for the lowest level components, then the higher level components are being facilitated.

Q12. What RAD stands for? Explain it in your words?

RAD stands for Rapid Application Development. It is an integration for parallel development of functions & subsequent integration. The functions are developed in parallel and the developments are then time-boxed, delivered, and assembled into the working prototypes.
This helps customers to see the progress at the early level, and thus he can give a quick feedback regarding their requirements. Using this method, rapid alteration and development of the product is possible.

Q13. What do you understand by usability testing?

Usability testing – It is a testing methodology for the ease of customers. Here the end customers are asked to use the software to evaluate if the product is up to the mark and is easy to use. This puts forth the customer’s perception too. It is recommended to use the prototype or mock-up software during the initial stages so as to finalize the customer point of view of usability. The customer is provided with this prototype before the development begins. This helps in confirming that things are being processed keeping user’s point of view in mind.

Q14. Is there any difference between testing tools and testing techniques? Explain?

Yes, the difference is there.
  • Testing Tool – It is for performing the test process. This testing tool is a resource to the tester, but it is insufficient to conduct testing.
  • Testing technique – It is a process for ensuring that some aspects of the application unit or system are functioning properly.

Q15. What are the different Agile Development Model methodologies?

Total 7 different agile methodologies are there.
  • Extreme Programming (XP)
  • Agile Unified Process
  • Crystal
  • Dynamic Systems Development Model
  • Lean Software Development
  • Scrum
  • Feature-Driven Development

Q16. What is QA (Quality Assurance)?

Under Quality Assurance, all the planned actions that are necessary to provide enough confidence about the product are kept in mind. It maintains the desired quality level of the product or service.

Q17. Define Quality Circle and Quality Control?

  • Quality Circle – It is actually a group of individuals, all having a similar interest. They meet at regular intervals to discuss consider problems related to the quality of outputs and to discuss about correcting the problems so as to improve on the quality of the product.
  • Quality Control – It includes the operational activities and the techniques that are used for verifying the requirements of quality.
Q18. In which phase, number of defects are more – designing phase or coding phase?
It will be more in the designing phase than the coding phase.
One of the major and most frequently occurring defect is that the product does not cover the complete customer requirements.
Another defect can be a wrong architecture.
Third one is technical decision.
This way, the design phase is the most critical phase.

Q19. Which testing model is best as per your understanding, and why?

Tailored models are considered the best out of all as they consist of all the best features of the Waterfall, Iterative, and other testing models. The tailored model can easily fit into the real life projects. They are also considered the most productive.
But if the case is that it’s a pure testing project, then in such case, the V model is the best model.

Q20. What do you mean by monkey testing?

Monkey Testing – In this type of testing, the data ares often generated on random basis using an automated mechanism or some tool. The system is tested with this randomly generated input data. But this testing is less reliable, so it is generally used by the beginners. Monkey testing is also called Random testing.

Q21. What are the main phases or steps of a formal review?

There are basically 6 phases involved in a formal review. They are cited below in a sequence:
  • Planning
  • Kick-off
  • Preparation
  • Review meetings
  • Rework
  • Follow-ups.

Q22. Differentiate between positive and negative testing?

  • Positive testing – This testing aims at showing software works. This is also called – “test to pass”.
  • Negative testing – This testing aims at showing software that does not work. This one is also called – “test to fail”.

Q23. What is configuration management?

Configuration management – It is a detailed recording and also updating information for software and hardware components. A track record of changes in requirement, designing or test cases is also maintained under this.
It is always said to follow a process while executing and changing. But when the changes are being done in an adhoc manner, then the chances of occurring of chaotic situations rise up and also chances of defects also increases.
Therefore, changes should be done with proper planning and in a controlled manner. Also tracking of proper version should be done so that in case if needed, we should be able to revert back to the previous version.

Q24. What role does the moderator plays in review process?

The moderator is also called as the review leader. Their role is to lead the review process. The review leader performs the entry check, and also performs the follow-up on the rework. All this is done to control the quality of the input & output of the review process.
Another role of a moderator is to schedule the meetings, circulate the documents before the meeting, and to store the data that are being collected through these meetings and discussions.

Q25. What are the types of impact ratings in a project?

There are three types of impact ratings in a project – Minor, Major and Critical.
  • Minor: It is having a very low impact, thus it does not affect the operations on a large scale.
  • Major: It actually affects the operations on a very large scale.
  • Critical: This one is the most critical of all. It brings the system to a halt and thus stops the whole show.

Q26. Define Quality Audit?

Quality Audit – It is a systematic examination to determine whether all is going as planned, i.e. whether the goal and plans are strictly followed. It is an independent examination.

Q27. What is Verification, and what are its two types?

Verification – It is defined as the static type of software. The product is assessed by going through the code.
Code is not executed under this step. Types of verification are: Walkthrough and Inspection.
  • Walkthrough: These are informal. These are initiated by the author of the software product so as to locate the max possible defects and thus work in suggesting the correcting and improving way.Walkthoughs are generally unplanned.
  • Inspection: It is a thorough checking of a software product word-by-word. The intention is locating the defects, and confirming the best implementation of the planned strategy as per the specified requirements.

Q28. At what time, Regression Testing should be performed?

Regression testing should be done only after either the software has changed or the environment. The changes may also include configuration change and software enhancements too.

Q29. Explain the following testings : – Unit Testing, Integration Testing, System Testing & Acceptance Testing?

  • Unit testing – Testing that is performed on a single and a stand-alone module (or unit module) is called Unit testing.
  • Integration testing – This comes after Unit testing. It is a testing is performed on groups of modules. This testing ensures that the data and control are properly passed between modules.
  • System testing – System testing is for predetermined combining of tests. When these are executed successfully, requirements should meet.
  • Acceptance testing – This testing ensures that the system meets the needs of both the customer(s) as well as the organization too. It validates whether the right system is built.

Q30. Define test log?

Test log – It is a document that contains the sequential record of the relevant details about the test cases and their execution.

Q31. Throw some light on BVA?

BVA’s expansion is Boundary Value Analysis. It is a software testing technique. This one is quite similar to Equivalence Partitioning, except of the fact that it is putting more focus on corner cases. By corner cases, we mean the out of range values.

Q32. Define Test bed?

Test Bed – It is basically a test execution environment that is configured for testing. It consists of Operating System, specific software and hardware, application software, network configuration and the product that is needed to be tested.

Q33. Tell the five common problems that come in the path of software development process?

  • Unclear or poor requirements
  • Unfeasible working schedule
  • Insufficient testing
  • Lack of communication between developer and customer
  • Change in requirements from the end user, when the development is already done or in midway.

Q34. What is your definition of a ‘good design’?

It should include the following features as per my knowledge:
  • The overall structure should be clear.
  • Robustness – capable enough for handling the errors.
  • Proper functioning of product or service.
  • Easy maintenance.
  • Easy to operate and to modify too (in case of new requirements from customer’s end).

Q35. How can we test for drastic (severe) memory leakages?

By using Endurance testing, we can achieve it. Endurance testing is a non-functional type of software testing. It checks for the memory leakage or other related problems that may occur over an extended period of time. Another name for this testing is Soak testing.