The purpose of quality assurance (QA) is to monitor and manage the development work and ensure its consistency with plans and standards. QA monitors the entire product development cycle including requirements definition, systems engineering, safety, reliability, and security specification, architecture, design, coding, implementation, testing, configuration and change management and more. Quality is assured through a combination of audits and reviews to ensure that both intermediate and final work products meet project, company, and industry standards, and that the prescribed process steps and phase transition criteria are met.
Testing is another crucial component of quality assurance because testing assures that the system is robust (white box), its components interact properly (integration), meets the requirements (verification) and ultimately meets the customer needs (validation). The plethora o