Definitions of Software Testing
·
It is the process of Creating,
Implementing and Evaluating tests.
·
Testing measures software quality
·
Testing can find faults. When they are removed, software quality is
improved.
·
Testing is executing a program with
an indent of finding Error/Fault and Failure.
·
IEEE
Terminology : An examination of the behavior of
the program by executing on sample data sets.
Importance of Software Testing
·
To discover defects.
·
To avoid user detecting problems
·
To prove that the software has no faults
·
To learn about the reliability of the software.
·
To avoid being sued by customers
·
To ensure that product works as user expected.
·
To stay in business
·
To detect defects early, which helps in reducing
the cost of defect fixing?
Black Box Testing
What is Black Box Testing?
·
Test the correctness of the
functionality with the help of Inputs and Outputs.
·
User doesn’t require the knowledge
of software code.
·
Black box testing is also called as
Functionality Testing.
It attempts to find errors in the following categories:
·
Incorrect or missing functions.
·
Interface errors.
·
Errors in data structures or
external data base access.
·
Behavior or performance based
errors.
·
Initialization or termination
errors.
White Box Testing
What is White Box Testing?
·
Testing the Internal program logic
·
White box testing is also called as
Structural testing.
·
User does require the knowledge of
software code.
Purpose of white box testing
·
Testing all loops
·
Testing Basis paths
·
Testing conditional statements
·
Testing data structures
·
Testing Logic Errors
·
Testing Incorrect assumptions
Gray Box Testing
What is Gray Box Testing?
·
It is just a combination of both
Black box & white box testing.
·
It is platform independent and
language independent.
·
Used to test embedded systems.
·
Functionality and behavioral parts
are tested.
·
Tester should have the knowledge of
both the internals and externals of the function
·
If you know something about how the
product works on the inside, you can test it better from the outside.
Gray box
testing is especially important with Web and Internet applications, because the
Internet is built around loosely integrated components that connect via
relatively well-defined interfaces. Unless you understand the architecture of
the Net, your testing will be skin deep.