Black Box Testing goes by a lot of names – Opaque Testing, Functional Testing, Behavioral Testing and Closed Box Testing. And, while “testing” is in the name, black box testing is not testing, it’s a strategy. Better yet, it’s a method. A testing method used for testing the requirements and functionality of software without knowledge of the internal structure. This means the tester has no prior understanding of the database structure, programming language, server, etc. that makes up the software.
The reason it’s called Black Box Testing is because besides inputting and comparing data, the tester has no idea what the program does to arrive at the output data. The tester simply enters data into the software and compares the outcome with the expected results. Think of it as a metaphor. It’s essentially a black box that has functions on the outside, which you can see and test, but what lies beyond that (into the darkness, if you will) is unknown.
In other words, testing using the black box testing method serves to understand the behavior of the functions being tested, rather than the system itself. Additionally, it’s important that the tester thinks like the user so that they truly know how the software should behave in response to a particular action. For example, if a certain button is clicked, the tester should be familiar with the requirements and know what effect it should cause.
There are many testing types that can be used with the black box testing method, but the best way to determine which one to use is by breaking them into two groups: (1) test types where the user is the tester and (2) where there is no user.
Examples of tests where the user is the tester include:
- User Acceptance testing (UAT)
- Beta testing
- Alpha testing
Examples of tests where there are no users include:
- Usability testing
- Recovery testing
- Volume testing
- Smoke testing
- Load testing
- Functional testing
- Ad-hoc testing
Since black box testing isn’t concerned with code, one benefit of using this method is that test cases can be created as soon as specifications are complete. This allows testers to find issues between the system and the specifications quickly. Another advantage is that your testers don’t have to actually be technically inclined, allowing you to employ outside help, tools and even others within your organization.
Typical black box testing methods used by testers include:
- Equivalence class partitioning
- Decision table testing
- Cause-effects graphs
- Boundary value analysis
- Error guessing
Above is a short introduction to the black box testing method. We’ve detailed a bit about what it is, why it’s used, who uses it and how it’s used. There is still more to know, though, when it comes to black box testing, so check in next week, as we’ll dig deeper into the different black box testing methods used by testers.