A. What is Functional Testing:
Testing an application against the business requirements is called as Functional Testing. The goal of functional testing is to verify that the application is behaving the way it was designed to.
Functional testing ensures that your software is ready for release to the public. It also verifies that all the specified requirements have been incorporated.
There are two major categories of functional testing:
- Positive Functional Testing
- Negative Functional Testing.
A.1 What is Positive Functional Testing:
It involves inputting valid inputs to see how the application responds to these. It is the testing done to determine if the outputs are correct.
A.2 What is Negative Functional Testing:
Negative functional testing involves using different invalid inputs, unanticipated operating conditions and other invalid operations
B. What is Non- Functional Testing:
While functional testing is concerned about business requirements, non-functional testing is designed to figure out if your product will provide a good user experience. For example, non-functional tests are used to determine how fast the product responds to a request or how long it takes to do an action.
C. What is the Difference:
The major difference between functional and non-functional testing is this: Functional testing ensures that your product meets customer and business requirements, and doesn’t have any major bugs. On the other hand, non-functional testing wants to see if the product stands up to the customer expectations.
Basically, functional testing is designed to determine that the application’s features and operations perform the way they should. Non-functional testing wants to know whether the product “behaves” correctly.
D. What are the types of Functional Testing:
- Unit Testing
- Smoke testing
- Sanity testing
- Integration Testing
- Interface Testing
- System Testing
- Regression Testing
E. What are the types of Non-Functional Testing:
- Load/Performance Testing
- Compatibility Testing
- Localization Testing
- Security Testing
- Reliability Testing
- Stress Testing
- Usability Testing
- Compliance Testing