If we are talking about the definition, then “ Software Testing is the process of executing a software system to determine whether it matches its specification as mentioned in the requirement by client.”
Software quality has become the dominant success criterion in the software industry.
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.
Validating the software developed by developers against the customer’s requirement.
In a simple words, client require his software to be delivered without any bug (which is next to impossible but we can’t say this to client upfront. Sad but True).
Targeting to deliver a bug free software to client we need to do testing activity to make sure client’s requirement are full filled in a manner he wants before it delivers to him.
There are many techniques to do software testing. Majorly two kinds of testing performed to ensure the quality of the software:
Functional Testing and Non Functional Testing.