

The answer is relatively simple: non-functional testing is concerned with how, and functional testing is concerned with what.
#Functional testing software
What is the key difference between non-functional software testing and functional testing? Functional testing usually describes what the system does.”įunctional tests answer the fundamental question: Do the features work as intended? Functional tests are not answering the question of HOW it works internally, but rather WHAT the result should be. Functional testing is conducted to evaluate the compliance of a system or component with specified functional requirements. Functions are tested by feeding them input and examining the output, and internal program structure is rarely considered (unlike white-box testing). For example, the definition found on Wikipedia is:įunctional testing is a quality assurance (QA) process and a type of black-box testing that bases its test cases on the specifications of the software component under test. There are many definitions of functional testing. You can find an introduction to the TestContainers library in my previous article Integration tests with Testcontainers, because that is out of the scope of this one. Then, we will discuss an example based on the TestContainers library used in the Spring environment. We will follow the idea of functional tests: the main concept and the attributes of a good functional test. In this article, I will show how teams at Zalando Marketing Services are using functional tests.
