Click here to Skip to main content
15,886,806 members
Articles / DevOps / Testing

Black Box Testing, Its Advantages and Disadvantages

Rate me:
Please Sign up or sign in to vote.
1.34/5 (47 votes)
25 Jun 2010CPOL2 min read 185.1K   6   10
The advantages and disadvantages of black box testing

Black Box Testing is a testing technique where no knowledge of the internal functionality and structure of the system is available. This testing technique treats the system as a black box or closed box. The tester only knows the formal inputs and expected outputs, but does not know how the program actually arrives at those outputs. As a result, all testing must be based on functional specifications. For this reason black box testing is also considered to be functional testing and is also a form of behavioral testing or opaque box testing or simply closed box testing. Although black box testing is behavioral testing, behavioral test design is slightly different from black box test design because internal knowledge may be available in behavioral testing.

Advantages of Black Box Testing

  • Efficient when used on large systems.
  • SInce the tester and developer are independent of each other, testing is balanced and unprejudiced.
  • Tester can be non-technical.
  • There is no need for the tester to have detailed functional knowledge of system.
  • Tests will be done from an end user's point of view, because the end user should accept the system. (This testing technique is sometimes also called Acceptance testing.)
  • Testing helps to identify vagueness and contradictions in functional specifications.
  • Test cases can be designed as soon as the functional specifications are complete.

Disadvantages of Black Box Testing

  • Test cases are challenging to design without having clear functional specifications.
  • It is difficult to identify tricky inputs if the test cases are not developed based on specifications.
  • It is difficult to identify all possible inputs in limited testing time. As a result, writing test cases may be slow and difficult.
  • There are chances of having unidentified paths during the testing process.
  • There is a high probability of repeating tests already performed by the programmer.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Web Developer
India India
Hi
I am from South India (Hyderabad). Basically I am lover of mathematics which made me to enter computer field. I started learning computer sciences with language B.B.C Basic.
Later I changed my track to C, C++ and Java.

Comments and Discussions

 
Generalvery good Pin
Anonymous6-Apr-05 19:34
Anonymous6-Apr-05 19:34 
GeneralSuggestions and comments Pin
Andrew Peace4-Dec-03 2:10
Andrew Peace4-Dec-03 2:10 
Firstly, this is NOT a flame and I will refuse to reply to anyone who treats it as such.

Here are some points to consider:

1. A CodeProject article is a piece of technical writing, and there is nothing worse in technical writing than a piece that contradicts itself; consider the statements "Hence tester tests the system based on the functional specifications given to him" and "It is difficult to identify tricky inputs, if the test cases are not developed based on specifications." - the first comment implies that the test cases shouldn't be based on anything other than the specification (which is pretty much true), the second implies this might not be the case.

2. "Chances of having repetition of tests that are already done by programmer" - surely this is quite often true regardless of whether black-box, white-box or some other testing paradigm is being employed, and not always a disadvantage either given the complexity of application state data, generally?

3. So you've told us what the advantages are of black box testing, but not given us any idea of how it might be implemented - maybe you could add to the article describing how it could be applied in a production environment?

4. "Tester will only know the formal inputs and projected results" - they will know the actual inputs too, as defined in the test cases. Maybe I'm misunderstanding this point?

5. Black box testing is different to acceptance testing - you wouldn't give an end user a COM module to test, for instance. Acceptance testing is performed from an end-user perspective, this is often not the case in black-box testing.

6. CP has a CSS for formatting in articles. I feel much happier looking at an article that fits with the site design than one that doesn't - please allow it to be used by using <h2>, <h3>... tags rather than <big>...</big>.

I would refer you (and indeed anyone else wanting to write CP articles) to Marc Clifton's "A Guide To Writing Articles For Code Project[^]" - he makes some excellent, well articulated points.

I hope you find these comments useful,

--
Andrew.
Generalincredible Pin
Mark Focas4-Dec-03 2:00
Mark Focas4-Dec-03 2:00 
GeneralGreat... Pin
Ray Hayes4-Dec-03 1:09
Ray Hayes4-Dec-03 1:09 
GeneralRe: Great... Pin
Anonymous4-Dec-03 1:21
Anonymous4-Dec-03 1:21 
GeneralRe: Great... Pin
Anonymous4-Dec-03 1:27
Anonymous4-Dec-03 1:27 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.