When you are making sure all the business scenarios of a software are working as desired is called software testing.
Software testing is a process used to identify the correctness, completeness and quality of developed computer software.
It is the process of executing a program / application under positive and negative conditions by manual or automated means. It checks for the:-
Objectives of testing: –
- Executing a program with the intent of finding an error.
- To check if the system meets the requirements.
- To check if the system is “Fit for purpose”.
- To check if the system does what it is expected to do.
The thought process & activities involved in designing the tests early in the life cycle can help to prevent defects from being introduced in to code
Software testing is the whole process & not the single activity.
Software testing process has various phases, known as Software Test Life Cycle (STLC). The various phases in STLC are –
1. Requirement Analysis –> Consist of Preparing RTM (Requirement Traceability Matrix), Identifying Test Types, Environment, Automation feasibility analysis if any.
2. Test Planning –> Consist of Test Plan / Test Strategy preparation, Estimation, Test tool Selection.
3. Test Design –> Consist of Test case creation, Test case review, Test data creation.
4. Test Execution –> Consist of actual Test Execution, Document test results, log defects for failed test cases, track the defects till closure.
5. Test Closure –> Consist of preparation of test closure report, documentation, evaluating exit criteria etc.
In all above phases of STLC, different team members have different responsibility, We will see it in detail later.