Thursday, May 1, 2014

Testing Interview Questions and Answers

Q. What is Agile Testing and how is it different to traditional waterfall or the V model?

Agile Testing is testing practice that follows the principles of agile software development. Agile testing involves all members of an agile team with special skills and expertise to ensure business value is delivered at frequent intervals.
The big difference is that in Agile environment, testing is not a phase, it is an activity parallel to development.
In agile environment, small features of software are delivered frequently, so testing activity should be parallel to development activity. Testing time is short as we are only testing small features.
In the waterfall model, there is a testing phase at the end of the development so, testing is a big effort done after the whole application is developed. Testing time is long as we have to test the whole application.
Q: What is your approach when requirements change continuously?
This question can be asked if you are interviewed for an agile QA position where requirements are likely to change frequently during development. Although a complete change in requirement is possible, most of the time, it is the technical details that are subject to change. e.g. the intent of the requirement or behaviour of the feature is the same but implementation details can change
A: Some possible answers can be:
  • Write generic test plans and test cases which focus on the intent of the requirement rather than its exact details
  • Work very closely with the product owners or business analysts to understand the scope of change so testing can be updated
  • Make sure the team understands the risks involved in changing requirements especially towards the end of sprint
  • If you’re going to automate this feature, it is best to wait until the feature is stable and requirements are finalized
  • Negotiate to see if the changes can be kept to a minimum and/or implement the changes in next sprint.

Can you explain defect age and defect spoilage?

Defect age is also called a phase age or phage. One of the most important things to remember in testing is that the later we find a defect the more it costs to fix it. Defect age and defect spoilage metrics work with the same fundamental, i.e., how late you found the defect. So the first thing we need to define is what is the scale of the defect age according to phases. For instance, the following table defines the scale according to phases. So, for instance, requirement defects, if found in the design phase, have a scale of 1, and the same defect, if propagated until the production phase.
Once the scale is decided now we can find the defect spoilage. Defect spoilage is defects from the previous phase multiplied by the scale. For instance, in the following figure we have found 8 defects in the design phase from which 4 defects are propagated from the requirement phase. So we multiply the 4 defects with the scale defined in the previous table, so we get the value of 4. In the same fashion we calculate for all the phases. That's the spoilage.


Can you explain how the number of production defects is measured?

This is one of the most effective measures. The number of defects found in a production is recorded. The only issue with this measure is it can have latent and masked defects which can give us the wrong value regarding software quality.

Can you explain DRE?

DRE (Defect Removal Efficiency) is a powerful metric used to measure test effectiveness. From this metric we come to know how many bugs we found from the set of bugs which we could have found. The following is the formula for calculating DRE. We need two inputs for calculating this metric: the number of bugs found during development and the number of defects detected at the end user but the success of DRE depends on several factors. The following are some of them:
  • Severity and distribution of bugs must be taken into account.
  • Second, how do we confirm when the customer has found all the bugs. This is normally achieved by looking at the history of the customer.