Tuesday, 1 May 2012

Functional (Black Box) Testing and Structural (White Box) Testing

Functional Part is a software testing approach in which: 
  • This is done by Testers.
  • Functional Testing is also known as Black Box Testing or behavioural testing.
  • The tester will have a user perspective in mind.
  • It focuses on the functional part of the application.
  • He doesn’t know how the program works in back end.
  • He will only concentrate in input and output of the application or product.
  • The tester acts as if he/she is the final user of the program.
On other hand Structural Part, is a software testing approach in which: 
  • Structural Testing is also known as white-box testing or Glass Box testing.
  • The tester will have a developer perspective in mind or this is done by Developer.
  • Sometime tester acts as a developer of the program who knows the internal structure of the program very well.
  • He or she will know how the program works behind the scene, with knowing the Internal Knowledge of the product /Application.
  • Its main focus is on the structural part means in coding/programming part.
  • Structural is mainly focused on internal code whereas functionality is verified with respect to SRS. 
Please also refer below table for more understanding.
Differences between Black Box Testing and White Box Testing:

Criteria
Black Box Testing     
White Box Testing


Definition       
Black Box Testing is a software testing method in which the internal structure/ design/ implementation of the item being tested is NOT known to the tester    
White Box Testing is a software testing method in which the internal structure/ design/ implementation of the item being tested is known to the tester.
Levels Applicable To 
Mainly applicable to higher levels of testing: Acceptance Testing and System Testing
Mainly applicable to lower levels of testing: Unit Testing & Integration Testing
Responsibility
Generally, independent Software Testers        
Generally, Software Developers
Programming Knowledge
Not Required 
Required
Implementation Knowledge
Not Required 
Required
Basis for Test Cases   
Requirement Specifications   
Detail Design

By: Mann Bhammar
       Test Analyst

5 comments:

  1. I just want to add my opinion about white box testing. Tester do the white box testing in some case like doing Descriptive Programming in QTP while they are aiming test work to compatible with different QTP versions, portability and mass update. It's really depend on the ROI (Return on Investment) of specific company's testing method. If tester are using Object Repository(OR) than they don't need to understand the design detail of application. but if they are using it in mixture way of testing than Tester might know some of object in design detail.

    ReplyDelete
    Replies
    1. True....As i have mention that in these case tester will have a developer perspective in mind.

      Delete
  2. Excellent read. Thanks for sharing this valuable information software testing Jobs. Now Indium software hiring Mobile App Testing Engineers (while you can)

    ReplyDelete
  3. Moving on with structural testing; structural testing is the testing of the structure of the software system or the individual component. Testing is frequently alluded to as ‘white box’ or ‘glass box’ or ‘clear-box testing’ on the grounds that in this kind of testing we are keen on what is going on ‘inside the application/system’.
    for more updates: http://crbtech.in/Testing/software-testing-understanding-structural-testing/

    ReplyDelete