Page 12 - SOFTWARE TESTING & QUALITY ASSURANCE
P. 12
Unit 1: Introduction to Software Testing
5. Poor Coding Practices: Poor coding practices such as inefficient use of codes, misspelled
keywords, or incorrect validation of variables will lead to bugs. Sometimes, faulty tools such as
editors, compilers, and debuggers generate wrong codes, which cause errors in the software and
it is difficult to debug such errors.
6. Lack of Skilled Testing: If there are any drawbacks in the testing process of the software, bugs go
unnoticed.
7. Change Requests: If there are last minute changes on requirements, tools, or platform, it could
cause errors and can lead to serious problems in the application.
Browse the web and collect information pertaining to some of the famous bugs
encountered during a project and the reasons for their occurrence.
http://www.wired.com/software/coolapps/news/2005/11/69355
http://www5.in.tum.de/~huckle/bugse.html
http://www.cds.caltech.edu/conferences/1997/vecs/tutorial/Examples/Cases/failur
es.htm
1.2.2 Cost of Bugs
Any bug that exists in the software delivered to the customer can lead to huge financial losses. It will
bring down the reputation of the organization developing the software. In case the bug causes any
damage to life or property of the customer, it can also lead to huge penalty on the organization that
developed the software. Bugs that are detected during the testing stage will take some time to get fixed,
affecting the timeline and increasing the project cost.
If the bugs are detected and fixed at the earliest in the software development life cycle, it can result in
higher return on investment for the organization with respect to time and cost. The cost of fixing a bug
differs depending on the development stage at which it is detected. Let us analyze the impact when
bugs are detected at different stages of project life cycle.
1. Requirement Stage: It would cost the organization some time to rewrite the requirements and can
be easily detected and fixed.
2. Coding Stage: It would make the developer spend some time to debug. However, the time
required to fix the bug will vary depending on the complexity of the bug. A bug detected by the
developer at this stage can be resolved easily, since the developer understands the problem and
will be able to fix it.
3. Integration Stage: It will require more time to be resolved. Since the problem occurs at a higher
level, it requires time to check the part of the code or configuration which is wrong and
additional time to fix the bug. The developer and other system engineers will be involved in
detecting and resolving the bug.
4. Testing Stage: It will involve the developer, system engineer, and project manager for detecting
and resolving the bug. It is an iterative process, which takes a lot of time and effort with respect
to man hours and cost in order to detect and fix the bug. Since the bugs have to be tracked and
prioritized for debugging, it will increase the project cost in terms of man power and tools
required and causes delay in the delivery times as well.
5. Production Stage: It will take huge time and investment for the organization, as it involves
developers, system engineers, project managers, and customers for detecting and resolving the
bug. It demands prioritizing and detailed planning when compared to a bug detected in testing
stage. Such bugs not only cause a huge loss, but also bring down the reputation of the
organization.
A bug found and fixed during the early stages – say, while defining the specification or requirements,
might cost the company a very small amount, for example, consider it to be one rupee per bug. If the
same bug is found during the coding and testing stage, it costs the company reasonably, for example, 10
LOVELY PROFESSIONAL UNIVERSITY 5