Functional Testing Vs Non-Functional Testing


Question to All, Whether “Like” Button of this post Is Working?  → This check is called Functional Testing.

How long it takes to Highlight "Like" in Screen? → This check is called Non Functional Testing.


Let us see in detail what is Functional and Non Functional testing and its differences.


Functional Testing:

Functional Testing is the Software Testing that checks the Actions of Software as per Requirements. The Goal is to check whether the software is functionally fit .



Non Functional Testing :

Non Functional Testing is the software Testing that checks the speed, usability, performance, security and compliance of Software. In Simple words, checking other than Functional requirements.


Non Functional Testing must execute only after Functional Testing passed , Because, if software is functionally inappropriate then it will not make any logic to verify its non functional parameters such as performances, speed , usability , etc.,


In many cases, preferred Automated Non functional testing since manually verifying speed, time  are very tedious. 


Differences:


                      


Functional Testing

Non-Functional Testing

“What” 

“How Well” 

Functional Testing is the Testing of “what” the system should do.

Non-functional testing is the testing of “how well” the system behaves.

Based on User Requirement(Functional Requirements)


Based on User Satisfaction/Expectation(Non Functional Requirements).


Functional Testing each function/features of the software based on user-story board/ requirements/design

Non-Functional Testing is based on performance, reliability, robustness of the system/software.

Validate the Software Requirements

Validate the Performance of the software

Easy to Define Functional Requirements

Hard to Define Non Functional Requirements

Functional Testing Requirement are gathered from the customer storyboard

Non-Function Testing Requirements are gathered by having the conversation with customer 1:1 (one to one) understanding the expectation of the system/design to satisfy their expectation on the system performance. (Durability, reliability, time management, accuracy, robustness, security, reusability etc)

It can Measured Easily as Pass/Fail.

It can Measured with Scale or Intervals called  KPI’s → Key Performance Indicators

FT : It can be done manually or automatically

NFT : It is more feasible to carry this out validation by using automatically/ or/ special automatic tools used to validate. 

It need continuous attention to check this performance

Eg: Any one of the computer application

PowerPoint

  1. Having required features like New slide, open, save, save As, template adding etc.

Eg: Any one of the computer application

PowerPoint

  1. How much time it take to open the application when user click that app

  2. What is the time rate of saving when we press Ctrl+S → within nanoseconds or taking more time to do the task its performance

  3. If the app is lagged how much time it taking to recover by itself (or)

  4. Users need to use Task Manager to Kill the app to recover from hanging.

Comments