Overview of Errors and Bugs (Grade 11 NSC Matric Computer Application Technology): Revision Notes
Overview of Errors and Bugs
When working with computers and data, things can go wrong in several different ways. Understanding these potential problems is essential for anyone working with technology. Errors and bugs can occur at multiple levels - from simple human mistakes when entering data, to complex issues within software programmes, to physical problems with computer hardware.
Human error in data entry
One of the most common sources of problems in computer systems comes from human mistakes during data entry. When people manually add information to spreadsheets, databases, or any computer system, there's always a possibility that they might make an error.
The computer itself cannot detect these human mistakes. If someone accidentally types the wrong number, misspells a word, or enters information in the wrong format, the computer will simply process whatever was entered. This is why it's so important to check and verify data before using it for analysis or decision-making.
Human errors in data entry are inevitable, but their impact can be minimised through proper verification and validation procedures. Always double-check critical data before processing.
Human errors in data entry can have serious consequences. For example, if a scientist makes a calculation mistake with just one entry in a spreadsheet, their entire research results could be affected. In business settings, if an employee enters the wrong price for a product in a database, the company could lose money or upset customers.
The GIGO principle
A fundamental concept in computing is known as GIGO, which stands for "Garbage In, Garbage Out". This principle explains a simple but important truth: if you put incorrect or poor-quality data into a computer system, you will get incorrect or poor-quality results out of it.
Practical Example: GIGO in Action
Think of it like baking a cake - if you use spoiled ingredients, even if you follow the recipe perfectly, your cake won't turn out well. Similarly, even the most sophisticated computer programme or database system can only work with the data you provide. If that data contains errors, the output will also contain errors.
The GIGO principle highlights why data quality is so important in all computer applications, from simple spreadsheets to complex business systems.
Understanding verification and validation
To ensure data quality, we use two important processes: verification and validation. While these terms sound similar, they serve different purposes.
Critical Difference: Verification vs Validation
- Verification = checking that entered data follows the rules
- Validation = ensuring transferred data matches the original source
Don't confuse these two processes - they serve different but equally important purposes in maintaining data accuracy.
Data verification is the process of checking that the information a user has entered is correct according to specific rules or standards. This usually happens when data is being entered manually into a system. For example, a spreadsheet might be set up to only accept ages between 14 and 18 for high-school students. This is called a range check, and it helps catch obvious errors during data entry.
However, verification doesn't guarantee that the data is completely accurate. If a student is actually 15 years old but someone types 17, the data is still "valid" according to the range check, even though it's incorrect.
Data validation, on the other hand, is about ensuring that data transferred from one source to another matches the original information. For instance, if you conduct a survey and enter the results into a spreadsheet, you would check that what you've entered matches what people actually wrote on their survey forms.
Data validation also involves checking that information is complete and meets the requirements of the system where it's being stored. In database systems like Access, this is done using validation rules and input masks.
Data validation techniques
There are several specific methods used to validate data automatically. Each technique serves a different purpose.
These validation techniques work together to create multiple layers of data quality control. Most modern systems use several of these methods simultaneously to catch different types of errors.
Here's how these validation methods work in practice:
- Check digit: Used in systems like barcodes, where a special digit is calculated based on the other numbers to verify accuracy
- Format check: Ensures data follows the correct pattern, such as dates being entered as YYYY-MM-DD
- Length check: Verifies that data has the right number of characters, like South African phone numbers having exactly 10 digits
- Lookup table: Checks that entered data exists in a predefined list of acceptable values
- Presence check: Makes sure required fields aren't left empty, such as ensuring employee names are always provided
- Range check: Confirms that numbers fall within acceptable limits, like ensuring students don't have more than 10 subjects
- Spell check: Identifies and suggests corrections for spelling and grammar errors
Software bugs
A software bug is any error, flaw, or fault in a computer programme that causes it to produce incorrect results or behave unexpectedly. When a programme contains bugs, it might crash, freeze, or simply give wrong answers.
Most software bugs are created by human errors during the programming process. When programmers write the source code for a programme, they might make mistakes in logic, syntax, or calculations. Some bugs might not cause serious problems and could go unnoticed for a long time. However, when a programme has many bugs, it might be called "buggy" and become almost unusable.
Did You Know? Software problems are called "bugs" because of a historical incident. In 1946, an actual moth flew into a Harvard Mark II computer and caused a malfunction. This was one of the first documented cases of a programming flaw, and the term "bug" stuck.
Some bugs can create security vulnerabilities that allow cyber-criminals to access computer systems inappropriately. In extreme cases, like the Millennium Bug (Y2K) scare in 1999-2000, people worried that widespread software problems could cause major systems to fail. This particular issue was caused by older computers that used only two digits for years, so they couldn't distinguish between 1900 and 2000.
Hardware failures
Hardware failures are different from software bugs because they involve physical problems with computer components rather than programming errors. These failures occur when parts of the computer hardware are designed incorrectly, malfunction, fail completely, or become damaged.
Security Risk Alert Hardware failures can create security vulnerabilities in a computer system. Unlike software bugs that can be fixed by updating programmes, hardware problems often require physical repairs or component replacements, making them more difficult and expensive to address.
Some hardware failures affect millions of computers worldwide. For example, vulnerabilities called Spectre and Meltdown were discovered in 2017, affecting processors made by major manufacturers like Intel, AMD, and ARM. These flaws had existed in the hardware since about 1995 but hadn't been detected earlier. They potentially allowed attackers to steal sensitive information like banking details and passwords.
These hardware vulnerabilities affected nearly every modern computer, including smartphones, tablets, and PCs from different manufacturers. The problems existed in the processors themselves, not in any specific software, making them particularly challenging to address.
Key Points to Remember:
- Human errors are inevitable when people manually enter data, and computers cannot automatically detect these mistakes
- GIGO principle: "Garbage In, Garbage Out" - poor quality input data will always result in poor quality output
- Verification checks if entered data follows the rules, while validation ensures transferred data matches the original source
- Data validation techniques include various automated checks like format, length, range, and presence checks to catch common errors
- Software bugs are programming errors that can cause programmes to crash or produce incorrect results, while hardware failures are physical problems with computer components