Black-Box White-Box Software testing
Written by Edvin Eshagh   

Both Black-Box and White-Box software testing strategies have their strength and weaknesses.  Each requires specific implementation strategy to maximize testing efforts.

BLACK-BOX TESTING

Black box testing is concerned with testing the software interfaces; where the tester has no knowledge or does not consider the internals of the software system.

 

  • Using "boundary equivalence class" testing is a great strategy for black-box testing. 
  • Smoke testing can be considered blackbox testing because it is used as acceptance test before the "main" testing. 1 
  • Static tests (test that are not involved with running code) such as requirement analysis and design review are considered considered black-box testing because the tester does not know about the details of the software implementation. 2 
  • Test Driven Development are black box testing, because you write your test without seeing the internals of the code. See also white-box testing.5 
WHITE-BOX TESTING

White-Box testers take note of the internals of the software implementation and adjust their tests accordingly.

  • In addition to code-review, walkthrough, and inspections there are other strategies for white-box testing which involves understanding the internals of the system. Other examples of white-box testing is "structured index", where the tester uses a tool that provides the cyclomatic (complexity) index to better focus his/her efforts. 3 
  • Another example of white-box testing is statement/line coverage, branch coverage (path testing), and condition coverage. 4 
  • Unit testing are also white-box testing because you can focus on testing the internal of software. 5 

[1] http://en.wikipedia.org/wiki/Acceptance_testing

[2] Barry Boehm & Victor R. Basili. "Software Defect Reduction Top 10 List". University Of Southern California

[3] Introduction to Structured Testing." HISSA. Web. 26 Sept. 2011.http://hissa.ncsl.nist.gov/HHRFdata/Artifacts/ITLdoc/235/chapter1.htm

[4] Patton, Ron. "Software Testing (2nd Edition) (9780672327988)

[5] http://agiletesting.blogspot.com/2005/08/white-box-vs-black-box-testing.html