Testing software is an integral part of building a system. However, if the software is based on inaccurate requirements, then despite well written code, the software will be unsatisfactory. Most of the defects in a systemcan be traced back to wrong, missing, vague or incomplete requirements.
Requirements seem to be ephemeral. They flit in and out of projects, they are capricious, intractable, unpredictable and sometimes invisible. When gathering requirements we are searching for all of the criteria for a system’s success. We throw out a net and try to capture all these criteria.
Read FULL here : http://testingsoftware.blogspot.com/2007/09/requirements-testing.html