Powered By Blogger

Monday, December 20, 2010

Testing Models

Waterfall Model





















The testing starts only after the build is ready. If business logic is not fulfilled by the system, then whole process need to be repeated again.
  • It is time consuming
  •  Overhead in error correction 
  • Heavy cost of fixing defects
  • Mistakes in any of the stages result in restart of Project


V-Model





















Testing starts from Requirement phase of development only and carried out along with the progress of the Project.
  • Require less time
  • Defect are tracked early
  • Reduce cost of fixing defects   


Iterative Model













Iterative Model so called because various stages are repeated(iterated) number of times in this model. In Iterative model, application development progresses in phases. Each phase add new functionality to the System. During each phase various stage of development along with testing. are covered for the functionality to be added.

  • Fast process for development
  • Fixing cost is reduced
  • Diversion from actual requirement is detected early
 
Visit guru99 for video tutorial.

Software testing

A process used to identify the correctness, completeness and quality of developed software, with thought in mind that testing can never completely establish the correctness of the software.

Objectives:
1. Executing a program with intent of finding error.
2. A good test case is one that has high probability of finding a yet uncovered error.
3. A successful test is one that uncovers an undiscovered error.

Testing Principles

1. Exhaustive testing is not possible.
2. Defect Clustering: small number of the module contains most of the defects detected.
3. Pesticide Paradox: if same test cases are repeated, will no longer find new bugs.
4. Testing shows the presence of defect.
5. Absence of error is a fallacy.
6. Early testing.
7. Testing is context dependent.

Rules for testing

  1. Write the test cases first.
  2. Never write test case that succeed the first time.
  3. Start with null case or something that doesn’t work.
  4. Don’t be afraid of doing something trivial to make the test work.
  5. Loose coupling & testability go in hand. 
  6. Use mock Object