Software testing is part of a set of activities that ensure high-quality software. It primarily aims at revealing defects that
have been inserted into software at various stages of its development. In functional testing, test requirements are derived from
software specifications.