“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
“… 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…”
Why software Testing?
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
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.
Software Bug: A Formal Definition
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:
- The software doesn’t do something that the product specification says it
- should do.
- The software does something that the product specification says it shouldn’t
- The software does something that the product specification doesn’t mention.
- The software doesn’t do something that the product specification doesn’t
- mention but should.
- 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.
What exactly does Software Tester Do? (Or Role of Tester)
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
“The goal of Software Tester is to find bugs”
As a software tester you shouldn’t be content at just finding bugs, you should think about
how to find them sooner in the development process, thus making them cheaper to fix.
“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”