0
3.2kviews
What is the difference between verification and validation? How Top-Down and Bottom- Up integration is achieved?

Mumbai University > Information Technology > Sem6 > Software Engineering

Marks: 10M

Year: Dec 2015

1 Answer
0
5views

Difference between Validation and Verification

Verification Validation
1. Verification is the process of evaluating products of a development phase to find out,whether they meet the specified requirements 1. Validation is the process of evaluating software at the end of the development process to determine whether software meets the customer expectations and requirements
2. It ensures that the software system meets all the functionality 2. It ensures that the functionalities meet the,intended behaviour
3. It answers the question “Are we building the product right?" 3. It answers the question “Are we building the right Product?"
4.Mostly done by developers 4. Mostly done by Testers.
5. It is human based checking of documents and files. 5. It is computer based execution of program.
6. Verification takes place first and includes checking for documentation , code , etc. 6. Validation occurs after verification and mainly involves the checking of the overall product.
7. It does not involve executing the code 7. It always involves executing the code.
8. Verification is done by QA team to ensure that the software is as per the specifications in the SRS document. 8. Validation is carried out with the involvement of,testing team
9. Verification uses methods like inspections, reviews, walkthroughs, and Desk-checking etc. 9.Validation uses methods like black box (functional) testing, gray box testing, and white box (structural) testing etc.
10. Cost of errors caught in Verification is less,than errors found in Validation 10. Cost of errors caught in Validation is more than errors found in Verification.
  • Top down Testing: In this approach testing is conducted from main module to sub module. If the sub module is not developed a temporary program called STUB is used for simulate the sub module.

Advantages:

  • Advantageous if major flaws occur toward the top of the program.
  • Once the I/O functions are added, representation of test cases is easier.
  • Early skeletal Program allows demonstrations and boosts morale.

Disadvantages:

  • Stub modules must be produced
  • Stub Modules are often more complicated than they first appear to be.
  • Before the I/O functions are added, representation of test cases in stubs can be difficult.
  • Test conditions may be impossible, or very difficult, to create.
  • Observation of test output is more difficult.
  • Allows one to think that design and testing can be overlapped.
  • Induces one to defer completion of the testing of certain modules.

Example: If A, B & C are three Module, Assume A is the main module and B, C are the sub modules. Checking the communication from main module (A) to sub modules B & C are nothing but Top down approach.

Stub: In above example..assume that, if Submodule B is under construction. At that time, the Developer take the help of a Temporary program (called as Stub) to check the communication between the modules.

Bottom up testing: In this approach testing is conducted from sub module to main module, if the main module is not developed a temporary program called DRIVERS is used to simulate the main module.

Advantages:

  • Advantageous if major flaws occur toward the bottom of the program.
  • Test conditions are easier to create.
  • Observation of test results is easier.

Disadvantages:

  • Driver Modules must be produced.
  • The program as an entity does not exist until the last module is added.

Driver: In above example, assume that, if Main module A is under construction. At that time, the Developer take the help of a Temporary program (called as Driver) to check the communication between the modules.

Please log in to add an answer.