7
Principles
of
Software
Testing
@moolyaed
1
Testing shows the
presence of defects
Testing is crucial to find & fix software defects.
It aims to unwrap the unknown bugs, meets
customer expectations & prevent failures.
Though it reduces bugs, it doesn’t guarantee
100% bug-free software.
@moolyaed
2
Exhaustive Testing
is not possible
Exhaustive testing= Testing with every possible
input & pre-condition.
That’s not possible with the product timeline!
Instead, we perform optimal testing– selecting
strategically a set of test cases & conditions to
maximize bug detention.
3 Early Testing
The testing should begin as early as possible
in the software development process.
Like the requirement analysis stage.
It helps catch bugs early and saves time &
costs compared to finding them later.
@moolyaed
4 Defect Clustering
Finding a lot of bugs in just a few parts of the software.
Those parts may be more complicated or have more
complex code.
It’s like the Pareto Principle– around 80% of the
problems come from just 20% of the parts.
It is also called the 80/20 rule or the law of the vital few.
5
Pesticide
Paradox
If we keep using the same tests over and over, they
won’t find new bugs!
Test cases should be reviewed regularly. We also
need to write new & different tests for different parts
of the software.
This helps us find more bugs and improve the quality.
6
Testing is context-
dependent
Each application has its own unique needs,
features, and functions.
The tests for e-commerce platforms and
healthcare platforms can’t be the same.
So, testing varies based on the specific application
we’re working on.
7
Absence of errors
fallacy
Software that is bug-free by 99% is useless if it
doesn’t meet the user’s requirements.
Hence, the product must meet the user’s
requirements.
This requires careful design, development, and
thorough testing of the software to ensure that its
functionality and quality meet user expectations.
Follow us to learn software testing!
t h i s f o r L a t e r
Save