Back

Why automate functional testing?

Image Slider

March 7, 2019

By Florent M. - TheExpert, Technical Manager of the Digital Factory Squad

Faster, higher quality, and broader in scope than manual testing, functional test automation has everything to appeal to IT developers in order to deliver a quality product under the best conditions.

But what exactly is a functional test?


To put it simply, a functional test is a formal description of a product's behavior, expressed in the form of a scenario. The set of scenarios, replayed upon delivery of a product, validate that it is functioning properly.

In concrete terms, in the case of a mobile application, a functional test will test all of its features: does the registration module work? Can users unsubscribe? Does navigation between the different uses work? The main idea isto mimic the behavior of a user when they are exploring the features.

Functional testing is the final link in the logical chain of tests that validate the quality of a product. It complements unit testing and integration testing. Functional tests verify that the product works properly in a context close to production.

Why automate functional testing?

Faced with an ever-increasing number of products (applications, websites, etc.), it is important to save time and increase profitability in production. There are four main reasons for automating functional testing:

  • Test automation improves execution speed.
  • In addition to being faster, they enable shorter and more frequent delivery, which fits in perfectly with Agile and DevOps methods. Indeed, automation, due to its frequency, naturally increases TTM (Time To Market, or the time it takes for an idea to become a usable feature).
  • Automationimproves test quality and coverage, particularly in the case of continuous updates to the product being tested. This allows regressions that would have been missed in previous tests to be detected as early as possible.
  • Finally, and this is the whole point of automation: the method reduces costs in theory, since the machine replaces the human eye.

Who automates testing?

In an Agile team, the QA manager must be autonomous in carrying out their tests. There is a growing tendency to also ask them to create automation scripts that will be integrated into a CI/CD chain.

What tools are available for automating web functional testing?

A multitude of frameworks are available to cover other contexts: mobile applications, heavy clients, and web services. We will focus on tools for testing web applications.

Various solutions are available on the market, differing in terms of both functionality and cost. Depending on the product to be tested, the most suitable tool will naturally be chosen.

HP QTP; IBM RFT; Silk Test or Selenium... Today, there are many different test automation solutions, each with its own specific features.

Test automation solution features

It should be noted, however, that since the very idea behind functional test automation is to reduce costs, Selenium, which is open source, offers a wide range of uses with a zero-cost license.