Software Testing is a process of testing a software application to verify that it works as expected, satisfies the given requirements, and is without defects.
The primary objective of software testing is to find bugs, flaws, or loopholes in the application before releasing it to customers.
It ensures quality, reliability, performance, and security of the product.
Definition
Software Testing is a verification and validation process that confirms a software or application is performing as anticipated and fulfills the business and technical needs.
The scope refers to how extensive testing activities are carried out during the software lifecycle. It depends upon project type, business requirements, and technology stack.
Here's a classification of the scope:
1. Functional Testing
Verifies that every function of the application performs as expected.
Includes:
Unit Testing
Integration Testing
System Testing
User Acceptance Testing (UAT)
2. Non-Functional Testing
Aim is performance, security, usability, reliability, etc.