Principals of Testing

PRINCIPALS OF TESTING

Testing as a process ensures quality. To ensure that the testing is performed correctly we follow certain principals to ensure quality testing. Using these principals, quality testing can easily be done and also helps to build confidence in the product. Therefore in this article we will discuss a few principals for ensuring Quality Testing.

Testing shows presence of defects

We use testing to determine if defects exist, but cannot prove that there are no defects. Testing reduces the probability of undiscovered defects remaining in the software but, even if no defects are found, it is not a proof.

Exhaustive testing is impossible

When we say testing everything we mean that testing all combinations of inputs and preconditions is not feasible except for trivial cases. Instead of exhaustive testing, we use the risk and properties to focus the testing efforts.

Early Testing

Testing is an activity that should start as early as possible in the software or system development life cycle and the focus should be on defined objectives.

Defect Clustering

Even the small number of modules contain the most defects discovered during prerelease testing or show the most operational failures.

Pesticide Paradox

During testing if similar tests are repeated again and again then eventually the same set of test cases will no longer find any new bugs, In order to overcome this "Pesticide Paradox" the test cases need to be regularly reviewed and revised so that new and various types of tests can be written to exercise various parts of the software system to potentially find more defects.

Testing is context dependent

Testing as a process is done differently depending on the context of testing the software. For example a safety critical software is tested differently from an e-commerce site.

Absence-of-errors fallacy:

If we talk about finding and fixing defects then it may not help if the system built is unusable and doesn't fulfill the user's needs and expectations.

Objectives of testing

Identify Defects.
Ensures the correctness of the product.
Quality improvement of the product.
To ensure that the software works according to the specifications.
To reduce the failure cost.
To reduce the risk .
To build confidence into the software as a product.

Test Team Hierarchy

dig1.jpg


Similar Articles