Software testing by Unify

Functional Testing

Functional Testing

Functional testing ensures that code functions work with the expected behaviour for a given input.

Functional testing must be against a reference point to ensure a pass or fail. Example of this are requirements or user story acceptance criteria.

Traditionally, test scenarios and cases were written using pre-requisite (data set up), steps (actions taken) and expected outcome (results). More recently, test have become more lightweight written in a Given, When, Then format (‘Gherkin Syntax’) – which lends itself more to automation of functional test cases.


Examples of functional test phases include:

Smoke Testing

  • Focused on the most critical core flows of the system to make sure further testing effort can be justified. It will be automated where possible and can be executed every time there is a change, for example, a new build deployed to the test environment.


System Integration Testing

  • With the objective to understand the changes and assess and test the impacts on the interfaced systems. Integration can be tested using mocking agents or stubs where a test system does not exist. Automation can be used where appropriate, to provide a more effective release cycle. It is also an objective of this test phase to make sure all data has been transferred and is stored correctly as per requirements.


Regression Testing

  • The creation of a business-focused regression pack, automated where possible; executed in a risk- and priority-based order. As new functionality passes testing and is released, the test scripts will be reviewed and incorporated to the regression pack. It is essential that the regression pack is managed so it remains relevant, reliable, maintainable and automated where appropriate.

If you would like to know more about our functional testing services, contact the Unify team here.


Get in touch with us today to discuss your requirements.

+44 (0)114 399 2820

[email protected]

Get in touch