Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Should black box or white box testing be the emphasis for testers?

Which type of testing would you say should be the emphasis (for testers/QAs), and why?

A quick set of definitions from wikipedia:

Black box testing

  • takes an external perspective of the test object to derive test cases. These tests can be functional or non-functional, though usually functional. The test designer selects valid and invalid input and determines the correct output. There is no knowledge of the test object's internal structure.

White box testing

  • uses an internal perspective of the system to design test cases based on internal structure. It requires programming skills to identify all paths through the software. The tester chooses test case inputs to exercise paths through the code and determines the appropriate outputs. In electrical hardware testing, every node in a circuit may be probed and measured; an example is in-circuit testing (ICT).

Just to clarify a bit more, I realize that both are important, but, usually, they are separate between dev and QA.

Is internal knowledge important for the tester/QA? I've heard arguments that testing with this knowledge in mind enables them to better test for problems, but I've also heard arguments that this knowledge can distract from functional needs and promote "testing to the code" rather than to the intended solution.

like image 743
TM. Avatar asked Dec 31 '08 02:12

TM.


People also ask

Do testers do white box testing?

In Black box testing, we perform testing without seeing the internal system code, but in WBT we do see and test the internal code. White box testing technique is used by both the developers as well as testers.

Which is more important black box or white box testing?

Which is “better” – white or black box testing? Neither – they are both necessary and complementary. Early white box testing assures code functionality and makes later, higher level testing less time intensive. Thorough black box testing enhances end user experience.

What does the tester do in black box testing?

A tester provides an input, and observes the output generated by the system under test. This makes it possible to identify how the system responds to expected and unexpected user actions, its response time, usability issues and reliability issues.


2 Answers

  • Black box testing should be the emphasis for testers/QA.
  • White box testing should be the emphasis for developers (i.e. unit tests).
  • The other folks who answered this question seemed to have interpreted the question as Which is more important, white box testing or black box testing. I, too, believe that they are both important but you might want to check out this IEEE article which claims that white box testing is more important.
like image 73
Glenn Avatar answered Sep 23 '22 11:09

Glenn


White Box Testing equals Software Unit Test. The developer or a development level tester (e.g. another developer) ensures that the code he has written is working properly according to the detailed level requirements before integrating it in the system.

Black Box Testing equals Integration Testing. The tester ensures that the system works according to the requirements on a functional level.

Both test approaches are equally important in my opinion.

A thorough unit test will catch defects in the development stage and not after the software has been integrated into the system. A system level black box test will ensure all software modules behave correctly when integrated together. A unit test in the development stage would not catch these defects since modules are usually developed independent from each other.

like image 34
cschol Avatar answered Sep 19 '22 11:09

cschol