In software project management, software testing, and software engineering, verification and validation (V&V) is the process of checking that a software system meets specifications and that it fulfills its intended purpose. It may also be referred to as software quality control. It is normally the responsibility of software testers as part of the software development lifecycle. In simple terms, software verification is: "Assuming we should build X, does our software actually achieve its goals without any bugs or gaps?" On the other hand, software validation is: "Was X actually what we should have built? Does X actually meet the high level requirements?"