|
|
| Software Testing >>
FAQ's >>
Why does software have bugs? |
•
Communication Gap – A communication gap results in the
specifications not being clear or ambiguous so the
software purpose is hard to identify and define.
• Software complexity – Software may be complex enough
to be unable to be understood without the existence of a
detailed specifications requirement document or some
report that defines what the customer needs. The
technological advancements have resulted in the
development of software which is highly complex in
nature, involving multiple tiers, client server and
distributed applications etc..
• Errors in Programming – Since programmers are also
human beings, they can also make some mistakes during
their work.
• Continually changing requirements – Since the end
users are unaware of the resultant work a programmer has
to do if a single requirement changes from the
customer’s end, he/she can request a change at any time
during the development process which may prove
problematic to the developers and their overall software
development workflow. These changes may require
redesigning of the overall software architecture,
rescheduling of the programmers, working in late night
shifts, removing the currently done work and replacing
with new work, integrating the existing and newly
created code, which is certainly going to create
problems. In such situations, the management should
understand that the result can be risky, and the QA and
testing staff should be highly prepared to identify
errors and bugs in the software because of changing
requirements. At the same time, the software has to be
delivered on time so the planning of the processes
should be in control as well. When the work is more than
that can be completed in a given timeframe, errors and
issues are going to occur.
E.g. people usually say things like:
'it is not a problem for me'
'very easy'
'I can finish it up in a few hours'
'it should be easy to modify the old code'
instead of:
'That would add a bit of complexity and we will have to
analyze it before working on it'
'I’m not sure whether we can be able to do that in
current situations, but if we can, we would'
'I cant say how much time it should take without having
a look at it first'
'There is much time needed to understand the old code
and then modify it'
• If people make vague statements instead of concrete
sentences, bugs are sure to exist.
• Poor documentation of code – If the code is illegible,
not well indented, confusing and mixed up in the page,
the result is bugs. No firms provide their coders
special incentives to create code that is easy to
understand and maintain, even though it is a very
important aspect of good coding. But many firms give
their coders incentives to code faster, and the
programmers write up the code the way no one else can
understand to keep their jobs secure in the firm.
Sometimes, the components or tools used in the software
development process e.g. class libraries, visual and
scripting tools etc. introduce their own bugs or are
poorly documented, which increases the chance of having
more bugs in your application.
|
| Sponsored Links: |
|
|
| << back |
|
|
|