Please enable JavaScript.
Coggle requires JavaScript to display documents.
Anticipating & Dealing with Errors - Coggle Diagram
Anticipating & Dealing with
Errors
Types of errors
Bug
a fault in a solution that can
cause erroneous behaviour.
something didn't expect it to happen
Error
Any behaviour observed when executing a solution that does not match the expected behaviour
Designing out Bugs
Inconsistencies
making statements that make no sense when considered together
Logical and mathematical errors
Found in logical expression
Poor grammar and ambiguities
Being exhaustive
Typos
Spelling errors
Incorrect capitalisations
Missing words
Wrong words
Numbered lists with incorrect numbering
Mitigating errors
Getting defensive
Anticipate where a problem occur
Put some 'protective barriers' in place
Reacting to Problems
Category 2 (Medium)
offenses that involve a high transmission risk of covid-19, but with no direct impact on the community
Category 3( Normal)
Offences that involve a low transmission risk
Focuses more on individual offences.
Cateory 1 (High)
offenses that involve a high transmission risk of covid-19, can impact the community on a
large scale.
Low severity- display a message
High severity- emergency mode or shut down the system
Deciding which error to fix
Level of severity
Severity values: Minor, moderate, major, critical
How strongly the error prevent proper usage of the system
Priority
Feature value
if affects an unimportant feature= low priority
Scheduling
how long witll it take to fix
ask if it's worth the time
Frequency
How offten it occur?
Priority level: Low, medium, high
Testing
Top-down testing
test the solution as a whole to ensure that it works.
Disadvantages
Requires you to use placeholders for the unfinished parts to simulate their behaviour
Harder to localise bugs when errors occur.
Difficult to apply when the system is incomplete
Advantages
Effective for finding design flaws
Can be encouraging to test a full system, even if it's incomplete
Bottom-up testing
testing the smallest parts of the solution individually
Disadvantages
Requires to simulate the controlling parts of the solution
Doesn't expose design flaws until much later
Advantages
Easy to apply in the early stages of development
Effective for localising problems
Approach
Important to be systematic.
help to localize
the problem and f
ind out exactly what is wrong and where.
Goal
Use the actual solution/system produced to verify whether it performs as expected
to identify specific areas where it fails
Debugging
Goal- explain the facts and reconstruct the chain of events
look for clues and use them to make deductions
Put it to the test
if test - success, the error(s) in your solution are found
Can proceed to think about a fix
Build a hypothesis that might explain the problem.
Key points to maintain in debugging
change one thing at a time
Logging
Divide and conquer
Tracing
Respect Occam's Razor
Explain the problem aloud
Solution Evaluation
Is it usable?
Memorability
Errors
Efficiency
Satisfaction
Learnability
Is it elegant?
maximizes both effectiveness and simplicity at the same time
Is it efficient?
use resources reasoanbly
The time and space usage of a solution
Is it correct?
Solve the problem that set out to solve