In this post, we discuss Black Box and White Box Testing and types of Black Box and White Box Testing.
Black Box and White Box Testing and It’s types:
BLACK BOX TESTING:
It is also called as Behavioral/Specification-Based/Input-Output Testing
Black Box Testing is a software testing method in which testers evaluate the functionality of the software under test without looking at the internal code structure. This can be applied to every level of software testing such as Unit, Integration, System, and Acceptance Testing.
Testers create test scenarios/cases based on software requirements and specifications. So it is AKA Specification Based Testing.
The tester performs testing only on the functional part of an application to make sure the behavior of the software is as expected. So it is AKA Behavioral Based Testing.
The tester passes input data to make sure whether the actual output matches the expected output. So it is AKA Input-Output Testing.
Check the below video to see “Black Box And White Box Testing”
Black Box Testing Techniques:
Equivalence Partitioning is also known as Equivalence Class Partitioning. In equivalence partitioning, inputs to the software or system are divided into groups that are expected to exhibit similar behavior, so they are likely to be proposed in the same way. Hence selecting one input from each group to design the test cases. Click here to see a detailed post on equivalence partitioning.
Boundary Value Analysis:
Boundary value analysis (BVA) is based on testing the boundary values of valid and invalid partitions. The Behavior at the edge of each equivalence partition is more likely to be incorrect than the behavior within the partition, so boundaries are an area where testing is likely to yield defects. Click here to see a detailed post on boundary value analysis.
The decision Table is aka Cause-Effect Table. This test technique is appropriate for functionalities which has logical relationships between inputs (if-else logic). In the Decision table technique, we deal with combinations of inputs. To identify the test cases with the decision table, we consider conditions and actions. We take conditions as inputs and actions as outputs. Click here to see a detailed post on the decision table.
Using state transition testing, we pick test cases from an application where we need to test different system transitions. We can apply this when an application gives a different output for the same input, depending on what has happened in the earlier state. Click here to see a detailed post on the state transition technique.
Types of Black Box Testing:
In simple words, what the system actually does is functional testing
Learn more on Functional testing here
In simple words, how well the system performs is non-functionality testing
Functional Testing vs Non-Functional Testing:
|Functional Testing||Non-functional Testing|
|What the system actually does is functional testing||How well the system performs is non-functionality testing|
|To ensure that your product meets customer and business requirements and doesn’t have any major bugs||To ensure that the product stands up to customer expectations|
|To verify the accuracy of the software against expected output||To verify the behavior of the software at various load conditions|
|It is performed before non-functional testing||It is performed after functional testing|
|Example of functional test case is to verify the login functionality||Example of non-functional test case is to check whether the homepage is loading in less than 2 seconds|
|Testing types are |
• Unit testing
• Smoke testing
• User Acceptance
• Integration Testing
• Regression testing
|Testing types are
• Performance Testing
• Volume Testing
• Usability Testing
• Load Testing
• Stress Testing
• Compliance Testing
• Portability Testing
• Disaster Recover Testing
|It can be performed either manual or automated way||It can be performed efficiently if automated|
WHITE BOX TESTING:
It is also called as Glass Box, Clear Box, Structural Testing.
White Box Testing is based on the application’s internal code structure. In white-box testing, an internal perspective of the system, as well as programming skills, are used to design test cases. This testing usually is done at the unit level.
White Box Testing Techniques:
- Statement Coverage
- Branch Coverage
- Path Coverage
It makes sure that each line of source code has been executed and tested.
It ensures that every decision (true/false) in the source code has been executed and tested.
It ensures that every possible route through a given part of the code is executed and tested.