Subscribe by Email

Wednesday, June 27, 2012

What is the key difference between preventative and reactive approaches to testing?

There are two main approaches to testing namely:
  1. Preventative approach to testing and
  2. Reactive approach to testing

What is Preventive Approach to testing?

- Preventative approach to testing is analytical in nature but reactive is rather heuristic.
- The designing of the preventative tests takes place after the production of the software. 
- On the other hand, the reactive tests are designed quite early i.e., in response to the feed back or review comments given by the customers.
- But both of these tests are designed as early as possible. 
- On an overall basis, preventative tests are created earlier than the reactive tests. 
- The preventative testing approach is based up on the philosophy that the quality of the software system or application under testing can actually be improved by testing if it is done early enough during the software development life cycle.
- However, one specification is to be followed for implement this approach to testing which is that test cases should be created for the validation of the requirements before the code is written.
- Preventive approach is followed because it can be applied to all the phases of the project and not just to the code. It also reduces cost of correcting the underlying faults. 

What is Reactive approach to testing?

- Reactive approach to testing is considered to be a performance testing activity in the field of performance management. 
- The developers often do not think about the performance of the software system or application that they are developing during the early stages of the SDLC or software development life cycle. 
- More often, the performance quotient is neglected till the testing of the system is complete. 
This is known fact that the performance of a software system or application revolves around its architecture. 
- Designing an effective architecture is a high cost activity and in some of the cases the whole system is trashed because of the presence of the huge deviations in performance factors. 
However, waiting for problems related to the performance to surface and then dealing with them is not always the best option. 
- So, performance testing is considered to be a reactive approach to testing since the system does not gathers much importance during the early stages of the life cycle. 
- Reactive approach to testing is more of a kind of a “fix it later” approach which is less effective than the preventative approach.
- Even quality control is a reactive approach to testing. 
- Every step of the production development cycle involves quality control. 
- It is not that the developers are simply sitting idle and noting down all the areas where potential issues are suspected after the final outcome.

Importance of both the approaches

- Actually preventative and reactive approaches are considered to be two “test strategies” which are used to define the objectives of the software’s testing and how they are to be achieved. 
- These two approaches also act as a determining factor in the cost and amount of effort that is to be invested in the testing of the software system or application. 
- In preventative approach the testers are involved right from the beginning of the project. 
- The specification and preparation i.e., test planning and test design is also carried out as soon as possible. 
- Preventative approach involves activities like:
  1. Reviews
  2. Static analysis
- Contrary to the preventative approach, in reactive approach testers are involved late in a project.
- The test planning and designing is started after the development of the project has ended. 
Reactive approach involves techniques like exploratory testing.

No comments:

Facebook activity