You are on page 1of 10

7 Principles of Testing

in
Software Engineering
Subscribe Us
Youtube.com/SoftwareEngineering

/SoftwareEngineeringYT

@iMrHammad
1 -Exhaustive testing is not possible :
Exhaustive testing means considering all the aspects and elements of the
software to test which is not possible, No matter how much efforts you make
to test a software completely few parts of it remain untested and show their
impact after getting into the production.

Example :
There is text input field in a software which accepts values from 1 to 1000 you
may check its validation by giving it some random values in the range but It
would not be possible for you to check the field on every single value
between 1 to 1000. Still few values may remain untested.
2 - Testing Shows Presence of Defects:
The goal of the testing is to show the presence of the defects not resolve
them or not to make the application defect free, The best testing is something
which is able to find and show the maximum number of the defects in the
software, No matter how much best testing you perform still a small amount
of bugs will be there when your software will go into the production
environment.
3 - Early Testing:
Always try to introduce the testing in the early stages of software
development if you introduce the testing to the project after completing it
and just before pushing it into the development environment it, Defects at
that stage would cost you so much to fix.

Example :
When you start building a house it is better to resolve the issues on the paper
plan or on prototype removing the walls from the constructed house and
making the new on some other locations to change the size of the rooms and
etc will cost you much more.
4 - Defect Clustering :

It state that the small area of a project may contains the most of the error in
the project let say 20% of the code in the project will be causing the issues in
the 80% of the software so it is best to find and focus on that 20% area.
5 - Pesticide Paradox :
This principal says repeating the same test case over and over again will not
help you to find a new bug, You have to see things from the different
perspective to get new defects in the product.

Example :
It is same like spray of same pesticides killing medicines again and again on
crops will not help you to kill pesticides on the crops as they will start
developing immune system again that medicine.
6 - Testing is Context dependent :
You can't test every application with the same approaches of the testing it
depends on what kind of software you are testing.

Example:
If you are testing a management system of a grocery store the approach to
test it will be different from the approach you use for a banking software. You
can't use the same parameters everywhere.
7 - Absence of Error :

Even your software is 99% bug free it may still be unusable if it doesn't
addressing the business requirements properly so it is important to address
the business requirements and testers should have early involvement as per
principal number 3 to keep an eye if the software meets the requirements or
not.
To get all these slides in PDF visit
www.iamhammadmaqbool.com
Thank You
Please Subscribe the channel

You might also like