What is functional testing? is functional testing different from regression testing? I have heard the term functional testing in many different types, some use it for thorough testing part while others say functional testing is same as regression.

I have searched many sites but there is a lots of mismatch in these.

  • Check this out guru99.com. There is no mismatch. Commented Nov 25, 2016 at 5:20
  • @MuhammadAliKhamis i am aware of these different websites, but as i had written in my question, different websites shows different opinions about this. that's why i am here.
    – Keshav
    Commented Nov 25, 2016 at 5:23

2 Answers 2


Functional & Regression Testing:

  • Functional Testing is carried out to verify whether implemented function or feature is working as specs or as expected?
  • Functional testing is having scope limited to targeted feature and functionality testing
  • Regression Testing is carried out when bug fixes happens, features has been added in old product and that product we are planning to deploy.
  • Regression testing result helps to ensure after bug fixes and addition of new features are working as expected + at the same time previously developed features are also working well
  • Scope of regression testing is very wide and huge. It includes end to end testing of the product
  • 1
    That's what i was looking for, thats alot man
    – Keshav
    Commented Nov 25, 2016 at 6:19

Depending on where you look, you'll get slightly different answers.

Functional Testing :

Testing the features and operational behavior of a product to ensure that the application is developed correspond to its specifications and requirements.

Testing that ignores the internal mechanism of a system or component and focuses solely on the outputs generated in response to selected inputs and execution conditions.
Functional tests check a particular feature for correctness by comparing the results for a given input against the specification. Functional tests don't concern themselves with intermediate results or side-effects, just the result (they don't care that after doing x, object y has state z). They are written to test part of the specification such as, "calling function Square(x) with the argument of 2 returns 4".

Regression Testing:

"A regression test re-runs previous tests against the changed software to ensure that the changes made in the current software do not affect the functionality of the existing software."

Regression is surely a check against the newly deployed code/or a release deployment happened where we just make sure it has no other impacts (ex: in terms of code, functionalities, output and the behavior of the application) and therefore we ensure that deployment has been smooth.


Not the answer you're looking for? Browse other questions tagged or ask your own question.