Page 28 - SOFTWARE TESTING & QUALITY ASSURANCE
P. 28
Unit 2: Fundamentals of Software Testing
Axiom 4
The more bugs you find, the more bugs there are.
Bugs in real life and bugs in software are very much alike. They come in groups and when you happen
to accidentally notice one of them, there are possibilities of finding another one very soon. Most often a
tester finds a bug only after long hours of testing, and when he/she encounters one of the bugs, he/she
would soon find another one too.
The reason for finding bugs at frequent intervals could be due to programmer’s errors, where mistakes
often are repeated or different programmers handling a module may have different habits of coding.
Bugs are considered to be the tip of the ice berg but can cause huge problems to architecture of the
software. However, the inverse of the same is also very true. If you do not find a bug, it is clear that
there are indeed no bugs and that the software has indeed been written well.
Axiom 5
Not all bugs found will be fixed.
The reality about software testing is that, in spite of all the effort put in to find a bug, it might not be
fixed. Hence, it is required that software testers to have good judgmental skills and make trade-offs,
risk-based decisions for every bug they find.
The reasons why all bugs cannot be fixed are:
(a) There’s Not Enough Time: Every project has several software features where only few
people are involved in coding and testing and hence it becomes difficult to adhere to
stringent time schedules to complete assigned tasks.
(b) It's Really Not a Bug: A bug found need not be a bug but could turn out to be its
characteristic feature. There are possibilities of mistaking features as bugs.
(c) It's Too Risky to Fix: Most often, it has been found that it is indeed very risky to fix bugs.
One should first fix the bug which might cause other bugs to appear and it is also necessary
to ensure that last moment changes of software do not occur during the release of a
product.
(d) It's Just Not Worth it: Some of the bugs which affect the fringe features are dismissed.
Axiom 6
It is difficult to say when a bug is indeed a bug.
We need to analyze the following:
(a) When a problem in the software is not discovered - is it a bug?
(b) Is it necessary for a bug to be observable?
Did you Know? The bugs which remain undiscovered and exist in a system for over a period of time
may exist for more than one version and there are also possibilities of the bug being
identified after the release. This is known as latent bug. A latent bug does not cause
damage for some time, however; they reveal themselves at a later point of time.
The Y2K problem is the best example of a latent bug. Initially the beginning of
the year was allocated with only two numeric fields, when it actually required
four numeric fields. This problem existed as a latent bug in the system without
causing any damage; however the problem was identified and fixed before the
year 2000.
LOVELY PROFESSIONAL UNIVERSITY 21