Functional Testing

Functional testing (feature testing) is a testing method that verifies system behavior in terms of specific features or use cases. It covers a broader scope than unit testing, confirming that multiple modules work together correctly.
Between Unit Tests and E2E Tests
Functional tests occupy the middle layer of the test pyramid. While unit tests guarantee correctness at the function level and E2E tests verify the behavior of the entire system, functional tests validate "the result of a single user action."
For example, a functional test for "creating an employee" runs through the entire flow from invoking the server action, through validation, saving to the DB, and returning the response. However, launching a browser is not required; it is executed via HTTP request simulation or direct server action calls.
The Boundaries of Functional Tests
The scope of "a single feature" can easily become ambiguous, but the criterion is simple. One server action call or one API endpoint call corresponds to one functional test. Chains of multiple actions — such as "create department → create job type → create employee" — are classified as integration tests.
Differences from Acceptance Tests
Functional tests verify from a developer's perspective whether "the implementation conforms to the specification." Acceptance tests verify from a business perspective whether "the requirements are met." Even when validating the same operation, the viewpoint of verification and the level of granularity in description differ.
Related Terms

No-Code/Low-Code Development
No-code/low-code development is a development approach that minimizes the need for programming exper

E2E Test
E2E testing (End-to-End testing) is a testing methodology that simulates user interactions to drive

Acceptance Testing
Acceptance testing is a testing method that verifies whether developed features meet business requir

SSM (AWS Systems Manager)
AWS Systems Manager (SSM) is an AWS managed service for centrally operating and managing EC2 instanc