Software Development involves a series of activities which are prone to errors. These errors may occur at an early stage of the development process when user requirements are incorrectly or incompletely defined, and also at later stages when design and programming faults are introduced. To overcome such errors, software development should always be accompanied by Quality Assurance (QA) activities. Requirements inspection and software testing are the two most important quality assurance activities. These activities are often used in different phases of the software development life cycle (SDLC).