Functional Testing vs Non-Functional Testing

    The differences between Functional Testing and Non-Functional Testing are listed below.

    Criteria Functional Testing Non-Functional Testing
    Definition 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. Non-Functional Testing is a group of software testing types whereby the system is tested against the non-functional requirements like usability, performance, security and compliance.
    Basis It is based on client’s requirements. For example, a client might require that a financial report be generated. It is based on client’s expectations. For example, the client may expect that the financial report be generated within five seconds.
    Intent It tests WHAT the software does. It tests HOW the software does.
    Muscle Test execution is normally manual. It is normally automated. (Exception is Usability Testing which must be done manually.)
    Levels Functional Testing is conducted during all levels of Testing: Unit, Integration, System and Acceptance. Non-Functional Testing is normally conducted during System and Acceptance Testing levels.
    Method Normally, Black Box Testing method is used. Normally, White Box Testing method is used. (Exception is Usability Testing where black box testing method is used.)
    Types

    Last Updated on September 7, 2020 by STF