0% found this document useful (0 votes)
57 views3 pages

Principles of Software Testing - Mangesh Sir

The document outlines 7 principles of software testing: 1. Testing shows presence of defects, not absence. Exhaustive testing of all combinations is not possible. Early testing is important. 2. Defects often cluster in a small number of modules. The pesticide paradox means reusing the same test cases won't find new defects. 3. Testing must be tailored to the context like banking vs games. The absence of errors found does not mean absence of errors overall.

Uploaded by

akshay
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)
57 views3 pages

Principles of Software Testing - Mangesh Sir

The document outlines 7 principles of software testing: 1. Testing shows presence of defects, not absence. Exhaustive testing of all combinations is not possible. Early testing is important. 2. Defects often cluster in a small number of modules. The pesticide paradox means reusing the same test cases won't find new defects. 3. Testing must be tailored to the context like banking vs games. The absence of errors found does not mean absence of errors overall.

Uploaded by

akshay
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/ 3

Principles of Software Testing

There are 7 Principles of Software Testing

1. Testing shows presence of defect


2. Exhaustive testing is not possible
3. Early testing
4. Defect clustering
5. Pesticide paradox
6. Testing is context dependent
7. Absence of error fallacy

1. Testing shows presence of defect


 Testing an application can only reveal that one or more defects exist in the application
ex. web application, desktop & mobile
 Therefore, it is important to design test cases which find as many defects as possible
 Tester validates application to make sure that an application is defect free
 Primary aim of the testing is to identify with the help of various techniques &
methods. Testing should be traceable to the customer requirement
 By performing testing we can reduce defects

2. Exhaustive testing is not possible


 To test all the modules & their features with various possible combination of input &
precondition is not possible
 Ex.
Restaurant billing
GST
500=? 1000=? 1500=? 2000=?
 It is not possible to test all possible combinations of data & scenarios
 So, instead of this, teams, PO & SM should prioritize testing based on the risk
analysis to the product & business
3. Early testing
 Testing activities should be started in the early stage of SDLC
 It is not necessary to develop the software for the testing
 It is required document only based on this we have to design a test cases

4. Defect clustering
 We can detect number of defects, which are correlated to the small number of modules.
i.e. small number of modules contain most of the defects in the software Ex. Sign Up
So, there can be various reasons of it
1. Module can be complicated
2. Coding can be complex
 According to the pareto principle, 80% complication is present in 20% of the modules

5. Pesticide paradox
 If we are executing the same set of test cases again & again then we will not able to
identify/find new defect
 So, to get over this pesticide paradox, we need to review TC frequently & new &
different TC need to be written
 Ex.
Application 1 Version - design some set of test cases
Application 4 version - you also use same test cases
You have not got the more defect

Version 1 Whatsapp Version 4


Updated test cases

IoS 8 IoS 9

Android Lollypop Android 6.1 Marshmallow


6. Testing is context dependent

 We have number of domains/fields for ex. banking, telecom, e-commerce, & healthcare
etc. so, there is a definite way to test these application & it is based on need, functionality
& features
 So, to validates these application we need to take help of various testing technique,
approaches & methods
 Ex.
Testing medical software Testing Gaming Software
Proper calculation in medical Gaming working on hardware
Reliable calculation particular RAM
Small decimal point in drugs are PC is hang or not
Create more problem
E-commerce website Traveling website
Different approach Different approach

7. Absence of error fallacy

 If software/application/system is unstable (or does not fulfill the customer requirement)


then it does not matter how many defect are found and fixed- it is still unstable

You might also like