Black Box Testing is a method of testing software, where you will conduct a test without having a good understanding about the internal code structure or any other implementation details. You will just be focusing on the input to the system and output that you receive from the system for testing. In other words, black box testing is driven by specifications and requirements of software.
For example, assume that you want to test a login page of a website. Your inputs will be username, password, and forget your password link. You will not know how these functionalities are programmed. You just focus on the outcome that you get as you execute your test cases.
Even though black box testing sounds simple, there is an approach to follow and get your work done. You should begin with understanding software requirement and specifications. Then you will need to select valid inputs. Based on the understanding you have about the system; you can determine the output for desired inputs. Upon writing test cases for it, you can execute them. Then you can compare the results you got with the desired results. This will eventually help you to locate defects and raise bugs.
When it comes to agile software development, you can discover three main types of testing. They include functional testing, non-functional testing, and regression testing. Likewise, there are numerous techniques that you can follow for black box testing as well. If you want to minimize the total number of test cases, you can proceed with equivalence class testing. Or else, you can take a look at decision table testing, where you evaluate causes and results in a matrix, or try boundary value testing, where you focus on the values at boundaries. If understanding code is not a must, you may take a look at black box testing.
— Slimane Zouggari