The four fundamental methods of verification are Inspection, Demonstration, Test, and Analysis. The four methods are somewhat hierarchical in nature, as each verifies requirements of a product or system with increasing rigor. I will provide a description of each with two brief examples of how each could be used to verify the requirements for a car and a software application.
Inspectionis the nondestructive examination of a product or system using one or more of the five senses (visual, auditory, olfactory, tactile, taste). It may include simple physical manipulation and measurements.
Car: visually examine the car to ensure that it has power windows, power adjustable seats, air conditioning, a navigation system, a tow package, etc.
Software Application: visually examine the software for screens that were requested, check for the fields needed for data entry, verify that the necessary buttons exist for initiating required functionality, etc.
Demonstration is the manipulation of the product or system as it is intended to be used to verify that the results are as planned or expected.
Car: use the automatic switches to verify that the windows and seats work as intended, start the vehicle and ensure that the air conditioning produces cold air, take the car for a test drive to sense the acceleration and cornering as it was described based on the requirements.
Software Application: enter all required fields on a screen and select the button to return a specific report. Ensure that the report is returned with the type of data needed.
Test is the verification of a product or system using a controlled and predefined series of inputs, data, or stimuli to ensure that the product or system will produce a very specific and predefined output as specified by the requirements.
Car: accelerate the car from a complete stop to 60 mph, and verify that it can be done in 5.2 seconds. Accelerate through a turn under controlled conditions, producing .8G of force, without the car loosing traction.
Software Application: enter the type and model of car, automatic windows, power steering, and all other options as stated in the predefined test plan, select the price now button and receive back a price quote of precisely $43,690.
Analysis is the verification of a product or system using models, calculations and testing equipment. Analysis allows someone to make predictive statements about the typical performance of a product or system based on the confirmed test results of a sample set or by combining the outcome of individual tests to conclude something new about the product or system. It is often used to predict the breaking point or failure of a product or system by using nondestructive tests to extrapolate the failure point.
Car: complete a series of tests which rev the engine at a specific rpm for a set length of time, while monitoring engine vibration and temperature, to verify that the expected results are achieve. Use this information to model the failure point of the engine, i.e. max rpm sustained over a specific period of time.
Software Application: complete a series of tests in which a specified number of users input the characteristics of the car they are attempting to price and initiate the pricing functionality at the same time. Measure the response of the system to ensure that the pricing function returns its results within the time specified. Analyze the relationship between increasing number of system users and the time it takes for pricing to be returned. Record the results to capture system degradation. Use this information to predict at what point the system no longer meets the maximum allowable time to return pricing as defined by the requirements.