Functional Testing - What Why How

12 Nov 2020
Functional Testing - What Why How
What is Functional Testing?

Functional Testing, at its basic level, is used to determine if the user-facing functions of a system perform correctly. It’s less concerned about back-end processing and more about outcomes: does a user get the expected result when interacting with the system? As such, Functional Testing is typically done manually, by human testers, but can also include a certain degree of automation.

Why is Functional Testing important?

Unlike testing that concerns itself with non-functional aspects of a system, Functional Testing ensures a system meets all of a client’s requirements. Functional testers take into account different aspects of how a system functions in the context of the system as a whole, knowing where to look for weak points, and how to make sure the system functions logically from a user perspective. This requires at least some level of human intuition and training, which is why it is more often than not a manual process.

How is Functional Testing done?

Following a similar pattern of discovery to other types of testing, Functional Testing is usually a linear process that takes into account:

  • Identifying the test parameters and data
  • Calculating expected outcomes based on the identified data
  • Running test cases of typical system functions, based on client requirements
  • Comparing the actual data to expected data
  • Taking next steps to rectify any issues, or noting successful tests.
When should you do Functional Testing?

Functional Testing will only succeed if it aligns with the rest of the business in terms of strategy, values and fundamentals. It is most effective as part of a broader testing strategy that includes Test Automation, Exploratory Testing and Performance Testing, making sure every aspect of a system or software works as intended on the front-end, back-end, and through expected and unexpected conditions.

While Functional Testing doesn’t require quite as much coding knowledge as more automated forms of testing, it can still be done using industry standard open source tools like Selenium, which is similarly used for different types of testing, including Test Automation.

Nadine Heasman

Test Lead

Nadine Heasman is a versatile and results-oriented team player with an energetic and articulate approach to software testing. She has a strong drive to see test deliverables through to completion, whilst maintaining a focus on quality engineering. Her testing career began in the UK at AXA where she observed the value of having a transparent, lean, customer focused work culture. Operating effectively and efficiently is important to her and she enjoys identifying and implementing methods to save time, resources and money.


Linkedin

Join the conversation on LinkedIn
Connect with our experts and read the latest industry insights on our dedicated LinkedIn page.