Functional Testing vs Non-Functional Testing
Functional and non-functional testing are two distinct categories of software testing, each with its objectives and focus.
1. Functional Testing:
- Purpose: To verify that the software functions correctly and performs its intended tasks as described in the requirements documentation.
- Scope: Functional testing deals with the specific functions or features of the application. Test cases are designed to validate individual components or use points.
- They are testing the login functionality to ensure users can log in with valid credentials.
- I am verifying that the shopping cart in an e-commerce application correctly calculates the total price of selected items.
- Testing that an email application sends and receives emails as expected.
- Pass/Fail Criteria: Functional tests typically have clear pass/fail criteria based on whether the software behaves as specified.
2. Non-Functional Testing:
- Purpose: To evaluate the performance, reliability, usability, and other non-functional attributes of the software.
- Scope: Non-functional testing covers various aspects such as performance, security, scalability, usability, and compatibility across different devices and browsers.
- Load testing to assess how the system performs under heavy concurrent user loads.
- Security testing to identify vulnerabilities and ensure data protection.
- Usability testing to gauge the user-friendliness and user experience of the software.
- Compatibility testing to ensure the software works on various browsers, devices, and operating systems.
- Pass/Fail Criteria: Non-functional testing often involves measuring and bench marking against predefined criteria or standards. For example, response times in performance testing should meet specified thresholds.
In this Software Testing Tutorial, we will learn about the differences between functional testing vs non functional testing. Functional testing in software testing checks functionality or requirements whereas non-functional testing tests the performance of the software application.
Functional testing focuses on user requirements but non-functional testing focus on NFR or user expectation. Watch the complete tutorial to understand the differences between functional and non functional testing.