There are some testing Axioms they are:
It is Impossible to Test a Program Completely
There may be a large number of possible inputs.
There may be a large number of possible outputs.
There may be different paths to design a software based on users requirements.
It is completely based on specifications of the software.
Software Testing is One of the Risk Based Exercise
If you test the software completely it increases the cost for testing
If you leave some aspects in the testing there may be chances of occurring of errors
If your skipped part has errors it may cause a risk these risks includes:
Financial loss,security loss,money loss or loss of a life! We can't predict the type of risk.
If you test too little of the software,the probability of software failure may increase.
Software testing takes so much time.
Testing cannot show the absence of bugs
We can't guarantee that a software has not bugs
In every software there may be minute bugs that may be visible or invisible.
Can you guarantee that there are no bugs?
The more bugs you find ,the more bugs there are
May be programmers sometimes have bad days
If you try to fix one bug,there may be chances of gettings some other bugs
Usually programmers make some mistakes in overflow that may lead to new bugs.
We will take care of these things when you are testing a software.