We can say that both verification and validation have to do with input. When we type in data in a file or a database, we want to use measures that eliminate as much as possible errors during the entering of data.
Definitions
Verification has to do with the user paying attention and that from his or her part data or instructions are being entered correctly. This is to ensure that data can be trusted.
Validation has to do with the computer doing checks (where possible) to identify errors during input. This is to ensure that data can be worked with.
Data Capture Forms
A data capture form is a sheet of paper formatted in such a way as to make date entry by hand easy. Sometimes these forms are used to be read by an optical scanner.
However sometimes we need to manually copy the data manually. Unfortunately, human errors while typing are very common! These are called transcription errors.
There are a few options to prevent having erroneous data in our systems:
A program can verify the data by making the user enter it twice and make a simple comparison. If both inputs are the same then we can trust that there were no transcription errors. This is a very common approach when asking users to pick a password.
A program can also validate data to ensure that the values can be worked with. For example if the user is entering a date of birth then the program should ensure that the date entered is not in the future.
Data Preparation
Data preparation involves preparing data to be processed or kept in a database for instance, some countries write dates in the format day/month/year while others write it as month/day/year. In this case data preparation will involve writing the dates in the right format for a given country.
The data preparation process can be quite complex and it may be different for various cases. Although normally this process involves steps like:
Data collection
Identifying duplicates, inconsistencies, anomalies, or missing data
Data validation
Provide an opportunity to resolve data issues (or better yet do it automatically)
Let's consider an example of data preparation for a payroll system. Why is it so important? One of the most important aspects of the payroll system is to work out the monthly salaries of each employee and make the appropriate deductions. Every employee expects to get a detailed pay slip every time he or she gets paid.
Information about the employees and their annual salaries are kept in a database. Maintaining the data in the database is a means of continuous preparation.
The payroll program must work out the salaries and make the appropriate deductions depending on where in the world the company is operating.
Finally, the prepared data is put to use in an email to the employee with the pay slip attached. It is very common to use a mail-merge to perform this task.
If the data preparation step is not done correctly then you can appreciate that the steps that follow might have errors which may result it grave consequences!
Privacy and Security
Throughout data handling, security and privacy are prime issues. These are covered in detail in Chapter 23.
Verification Examples
Hereunder is a list of examples from the best of the best!
GitHub makes a user type in the name of a repository before deleting it.
Miro verifies email addresses upon registration.
Material UI by Google has really good examples of confirmation dialogues.
Comments