Software Quality Assurance
It is sort of like this:
You have to interview someone for a position within your company. You have the set of requirements (position, role, skills etc) needed for the opening. Based on these requirements you select a few candidates and interview them (Test). What you are doing is validating what the candidate says he has done against what he really has done and knows.
The process you use for that selection and the interviews are recorded somewhere. Overtime, you improve the selection process and come up with standard questions for all candidates and some specific for each individuals that you interview. Once you have some kind of mapping of the process, you setup some kind of interview procedures (a more step by step approach on how to choose the proper candidate).
After time, you make modifications to these procedures to improve efficiency based on past experiences and the outcome of the chosen candidates and how they fit the real world.
Software Quality Assurance is a validation of processes, procedures, standards and other metrics (the software operates the way it is suppose to without problems) Once you have these set of processes and procedures in place, you reuse them (collecting data) to ensure it’s a good way of doing things and improve the way it is developed.
Software Quality Assurance is involved in every step of the software development. Testing is only part of it. Automation is also part of it (once you have your steps on how certain procedures go, you can automate them, having good standards also helps to carry out the task).
WARNING:
Software Quality Assurance is currently under re-design due to the new methodologies used in software development (Agile, Extreme programming etc)that refutes the basic of the old Software Quality Assurance methodologies where requirements, standards, documentation were extremely important to validate and improve a product. No one seems to know how you will validate and prove that the product has been produced with pre approved standards, procedures and validation. With the new way of doing the development, it is very difficult to prove (when audited by other bodies of government, or financial institutions)what you did to ensure quality of the software you constructed.
Much debate is going on right now. Hopefully we’ll find a ‘common sense’ medium between the old and the new way of doing things.
Gilles Girard