Sunday, September 11, 2011

White box & Black box testing.

White box testing:

White box testing is when the tester has access to the internal data structures and algorithms including the code that implement these.

Also known as glass box, structural, clear box and open box testing.

Knowledge of the internal workings of the item being tested are used to select the test data.

The test is accurate only if the tester knows what the program is supposed to do.

For a complete software examination, both white box and black box tests are required.

White box testing is used in three of the six basic types of testing: unit, integration, and regression testing.

Unit testing is done on a small piece, or unit, of code. This unit is usually a class. When a unit is integrated into the main code base, it is more difficult to find a bug in that unit. That's why it's done in separate. Integration testing looks at how all components of an application interact.

Regression testing verifies that modifications to the system have not damaged the whole of the system. Unit tests and integration tests can be rerun in regression testing to verify that modifications to the application work properly.

The goal of white box testing is to cover testing as many of the statements, decision point, and branches in the code base as possible.

Black box testing:

Black box testing treats the software as a "black box"—without any knowledge of internal implementation.

Unlike black box testing, white box testing uses specific knowledge of programming code to examine outputs.

Black box testing is a software testing techniques in which
functionality of the software under test (SUT) is tested without looking
at the internal code structure, implementation details and knowledge of
internal paths of the software.This type of testing is based entirely on
the software requirements and specifications.


Black box testing - StepsHere are the generic steps followed to carry out any type of Black Box Testing.

1.Initially requirements and specifications of the system are examined.2.Tester chooses valid inputs (positive test scenario) to check whether SUT processes them correctly . Also some invalid inputs (negative test scenario) are chosen to verify that the SUT is able to detect them.3.Tester determines expected outputs for all those inputs.4.Software tester constructs test cases with the selected inputs.5.The test cases are executed.6.Software tester compares the actual outputs with the expected outputs.7.Defects if any are fixed and re-tested.

Types of Black Box Testing

There are many types of Black Box Testing but following are the prominent ones -
1.Functional testing – This black box testing type is related to functional requirements of a system; it is done by software testers.
2.Non-functional testing – This type of black box testing is not related to testing of a specific functionality , but non-functional requirements such as performance.
3.Regression testing – Regression testing is done after code fixes , upgrades or any other system maintenance to check the new code has not affected the existing code.

For Functional/ Regression Tests you can use - QTP

lack Box Testing and Software Development Life Cycle (SDLC)

Black box testing has its own life cycle called Software Test Life Cycle (STLC) and it is relative to every stage of Software Development Life Cycle.
1)Requirement – This is the initial stage of SDLC and in this stage requirement is gathered. Software testers also take part in this stage.
2)Test Planning & Analysis – Testing Types applicable to the project are determined. A Test Plan is created which determines possible project risks and their mitigation.
3)Design – In this stage Test cases/scripts are created on the basis of software requirement documents
4)Test Execution- In this stage Test Cases prepared are executed. Bugs if any are fixed and re-tested.

Gray Box Testing:

Involves having knowledge of internal data structures and algorithms for purposes of designing the test cases,but testing at the user, or black-box level. Gray Box Testing is a software testing method which is a combination of Black Box Testing method and White Box Testing method.In Gray Box Testing, the internal structure is partially known. Gray Box Testing is named so because the software program, in the eyes of the tester is like a gray/semi-transparent box; inside which one can partially see.

4 comments:

  1. Hello Rajneesh,
    The informative Article on White box & Black box testing. is very good . It give detail information about it .Thanks for Sharing the information on Testing types like Black box and white Box testing.Software Testing Services

    ReplyDelete
  2. Really nice topics you had discussed above. I am much impressed. Thank you for providing this nice information here.

    Software Testing Company

    QA Services

    Game Testing Companies

    Console Game Testing

    ReplyDelete