There are two fundamental approaches to building test suites - Blackbox and Whitebox.

Blackbox testing (functional testing)

Blackbox testing is testing of software system exclusively based on their specifications, the tester cannot see the source code of the program being tested. It is also called functional testing, or specification based testing. It covers as much specified behaviours as possible. It cannot reveal false due to implementation details.

The basic criticism of blackbox testing is that it is very difficult to test for unspecified behaviours.

Test design

You design test cases based on functional requirements. The focus here is to ensure that test cases fulfill the client or your requirements. This is fundamentally independent of the implementation. That is, it is a blackbox process.

Whitebox testing

Whitebox testing is testing of software systems based on the structure of the code. It is hence also called structural testing. The basic idea is the knowledge of the internal implementation of a system is necessary to test it effectively, it covers as much coded behaviour as possible.

The basic criticism of whitebox testing is that it can only test implemented code. It cannot reveal unimplemented behaviours.

Test evaluation

When you evaluate the effectiveness of test cases, the focus is on finding bugs. That is, the main focus here is not whether tests fulfill specification, but rather, whether the tests contain bugs in its implementation. That is, it is a whitebox or clearbox or glassbox process.


Back to parent page: Software Testing

Web_and_App_Development Software_Testing Software_Validation SOFT3202 Blackbox_Testing Whitebox_Testing Functional_Testing