What is Functional Testing?

As per ISTQB definition, testing performed to evaluate if a component or system satisfies functional requirements.  

Every functionality of the application will be tested based on the specified business requirements.  This can be achieved by doing verification and validation with the defined requirements. In simple words, it will be like you have to test it by giving various inputs and with the combination of scenarios.  Functional testing will cover the aspects of compatibility, localization, integration with other systems etc. 

The testing can be done either by manually or by automation.

An example of functional testing is to validate the place order functionality is working or not in an ecommerce website.

Types of Functional Testing

The types of Functional Testing are :

  • Smoke Testing
  • Sanity Testing
  • Regression Testing
  • Integration Testing
  • User Acceptance Testing
  • Localization Testing

The below picture shows the functional testing types.

functional Testing

We are going to see the functional testing types in brief:

Smoke Testing

Smoke testing will be conducted when a new build is received and to confirm the core workflow is working fine without any functionality broken.

Sanity Testing

Sanity testing will be conducted when a new build is received to quickly checking the new functionality is working roughly within a short period of time. 

Regression Testing

Regression testing will be conducted after the bug fixing of the first round of testing.  This helps to confirm the bug fixes working as expected as well as the other parts of the application does not break because of this bug fixes.

Integration Testing

Integration testing will be conducted when an application is interacting with multiple components.  In the process it should work like a single unit at the end after integration seamlessly..

User Acceptance Testing

User acceptance testing will be conducted usually by the business analyst /customer(End user).  It will be conducted before the product launch 

Localization Testing

Localization testing will be conducted when the application/system supports multiple languages. Since each language has it’s font, the functional/compatibility issues may arise.

What is Non-Functional Testing?

Non-functional testing performed to evaluate the system satisfies the other non-functional aspects performance, scalability, usability, reliability. 

An example of non-functional testing is how many people can place order simultaneously in an ecommerce website.

Types of Non-Functional Testing

The types of Non-Functional Testing are :

  • Performance Testing
  • Compliance Testing
  • Compatibility Testing
  • Usability Testing
  • Security Testing

The below picture shows the non-functional testing types:

Non-Functional testing

Performance Testing

Performance testing is conducted to confirm how many users can access the system concurrently.  For example, how many people can play orders concurrently in the ecommerce site.

Compliance Testing

Compliance Testing is conducted to verify and validate the application is adhere to the organization standards as well as the other compliance standards like PCI, GDPR, ADA. It ensures to verify these standards are followed in the application.

Compatibility Testing

Compatibility Testing is conducted to confirm the application is working as expected in various platforms, browsers and mobile devices. In this digital age this plays a vital role to attract more users to your application.

Usability Testing

Usability Testing is conducted to identify how intuitively the system works for the end user.

Security Testing

Security Testing is conducted to identify the threats, malicious attacks to the application over the internet. 

Functional testing is conducted before Non-Functional Testing.  We have briefly seen about the types of Functional Testing as well as Non-Functional Testing. Next we are going to see the differences about Functional Testing Vs Non-Functional Testing.

Functional Testing Vs Non-Functional Testing

Functional Testing Vs Non-Functional Testing

I hope this blog helps to understand about functional testing and non-functional testing as well as the differences between them.




Ready to Write an Interesting blog in QA Touch?


If you have an interesting blog post you would want to share with the Testing Community, please forward it to info@qatouch.com along with your picture and a short bio. Our editorial team will review and publish it.

Subscribe to our blog

Bhavani R

Bhavani R

Bhavani, Product Manager at DCKAP hold Certified Software Test Manager and Six Sigma Green Belt. Have a passion for testing and learning, as well as implementing and mentoring the latest automation tools. Testing Guild 2018 conference speaker and a frequent blogger. Manage a fast-growing, dynamic group bringing you https://www.qatouch.com.

Leave a Reply

avatar