Software testing is the process of evaluating a software item to detect differences between existing and required conditions. It is intended to identify defects, errors, bugs, flaws, failures or faults in software. The goal is to provide stakeholders with information about the quality of the product or service under test.