Software verification and validation are the two primary components of software quality control. Software verification is verifying that the software is being put together correctly, and that the software can successfully and correctly do what it is supposed to do. Software verification happens all throughout the software development process as code is tested to ensure it works properly. Software validation, on the other hand, is the process of verifying with the customer that the application meets expectations. This happens before any code is written and makes sure the needs and expectations of the customer are understood prior to actually creating any software.
If accounting software was being developed, for example, validation would be understanding what the customer needs out of the accounting software and how it is going to be used, where verification is the process where the software is tested to ensure it is performing calculations correctly, storing and retrieving information from the correct places, categorizing things accurately, etc.