Take the 2-minute tour ×
English Language & Usage Stack Exchange is a question and answer site for linguists, etymologists, and serious English language enthusiasts. It's 100% free, no registration required.

I am working on a text regarding quality of computational systems. I am following an ISO standard where I found:

Verification Process is to confirm that each software work product and/or service of a process or project properly reflects the specified requirements.

And

Validation Process is to confirm that the requirements for a specific intended use of the software work product are fulfilled.

I cannot spot the difference. The former checks whether it reflects requirements, the latter whether it fulfilled requirements. I would say that reflect requirement is like follow them=fulfill? Obviously not. Thanks

share|improve this question
2  
You can Google the "difference between validation and verifiction" and get several much better explanations than these two terrible sentences. –  Peter Shor Oct 29 '12 at 11:11
1  
@PeterShor: What you said. "Are we building the right product? Are we building the product right?" –  J.R. Oct 29 '12 at 12:41
    
Actually no, because this is the ISO standard. On the internet there is a lot of confusion what is validation and verification. Some think verification is testing, which is not (according to ISO) etc. Even the books are contradicting on this topic, I did very extensive research. –  user970696 Oct 29 '12 at 15:09
    
The proper definition of the terms is out of the scope of ELU. It is only the meaning of the sentences you provided that is relevant. –  Kris Oct 29 '12 at 15:24
    
Kris: exactly. And I still cannot see the difference between "ensuring it does what requirements say" and "ensuring it does it completely". The first sentence use the word reflect instead of, e.g. conform to. –  user970696 Oct 29 '12 at 15:28
show 1 more comment

5 Answers 5

up vote 2 down vote accepted

(If anyone wants to see the full original context, this seems to be it.)

I think OP is simply being misled by "requirements" appearing in both definitions, together with the fact that specified is in the first, and specific in the second. Reading the full text, it's obvious...

Verification = ensuring the software addresses everything in the specified requirements.

Validation = ensuring the software addresses the specified intended use.

An example of the difference arose a few years ago in a company I had dealings with. The customer (a nationwide group encompassing many bus companies) wanted to store all their bus ticket data within a single centrally-maintained industry-standard RDBMS database. But the requirements specification said nothing about speed of processing.

After a development team had spent over a year producing a system which seemed to meet the specification, it became apparent that on any hardware the customer could realistically hope to afford, loading each new day's data would probably take more than 24 hours.

One could of course say this debacle was caused by a deficient specification - but such mistakes are bound to happen sometimes. And that's what OP's "validation" process is supposed to catch.


EDIT: It seems OP isn't satisfied with my way of describing the difference, so I'll quote from the start of the chapter I linked to above...

[verification is] “Confirmation that work products properly reflect the requirements specified for them”. In other words, verification ensures that “you built it right”.

[validation is] “Confirmation that the product, as provided (or as it will be provided) will fulfill its intended use”. Therefore, validation ensures that 'you built the right product'.

(italics mine)

share|improve this answer
    
thanks, however, ISO considers testing only as validation. How would you check that SW addresses specified requirements? Verification is only static checking of design, code, documents..but not running the program –  user970696 Oct 29 '12 at 18:13
    
@Riawe: I'm not sure where you get "ISO considers testing only as validation" from. Are you perhaps making assumptions about what the words testing, validation and verification actually mean, according to dictionaries? For the fine distinction being made in your example, I don't think dictionary definitions are relevant. The words you should pay attention to are those I highlighted above (specified requirements and specified intended use), not the ones you highlighted (reflects and fulfilled). –  FumbleFingers Oct 29 '12 at 18:21
    
If you check the ISO, then verification activities are requirement verification, design verification, code verification. Validation activities: testing (stress, boundary...). Verification focuses only on the "software work product", not software itself. Also you can verify that design document describes what requirement contains, and its traceable to code etc. But in validation, you check the final product and test it if it works as intended. –  user970696 Oct 29 '12 at 18:27
1  
@Riawe: I'm only following your source (which admits it's a paraphrasing of the ISO standard, not the exact original text of the ratified standard itself). Since your source actually refers to the "software work product" in both its paraphrased definitions, I left it that way because I thought that would be less confusing for you. It seems like you're still trying to justify interpretation according to your existing understanding of the terms, rather than reading the exact, context-specific definitions as supplied and used by your source. –  FumbleFingers Oct 29 '12 at 18:49
1  
@Riawe: I'm sorry, but I think you're completely missing the point. The ISO standard isn't directly concerned with details like the specifications that computer coders work to. Validation means that the system as a whole does whatever job the customer expected it to do when he authorised the purchase. It could be changed to a voice-activated system with no on-screen buttons at all, so long as it worked. –  FumbleFingers Oct 29 '12 at 21:53
show 9 more comments

The first is to verify that every aspect of the requirements are handled in some way. This can happen before the product is finished. It just has to be clear that the working process are handling all aspects of the requirements.

The other is to validate (check/test) that all the functionality is working as the customer was expecting. This happen after there is a working version of the product.

share|improve this answer
add comment

"reflect the specified requirements": Ensure what the product does is what is required.
"requirements are fulfilled": Ensure the product actual does what it attempts to do, satisfactorily and completely.

Verification checks whether the features match the requirements one to one, and all of them.
Validation checks whether the product actually achieves these.

share|improve this answer
    
Well, I cannot see the difference /language barrier?/. Ensure that it does what is required seems to be the same as the latter. –  user970696 Oct 29 '12 at 15:13
    
My answer should cover every point in your question and only those points, right? My answer should satisfactorily and fully answer the points, right? Are they different now? –  Kris Oct 29 '12 at 15:16
    
The answer, unfortunately, for me as a non native speaker is that helpful - ensure it does what is required. Ensure it does what it attempts to do, completely. I would assume if it does what is required, than it is implicitly doing it completely. –  user970696 Oct 29 '12 at 15:20
add comment

Verification is performed as a check to ensure that all the requirements have been implemented.

Validation is performed as a check to ensure that the implementation is suitable for use.

I may have had a requirement that says, "The product shall have a button to turn on the radio", and I can verify that the requirement has been implemented; there is the button inside the trunk of the car, and when you press it the radio turns on. But the implementation is not suitable for use- the customer expected that when they were driving they'd be able to turn on the radio and they cannot.

As to your two sentences, the first talks about whether the work product reflects (implements) the specified requirements. (Is there a button and does it work?)

The second talks about confirming that the product may be used for a specific intended use. (Can they use the radio while driving.)

share|improve this answer
    
thanks, but unfortunately it is not like that. Verification check only the intermediate products like design, diagrams, or code. It checks whether it conforms to requirements (button should be there according the design doc, is there a code for that?) –  user970696 Oct 29 '12 at 18:18
    
@Riawe- Is that not what I said? Verification checks that all requirements have been implemented- i.e., it checks whether the product conforms to requirements. –  Jim Oct 29 '12 at 18:49
    
Well, verification does not check the final product, just the work products (design, code, docs). Validation, on the other hand, checks that final product conforms to requirement/works as intended –  user970696 Oct 29 '12 at 20:27
add comment

From my humble point of view it looks like two stages of a process:

  1. reflection
  2. validation
share|improve this answer
    
Could you expand on this more? I'm not sure I understand what you're trying to say. –  American Luke Oct 29 '12 at 12:28
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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