Does functional testing also fall into White-Box testing?

I have met diffrent explanations of the topic and I am still confused abut it.

Is functional testing only part of Black-Box testing?
Or it can also fall under White-Box testing and be performed on its levels - such as Unit Testing and Integration Testing ?

Best regards

1 Like

Software Testing Breaks off into either Functional or Non-Functional Testing. Functional then can break off into Unit, Acceptation, Integration, and System Testing. Then from Unit Testing breaks into White Box and Gorilla Testing.

1 Like

Thank you for your answer.

I understand it way, that we have:

  • Black-Box testing (which doesn’t involve internal structure of program),
  • White-Box (which relies on internal logic).

Functional / non-functional / regression falls under the Black-Box.
Functional testing - verifying functionality of a system according to a specification.

Besides that, there are 4 levels of testing: Unit, Integration, System, Acceptance testing - at which we can either perform Black-Box or White-Box testing.

So I would consider that we can perform:

  1. White-Box testing on: Unit/Integration testing levels.
  2. Black-Box testing on: Integration, System, Accceptance testing levels.

And the question is - if we execute unit/integration tests, from code level perspective (white-box), can those tests be also considered as functional in some cases? (we provide some input data, and verify the output in accordance to some expected result).

Sorry if I misunderstood the concept or something is not clear.

There are multiple explanations so it really depends on the context you wish to use the term.

For example I want to investigate how the system functions under a heavy user load or a DDos. For my they are both functional testing for others they see these as non-functional testing, hence a bit of confusion.

True black box testing is rare these days, most testers know to make an effort to know what’s under the hood so for me it would be hard to see how you could do the exact same testing and only your personal knowledge determines the difference whether its functional testing or not.


Basically, stakeholders don’t care about Black/White/NonFunctional work that you have to just do anyway. So we don’t use that language often. Moreover, Functional Testing is what most testers do 90% of their time. Confusion comes in when we realize than Nonfunctional testing, Stress Testing, Security (penetration) and Static analysis are also types of testing, but they get lumped often wrongly as “Non-Functional” into that one basket.

Because of this communication vacuum, we just don’t use these terms, but instead use terms that describe the value some work brings, or the workflow pattern instead. Stakeholders want to know that you spent time for example arranging some UAT testing, or time doing browser compatibility testing. 90% of the time stakeholders only want to know if you did regression testing.