Testing shows presence of bugs-if bug is found well and good.If bug is not found ,it doesn’t mean system is error free.It means whole application is not tested properly or bug is waiting for some very specific conditions ot show up like Y2K problem.So we have to design more test cases
Exhuastive Testing is impossible-
It is impossible to test all possible data combinations.Testing all possible data combinations is called Exhaustive testing.
Ex if a input field accepts age between 18-25 tot test the field we don't need to enter all possible integers values -32767 to +32767 which comes out to be 65535 values.
We can even try combination of special characters like $ ,alphabets etc.
We can even try special circumstancfes like dragging and dropping values etc.So it is impossible to test all possible combinations of data.So risk anlasyis is use to prioritise and focus on important parts of data.
Early Testing is very effective. Testing at requirement gathering stage is called reviewing. Cost increases if error is found at later stages in Testing.
Testers should join Sdlc as soon as docs are drafted.so testing should start as early as possible.
Effective Testing-A good testing should find as many defects as possible. A test that found no defects has consumed lots of resources but added no value at all. To make testing effective, we use test design techniques that were proven over time.
Defect clustering-A large no of defect are present in a small no of modules of application. Here are many reasons for this-
System is complex
Volatile code
Developer staff inexperience
Effects of some change
Defect Clustering is based on Pareto Principle(80/20).It states that 80 percent of defect are found in 20 percent of Modules.
It means testers should concentrate on those Modules to find max bugs.It also means testes should also concentrate in other modules as fewer dects are present there as well.
Pesticide Paradox-If same tests are repeated over and over again they will no longer find defects .So test cases need to be reviewed and revised regularly to find more defects.
Testing is context dependent-Different types of applications are tested differently.Ex static sites are tested different than dynamic websites.
Risk can be large factor in determining the type of testing needed.
Absence of error fallacy-If no errors are found it doesn’t always means that system meets user reqs and we can ship it.We can do performance testing,Uat etc as well.
Absence of error fallacy-If no erores are found it doesn’t always means that system meets user reqs and we can ship it.We can do performance testing,UAt etc as well.