One of the fundamental stages in a software development project is the Testing & QA phase, which allows us to identify potential flaws in the design, usability, security and more aspects. It also allows to know the performance of each function of the software and / or application, its components and features.
 
What is Functional Testing?
Its objective is based on checking if the development functionalities were carried out following the specifications and requirements of the client, as well as their initial needs. In this way the possible failures of the previous phases are detected.
In every functional testing process we usually find:

  • Smoke Testing.
  • Unit Testing.
  • Integration Testing.
  • Regression Testing.
  • User Acceptance.
  • Localization.

What is Non-Functional Testing?
Evaluate the way in which a development and / or application operates, focusing on its attributes and quality. Ensuring a good user experience, beyond the functionalities that it should have.
The most common types of Non-Functional Testing are:

  • Volume Testing.
  • Performance Testing.
  • Usability Testing.
  • Scalability Testing.
  • Stress Testing.
  • Load Testing.
  • Portability Testing.
  • Compliance Testing.
  • Disaster Recovery Testing.

Summary
As we mentioned previously, the Testing phase is becoming increasingly important in Software Development, not only for allowing companies to launch their developments and applications without errors or problems, but also for increasing the quality of their software by solving the most common frictions that users encounters, helping to develop innovative ways to increasingly improve the end user experience.