Software Testing is not about - just - finding bugs. Certainly it is important to catch them. But, at the end of the day, the most important aspect is to have a useful software for your end-user. Business is about having customers consuming your product, right?
So, always keep in mind that when you are testing (or building) software, some functionally can look obvious to you or to how you use it, but not to the end-user.
What is black box?
It is a system that produces results without the user being able to see or understand how it works. - Cambridge Dictionary
In a testing perspective, it serves us to check how an app works from a non-technical end-user point of view, so basically, how a user is actually USING it or how it was SUPPOSED to be used.
Decision table testing
A technique that captures various input data combinations and their corresponding behaviors in a tabular format.
Let's consider authorization of user when entering e-mail and password.
| Correct e-mail | Correct password | Message |
|---|---|---|
| Yes | Yes | Success |
| Yes | No | Incorrect password |
| No | Yes | Incorrect e-mail |
| No | No | Incorrect credentials |
This is a conditions table, which helps covering all the possible cases.
Some others include: State transition testing, exploratory testing and guessing.
Conclusion
This pretty much covers the essential parts of a black-box testing and its implementation. Please feel free to add any comments and correct me if necessary.
SOCIAL SHARE CARD GENERATOR