Testing is the process of evaluating a system or its component(s) with the intent to find whether it
satisfies the specified requirements or not. In simple words, testing is executing a system in order to
identify any gaps, errors, or missing requirements in contrary to the actual requirements.
According to ANSI/IEEE 1059 standard, Testing can be defined as – A process of analyzing a software
item to detect the differences between existing and required conditions (that is defects/errors/bugs)
and to evaluate the features of the software item.
It depends on the process and the associated stakeholders of the project(s). In the IT industry, large
companies have a team with responsibilities to evaluate the developed software in context of the
given requirements. Moreover, developers also conduct testing which is called Unit Testing. In most
cases, the following professionals are involved in testing a system within their respective capacities:
1) Software Tester
2) Software Developer
3) Project Lead/Manager
4) End User
Different companies have different designations for people who test the software on the basis of
their experience and knowledge such as Software Tester, Software Quality Assurance Engineer, QA
It is not possible to test the software at any time during its cycle. The next two sections state when
testing should be started and when to end it during the SDLC.