DEV Community

Saša Zejnilović
Saša Zejnilović

Posted on


Black Box Testing Misconceptions

After some time in QA and being a self-proclaimed SDET, I have seen that there are a lot of misconceptions regarding testing. You can see articles all around the net with "Regression testing vs Retesting", "Performance Done Right", and other similar, but I have not seen one that adequately addresses Black Box Testing.

From my experience Black Box Testing is seen as something that can be done quickly, or with unskilled people. Some would label it as cheap while providing a lot of feedback. Let's break this down.

The easier misconception to disprove is "it is cheap". That goes totally against the basic testing pyramid. Black box testing is done after you have some user interface, CLI or GUI, whatever you want to throw at the users. This means your integration could be garbage, and your supporting code could be garbage, but for some reason, it just worked together, until a user sat behind it. Now when something goes wrong, there is a chance you will have to dig really deep into your underlying code to make it work, and this could also break the integration with other modules. This seems so expensive to me, but then again, I am not a manger.

The second misconception is about it "being easy". I am not saying black box testing is one of the more complex types of testing, but I am sure it is not as ignorance-based, as some would think. Yes, you can throw a team of 20 people on a UI and tell them to go nuts, but does this actually bring the most value out of it? In my experience, proper black box testing profits when the people setting it up are knowledgable about the business use cases and issues, and when they understand the users. Give a tester a one on one with a user, let them chat, see what happens. Another thing that would be good for the testers is to understand the technology and configurations of the system under tests, what is some other software that this software will interact with, and what are the expectations for the data flow.

I hope this clears it up a bit. If I was not clear enough in everything I said, comment below and I will correct myself ASAP.

Good luck and happy coding!

Top comments (0)