What are the differences of QA & testing
Software QA involves the entire software development PROCESS - monitoring and improving the process, making sure that any agreed-upon standards and procedures are followed, and ensuring that problems are found and dealt with. It is oriented to 'prevention'
Testing involves operation of a system or application under controlled conditions and evaluating the results (eg, 'if the user is in interface A of the application while using hardware B, and does C, then D should happen'). The controlled conditions should include both normal and abnormal conditions. Testing should intentionally attempt to make things go wrong to determine if things happen when they shouldn't or things don't happen when they should. It is oriented to 'detection'.
Quality software is reasonably bug-free, delivered on time and within budget, meets requirements and/or expectations, and is maintainable.
Every software development, enhancement, or maintenance project includes some quality assurance activities. Even a simple, one-person development job has QA activities embedded in it, even if the programmer denies that "quality assurance" plays a part in what is to be done. Each programmer has some idea of how code should be written, and this idea functions as a coding standard for that programmer.
Similarly, each of us has some idea of how documentation should be written;this is a personal documentation standard. We proofread and revise our documents, and programmers review their products to make sure they meet their personal standards. These are QA reviews, or audits. Each programmer and writer tests or inspects his or her own work, and these are verification and validation processes.
A project's formal QA program includes the assurance processes that each team member goes through, but it involves planning and establishing project-wide standards, rather than relying on personal standards and processes. The extent and formality of project QA activities are decisions that the client, project manager, and the QA department make based on their assessment of the project and its risks.
Software quality assurance Software QA involves the entire software development PROCESS - monitoring and improving the process, making sure that any agreed-upon standards and procedures are followed, and ensuring that problems are found and dealt with. It is oriented to 'prevention'.
The purpose of Software Quality Assurance is to provide management with appropriate visibility into the process being used by the software project and of the products being built.
Software Quality Assurance involves reviewing and auditing the software products and activities to verify that they comply with the applicable procedures and standards and providing the software project and other appropriate managers with the results of these reviews and audits.