Generally, functional testing is black-box meaning the internal program structure is ignored (unlike for white-box testing).
[2] Sometimes, functional testing is a quality assurance (QA) process.
Functional testing verifies a program by checking it against design document(s) or specification(s), while acceptance testing validates a program by checking it against the published user or system requirements.
[5] In fixture testing, while ICT fixtures test each individual component on a PCB, functional test fixtures assess the entire board's functionality by applying power and verifying that the system operates correctly.
[6] Types Functional testing includes but is not limited to:[1] Functional testing typically involves six steps[citation needed]