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

Principle of Software Testing

The 7 principles of software testing are: 1) testing shows presence of defects not absence, 2) exhaustive testing is impossible, 3) early testing is most effective, 4) most defects cluster in a few modules, 5) repeating the same test cases finds fewer bugs over time, 6) testing type depends on the software context, and 7) absence of errors does not guarantee requirements fulfillment.
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
83 views

Principle of Software Testing

The 7 principles of software testing are: 1) testing shows presence of defects not absence, 2) exhaustive testing is impossible, 3) early testing is most effective, 4) most defects cluster in a few modules, 5) repeating the same test cases finds fewer bugs over time, 6) testing type depends on the software context, and 7) absence of errors does not guarantee requirements fulfillment.
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 10

7 principles of software testing

7 principles of software testing:

 Testing shows a presence of defects


 Exhaustive testing is not possible
 Early testing
 Defect clustering
 Pesticide paradox
 Testing in context-dependent
 Absence of errors fallacy
Testing shows a presence of defects:

 The goal of software testing is do make the software fail.


 Software testing reduces the presence of defects.
 Software testing talks about presence of defects and doesn’t talk about the absence of
defects.
 Software testing can ensure that defects are present but it cannot prove that software is
defect-free.
 Even multiple testing can never ensure that software is 100% bug free
 Testing can reduces the number of defects but not remove all defects.
Exhaustive testing is not possible:

 Testing the functionality of software in all possible inputs(valid or invalid) and


precondition is known as exhaustive testing.
 Exhaustive testing is impossible means the software can never test at every test case.
 It can test only some test cases and assumes that the software is correct and it will produce
correct output in every test case.
 If the software will test every test case that it will take more cost, effort , etc and which
is impractical.
Early testing:

 To find the defect in the software , early test activity shall be started.
 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 module can contain most of defects.


 Pareto principle to software testing state that 80% of software defects 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 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 that it is
unusable.
 It is not only necessary the software is 99% bug-free but it is also mandatory to fulfill all
the customer requirements.
END

You might also like