SEVEN PRINCIPLES
OF SOFTWARE
TESTING
- Mamunur Rashid (CSE 10,IUT)
Software testing procedures are modernized
day by day. Some basic principles of testing
have also been set. These principles can be
said as a basic guideline for both, testing and
coding based on theoretical ideas and
practical experience.
7 principles









Testing shows presence of errors
Exhaustive testing is not possible
Early testing
Defect clustering
Fading effectiveness
Testing depends on context
False conclusion: no errors equals usable
system
Testing shows presence of errors



Testing proves the presence of errors
It is important to design test cases which find
defects as many as possible.
Exhaustive testing is not possible




It is impossible to test all possible
combinations of input cases, data and
sceneries.
Risk and priorities are used to concentrated on
the most important aspects of testing.
Early testing




Prepare testing for each level of development
cycle i.e. it’s important to test early and
regularly.
When defects are found earlier in the lifecycle,
they are much easier and cheaper to fix these.
Defect clustering






There is no equal distribution of errors within
one test object.
The place where one error occurs, it’s likely to
find some more.
It’s more like 80-20 Pareto Principle.i.e.20
percent of the defects causing 80 percent of
the problems.
Fading effectiveness




Same test won’t work for long time (Pesticide
Paradox).
When any modification is done, the regression
testing is necessary.
Testing depends on context


Different methods, techniques, types of testing
is related to the type and nature of application.
False conclusion: no errors equals
usable system





Absence of error fallacy.
Just because testing didn’t find any defect in
the software doesn’t mean the software is
ready to be shipped.
User requirements should be matched.

Principles of Software testing

  • 1.
    SEVEN PRINCIPLES OF SOFTWARE TESTING -Mamunur Rashid (CSE 10,IUT)
  • 2.
    Software testing proceduresare modernized day by day. Some basic principles of testing have also been set. These principles can be said as a basic guideline for both, testing and coding based on theoretical ideas and practical experience.
  • 3.
    7 principles        Testing showspresence of errors Exhaustive testing is not possible Early testing Defect clustering Fading effectiveness Testing depends on context False conclusion: no errors equals usable system
  • 4.
    Testing shows presenceof errors   Testing proves the presence of errors It is important to design test cases which find defects as many as possible.
  • 5.
    Exhaustive testing isnot possible   It is impossible to test all possible combinations of input cases, data and sceneries. Risk and priorities are used to concentrated on the most important aspects of testing.
  • 6.
    Early testing   Prepare testingfor each level of development cycle i.e. it’s important to test early and regularly. When defects are found earlier in the lifecycle, they are much easier and cheaper to fix these.
  • 7.
    Defect clustering    There isno equal distribution of errors within one test object. The place where one error occurs, it’s likely to find some more. It’s more like 80-20 Pareto Principle.i.e.20 percent of the defects causing 80 percent of the problems.
  • 8.
    Fading effectiveness   Same testwon’t work for long time (Pesticide Paradox). When any modification is done, the regression testing is necessary.
  • 9.
    Testing depends oncontext  Different methods, techniques, types of testing is related to the type and nature of application.
  • 10.
    False conclusion: noerrors equals usable system    Absence of error fallacy. Just because testing didn’t find any defect in the software doesn’t mean the software is ready to be shipped. User requirements should be matched.