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 --

  1. How do you manage the QA process?
  2. What standards and conventions will your team follow?
  3. What are you metrics? (That is, what items will you measure and how will you measure and report on them?)
  4. What audits will you perform to assure that tests were perform, your metrics are valid, etc.?
  5. What set of documentation will you expect, and how will you review that those documents are correct?
  6. What is you overall test plan? (This includes test definitions, schedules, resources required, etc.)
  7. What test equipment, tools, test platforms, etc. will be used?
  8. How do you control the test equipment and test platforms (including calibration and configuration management of the test platform(s)?
  9. How are problems reported?
  10. How do you assign and resolve issues, and how do you track and manage this process?
  11. Configuration management and source code control plans.
  12. 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.
  13. 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?
  14. Your plan for creating, maintaining, and retaining records of your activities.
  15. Training that will be required for team members.
  16. Risk Management Plan.
history | excerpt history