Functional Testing – Why is Black Box Testing Called Functional?

functional-testingstandardsterminologytheory

This has been bothering me for a while. Security, performance tests etc. are all done typically using the black box approach. But these are nonfunctional,while black box is called functional testing.

Is it because it judges the function and it is just a naming or there is an inconsistency?

References:
Software Engineering by Salleh
Software Engineering and Testing by Gupta, Tayal
Software Engineering by A.A.Puntambekar
Software Testing: a Practical Approach by Sandeep Desai, Abhishek Srivastava

Best Answer

Ok, by a quick google search I found a cite from your first reference:

white box testing techniques are also called structural testing techniques, whereas black-box testing techniques are also called functional testing techniques

I guess you are referring to that. To my understanding the term "functional testing" is used here in a very broad meaning, just to emphasize the difference to "structural testing". From this point of view, "performance" or "security" are also "functions" of a program, since they can be observed by a black-box execution of the program, without knowing details of the source code.

Using the term "functional" in opposition to "non-functional", however, narrows the meaning down to "core functions" or "domain functions". This is a quite different point of view. So if someone speaks about "functional testing", you have to be careful what he might mean and interpret this in relation to the current context.