0% found this document useful (0 votes)
6 views

Principles in software testing

The document outlines key principles of software testing, emphasizing that testing aims to identify defects and that achieving 100% defect-free software is impossible. It discusses concepts such as the impracticality of exhaustive testing, the importance of early testing to reduce costs, and the phenomenon of defect clustering where a small number of modules contain most defects. Additionally, it highlights the need for context-dependent testing and the absence of errors fallacy, which states that software must meet user requirements, not just be bug-free.

Uploaded by

joyvinod09
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
6 views

Principles in software testing

The document outlines key principles of software testing, emphasizing that testing aims to identify defects and that achieving 100% defect-free software is impossible. It discusses concepts such as the impracticality of exhaustive testing, the importance of early testing to reduce costs, and the phenomenon of defect clustering where a small number of modules contain most defects. Additionally, it highlights the need for context-dependent testing and the absence of errors fallacy, which states that software must meet user requirements, not just be bug-free.

Uploaded by

joyvinod09
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 8

Principles in

software testing
Ganapati Bhat
Testing shows the presence of
defects
• Goal of the software testing is to make software fail.
• 100 percent defect free software not possible
• Number of defects reduces from testing
Exhaustive testing is not
possible:
• Exhaustive testing is impossible means the software can
never test at every test case. It can test only some test
cases and assume that the software is correct and it will
produce the correct output in every test case
• If the software will test every test case then it will take
more cost, effort, etc., which is impractical.
Early Testing
• The defect detected in the early phases of SDLC will be
very less expensive. For better performance of software,
software testing will start at the initial phase i.e. testing
will perform at the requirement analysis phase.
Defect clustering
• In a project, a small number of modules can contain
most of the defects. Pareto Principle to software testing
state that 80% of software defect comes from 20% of
modules.
Pesticide paradox
• Repeating the same test cases, again and again, will not
find new bugs. So it is necessary to review the test
cases and add or update test cases to find new bugs.
Testing is context-dependent
• The testing approach depends on the context of the
software developed. Different types of software need to
perform different types of testing. For example, The
testing of the e-commerce site is different from the
testing of the Android application.
Absence of errors fallacy
• If a built software is 99% bug-free but it does not follow
the user requirement then it is unusable. It is not only
necessary that software is 99% bug-free but it is also
mandatory to fulfill all the customer requirements.

You might also like