Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

Possible Duplicate:
Verification of requirements question

Having asked but deleted the question as it was a bit misunderstood. If Quality Control is the actual testing, what are the commonest true quality assurance activities? I have read that verification (reviews, inspections..) but it does not make much sense to me as it looks more like quality control as mentioned here:
DEPARTMENT OF HEALTH AND HUMAN SERVICES ENTERPRISE PERFORMANCE LIFE CYCLE FRAMEWORK Practices guide

Verification - “Are we building the product right?” Verification is a quality control technique that is used to evaluate the system or its components to determine whether or not the project’s products satisfy defined requirements. During verification, the project’s processes are reviewed and examined by members of the IV&V team with the goal of preventing omissions, spotting problems, and ensuring the product is being developed correctly.
Some Verification activities may include items such as: • Verification of requirement against defined specifications • Verification of design against defined specifications • Verification of product code against defined standards • Verification of terms, conditions, payment, etc., against contracts

And the opposite (project management knowledge scope - google result) Verification is a quality assurance process or technique applied by ...

share|improve this question

marked as duplicate by gnat, Walter, Glenn Nelson, Dynamic, ChrisF Dec 28 '12 at 1:41

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

1  
I wonder why you are getting bogged down in semantic details between quality control and quality assurance? What are you really trying to understand? –  tallseth Nov 14 '12 at 12:22
    
tallseth: There is a crucial difference between QA and QC and I would like to understand it correctly. There are stupid people saying testing=QA etc., that is why I ask questions like that. –  user970696 Nov 14 '12 at 12:47
2  
@user970696: If you don't understand the differences between QA and QC, suggesting that people who equate testing with QA are stupid isn't going to win you a lot of friends. –  Blrfl Nov 14 '12 at 13:28
    
A discussion on Ward's wiki about the difference between QA and QC c2.com/cgi/wiki?QaIsNotQc –  MichaelT Nov 14 '12 at 14:23
    
Blrfl: I do understand the difference, but the problem is that many sources are confused or contradicting. It is really hard to find an authoritaive and correct source. As for testing=QA, there are really some thinkink that is the same. –  user970696 Nov 14 '12 at 14:37
add comment

4 Answers 4

In many ways, trying to find the dividing line between Quality Assurance and Quality Control is akin to finding the exact demarcation between Verification and Validation - and whilst the comparison may imply equivalence, it isn't that clear cut either.

What is really important is that you undertake all necessary Verification AND Validation, and the whole development is undertaken with appropriate levels of Quality Assurance AND of Quality Control.

Ultimately Product Quality is everyone's responsibility.

For reference, the applicable ISO standard is ISO/IEC 12207 - Software Lifecycle Processes - it is a good read (if you are an insomniac) and available from the ISO store

share|improve this answer
add comment

Quality Assurance is not about the results, but rather the process. QA is responsible for the process of creating a product.

In a software world, the activities of QA may revolve around:

  • Audits of the code (the developers said this code is following the coding standards of the company, lets look at it)
  • Verifying that the process to build the code has the necessary steps and checks in it ("This project has not allocated any time to code reviews - that needs to be corrected")
  • The tools for tracking ("Excel spreadsheets are not a bug tracking mechanism - they do not meet the minimum acceptable requirements for a bug tracking system")
  • Checking the schedule ("The last three projects had one week of debugging for every 2 ksloc - this project is estimated at 10 ksloc but only one week of testing is allocated")
  • Looking at the requirements and deliverables ("The requirements mandate feature XYZ but there are no tests that address this functionality")
  • In areas where there are defined standards (aircraft, life support, critical infrastructure, etc...), making certain that all of the standards and processes associated from those realms are followed.

QA will also be likely doing things such as ISO standards and mention such words as "Six Sigma."

In theory, the interaction between developers and QA is rare as QAs activities tend to be at a higher level in the management chain.

share|improve this answer
    
MichaelT: thanks. If you have a reference (book, standard..) I would be grateful! –  user970696 Nov 14 '12 at 15:17
    
@user970696 I can't find one easily - this comes more from the manufacturing world where quality assurance looks at how the people make a pipe (assuring that the quality is what is desired) and quality control being the guys at the end of the process with the calipers making sure that the final product meets the proper standards. –  MichaelT Nov 14 '12 at 15:25
add comment

I am not going to use any fancy definitions as they will confuse you.

Typically Quality control is a sub set of Quality Assurance.

For a quick and dirty example you will be using term VERIFICATION when you will be checking your Functional specs for correctness thus

"Are we building the product right?"

Once your product is passed to dedicated Testing teams then validation comes into picture indication of

"Are we building the right product?"

Quality Assurance is a vast process which consist of fulfilling many processes such as Audits, Code Reviews etc and ensuring conformance to standards such as CMMI or ISO.

share|improve this answer
add comment

A quality assurance department helps a development organization to release their software in a timely manner with as few defects as possible. Developing and releasing software is a series of trade-offs. QA can help a company decide which defects or user experience problems are acceptable at a certain time.

Some common QA goals are:

  1. ensure that the software continues to work as it should (minimize regressions)
  2. new features are usable and work correctly
  3. help identify problem areas and make recommendations on how to fix them
  4. use the system

As much as we hate to admit it, a QA department is often the first real users of a system. Because of this, they can help identify "customer" pain points that developers and even designers fail to see so they can be fixed.

share|improve this answer
add comment

Not the answer you're looking for? Browse other questions tagged or ask your own question.