Software
testing is a critical element of software quality assurance and represents the
ultimate process to ensure the correctness of the product. The quality product
always enhances the customer confidence in using the product thereby increases
the business economics. In other words, a good quality product means zero
defects, which is derived from a better quality process in testing.
Software
is an integrated set of Program codes, designed logically to implement a
particular function or to automate a particular process. To develop a software
product or project, user needs and constraints must be determined and
explicitly stated. The development process is broadly classified into two.
1.
Product Development
2.
Project Development
Product
development is done assuming a wide range of customers and their needs. This type of development involves customers from
all domains and collecting requirements from many different
environments.
Project Development is done by focusing a particular
customer's need, gathering data
from his environment and bringing out a valid set of information that will help
as a pillar to development process.
Testing
is a necessary stage in the software life cycle: it gives the programmer and
user some sense of correctness, though never "proof of correctness. With
effective testing techniques, software is more easily debugged, less likely to
"break," more "correct", and, in summary, better.
Most
development processes in the IT industry always seem to follow a tight
schedule. Often, these schedules adversely affect the testing process,
resulting in step motherly treatment meted out to the testing process. As a
result, defects accumulate in the application and are overlooked so as to meet
deadlines. The developers convince themselves that the overlooked errors can be
rectified in subsequent releases.
The
definition of testing is not well understood. People use a totally incorrect
definition of the word testing, and that this is the primary cause for
poor program testing.
Testing
the product means adding value to it by raising the quality or reliability of
the product. Raising the reliability of the product means finding and removing
errors. Hence one should not test a product to show that it works; rather, one
should start with the assumption that the program contains errors and then test
the program to find as many of the errors as possible.
“Testing is the process of executing a
program with the intent of finding errors”
Or
“Testing is the process of evaluating
a system by manual or automatic means and verify that it satisfies specified
requirements”
Or
"Testing is the process of exercising or evaluating a system or system
component by manual or automated means to verify that it satisfies specified
requirements or to identify differences / between expected and actual
results..."
Software
testing helps to deliver quality software products that satisfy user’s
requirements, needs and expectations. If done poorly,
Defects are found during
operation,
It results in high
maintenance cost and user dissatisfaction
It may cause mission
failure
Impact on operational
performance and reliability
Some of the case studies
Disney’s Lion King, 1994-1995
In the fall of 1994, Disney Company released its first multimedia CD-ROM game for children, The Lion King Animated storybook. This was Disney’s first venture into the market and it was highly promoted and advertised. Sales were huge. It was “the game to buy” for children that holiday season. What happened, however, was a huge debacle. On December 26, the day after Christmas, Disney’s customer support phones began to ring, and ring, and ring. Soon the phones support technicians were swamped with calls from angry parents with crying children who couldn’t get the software to work. Numerous stories appeared in newspapers and on TV news. This problem later was found out, due to non performance of software testing for all conditions.
Calling any and all software problems bugs may sound simple enough, but doing so hasn’t really addressed the issue. To keep from running in circular definitions, there needs to be a definitive description of what a bug is.
A
software bug occurs when one or more of the following five rules is true:
1)
The software doesn’t do something that the product specification says it should
do.
2)
The software does something that the product specification says it shouldn’t do.
3)
The software does something that the product specification doesn’t mention.
4)
The software doesn’t do something that the product specification doesn’t
mention but should.
5)
The software is difficult to understand, hard to use, slow, or –in the software
tester’s eyes- will be viewed by the end user as just plain not right.
From
the above Examples you have seen how nasty bugs can be and you know what is the
definition of a bug is, and you can think how costly they can be. So main goal
of tester is
“The
goal of Software Tester is to find bugs”
“The
goal of a Software Tester is to find bugs, and find them as early as possible”.
But,
finding bugs early isn’t enough.
“The
goal of a Software Tester is to find bugs, and find them as early as possible
and make sure they get fixed”
No comments:
Post a Comment