Quality assurance (for software) is the process followed to provide some level of confidence that software-based system conforms to established technical requirements.
Software Quality Assurance (QA, or SQA) is a systematic, planned approach to provide level of confidence that a software-based system conforms to its established technical requirements.
A good starting point is the IEEE standard on Software Quality Assurance Plans.
There are many factors to consider --
- How do you manage the QA process?
- What standards and conventions will your team follow?
- What are you metrics? (That is, what items will you measure and how will you measure and report on them?)
- What audits will you perform to assure that tests were perform, your metrics are valid, etc.?
- What set of documentation will you expect, and how will you review that those documents are correct?
- What is you overall test plan? (This includes test definitions, schedules, resources required, etc.)
- What test equipment, tools, test platforms, etc. will be used?
- How do you control the test equipment and test platforms (including calibration and configuration management of the test platform(s)?
- How are problems reported?
- How do you assign and resolve issues, and how do you track and manage this process?
- Configuration management and source code control plans.
- Media control for items you publish and distribute. This includes any printed material, material you distribute via CD or DVD, or software and documentation you make available via the web.
- If you are using subcontractors and suppliers, how are you managing and monitoring the quality of the product and material they are supplying you with?
- Your plan for creating, maintaining, and retaining records of your activities.
- Training that will be required for team members.
- Risk Management Plan.