[go: up one dir, main page]

0% found this document useful (0 votes)
23 views9 pages

7 Principles of Software Testing

The document outlines seven key principles of software testing, emphasizing the importance of identifying defects, the impossibility of exhaustive testing, and the necessity of early testing. It highlights concepts such as defect clustering, the pesticide paradox, context-dependent testing, and the absence of errors fallacy, stressing that software must meet user requirements. Overall, it advocates for strategic and varied testing approaches to enhance software quality.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
23 views9 pages

7 Principles of Software Testing

The document outlines seven key principles of software testing, emphasizing the importance of identifying defects, the impossibility of exhaustive testing, and the necessity of early testing. It highlights concepts such as defect clustering, the pesticide paradox, context-dependent testing, and the absence of errors fallacy, stressing that software must meet user requirements. Overall, it advocates for strategic and varied testing approaches to enhance software quality.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 9

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

You might also like