Information Technology Reference
In-Depth Information
In Chapter 11, we introduce a new concept of commoditizing software testing
service. If this concept can be devised, refined, and finally implemented, it can
provide tremendous cost savings to customers.
1.. Causes of Defects in Software
But why does the software industry still find it difficult to produce defect-free soft-
ware? Well, there are many reasons for it. Software does not have a physical form
that can be seen, and defects can be found during conception, design, or build. The
factors that can induce defects in the software products are too numerous to list
here. For instance, all the internal and external parts of the software are made up of
small parts of software or, in other words, a set of instructions. Internal defects are
bound to exist in some of these thousands of sets of instructions inside a big soft-
ware product so that at the complete software level the number of defects could run
in the thousands. There is one more source of defects apart from internal defects.
Software is made up of modules, and modules are made up of submodules. These
modules and submodules are integrated with each other through their interfaces.
Even if the data gets passed through these interfaces during transaction execution,
it is not the right data passing through these interfaces. For example, suppose there
is a module for product master list and product names are being fetched using this
module from other modules. This is done through a mechanism of product code
lists that are matched in both modules (product master module and the other mod-
ule that wants to display product names). Due to the mismatching of product list,
it is possible that wrong product names are being displayed. Thus we have a genuine
functional error here.
Now let us see a list of causes that introduce defects in software:
Miscommunication or no communication
—Software specification or
requirements are not understood by the project team due to miscommunica-
tion or no communication among the project team.
Software complexity
—Software applications are getting more complex due
to an increase in complexity in requirements. This complexity leads to more
defects creeping into the software application. Proliferation of many kinds of
software applications with diverse technology backbones also leads to com-
plexity of software applications. Multitiered applications, client-server and
distributed applications, data communications, enormous relational data-
bases, and the sheer size of applications have all contributed to the exponen-
tial growth in software/system complexity.
Programming errors
—If design specifications are not understood by pro-
grammers or if programmers make mistakes in programming structures or
implement any design wrongly by mistake, then defects will be introduced
in the software.
Search WWH ::




Custom Search