Tuesday, 2 October 2012

SOFTWARE TESTING

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.