FUNCTIONAL TESTING is a type of software testing (or a group of software testing types) whereby the system is tested against the functional requirements/ specifications. This is in contrast to non-functional testing which focuses on other software attributes like usability, performance, security and compliance.
ISTQB Definition
- functional testing: Testing performed to evaluate if a component or system satisfies functional requirements.
Elaboration
Functions (or features) are tested by feeding them input and examining the output. Functional testing ensures that the requirements are properly satisfied by the application. This type of testing is not concerned with how processing occurs, but rather, with the results of processing. It simulates actual system usage but does not make any system structure assumptions. It is based on client’s requirements (as opposed to client’s expectations in Non-Functional Testing). For example, a client might require that a financial report be generated. It tests WHAT the software does (As opposed to HOW the software does).
Levels
Functional Testing is done during all levels of testing.
Methods
Functional Testing normally uses the Black Box Testing method in which the internal logic of the system being tested is not known to the tester.
Types
Functional Testing, as a group of testing types, includes the following tests:
- Smoke Testing
- Functional Testing (Also known as Feature Testing)
- Confirmation Testing
- Regression Testing
Note
Functional testing is more effective when the test conditions are created directly from user/ business requirements. When test conditions are created from the system documentation (system requirements/ design documents), the defects in that documentation will not be detected through testing and this may be the cause of end-users’ wrath when they finally use the software.
.
Want to get CERTIFIED?
Learn about the most acclaimed SOFTWARE TESTING CERTIFICATIONS.
.
Last Updated on September 7, 2020 by STF