As it was mentioned in the first part of the article Black Box Testing is testing without knowledge of the internal workings of the item being tested.
It means that when black box testing is applied to software engineering, the tester would only know the “legal” inputs and what the expected result should be, but not how the program actually arrives at those results.
Because of this that black box testing can be supposed testing with deference to the specifications, no need for other knowledge of the program.
So software tester and the programmer can be independent of one another. Test groups are often used for this type of testing.
According to the nature of black box testing, the test planning can start as early as the specifications are written.
The contrary of this would be glass box testing, where test data are derived from direct examination of the code to be tested. For glass box testing, the test cases cannot be determined until the code has been written.
Both of these types of testing have benefits and shortcomings, but when they are used in complex, they help to ensure thorough testing of the software product.