3 Functional Testing Examples
  by Jake  

What is Functional Testing?

The official definition of functional testing is:

Testing software based on its functional requirements to ensure that it works the way it was intended and all required menu options are present.

Yikes. That's a bit vague. But basically - functional tests assert that your whole website works as it should, while unit tests just focus on discrete individual pieces of code.

Functional Testing Examples

Let's say that you run an e-commerce site called 'Socks that Rock', and you sell all sorts of crazy socks. Here are some examples of functional tests you'd want to run regularly:

Search for 'wool' Open-ended search is one of the hardest website features to implement and test (why do you think Google is so rich?). From a customer's perspective, typing a niche request into a box and getting exactly the right product is a delightful experience. Seeing 'Nothing matches your query' is enough to bounce a fickle visitor. Given the complexity of search algorithms (which often require integrating a database and a search index on the backend), it's crucial to test that your search is functional. On 'Socks that Rock', you could start your test by typing 'wool' into the search box. Then you could confirm that the search results include the best wool socks money can buy.

Filter by size Often built as an appendage to search, filtering is another mission-critical tool for your sock-searching visitors. Even the best wool socks aren't worth a dime if they don't fit. After you've tested that your wool sock search functionality works, test that visitors can filter by clicking 'XXL' and confirming that all the filtered results would fit a Sasquatch.

Purchase a pair It ain't over 'til the money's in the bank. And all the search and filter functionality in the world doesn't do you any good if the checkout process is broken. On many websites, it's a bit tricky to test the actual purchasing flow. Obviously, you'll want to use a sandbox environment so that you're not actually charging a credit card while you test. Credit Card forms are long, and people often mistype a number or two. Testing that your checkout flow has intuitive and helpful error messages can save a frustrated visitor from abandoning their cart.

Hopefully, these examples helped you gain an understanding of functional testing, even if you don't sell 'Socks that Rock'.