Type
of Errors
- User Interface Errors
- Error Handling
- Boundary related errors
- Calculation errors
- Initial and Later states
- Control flow errors
- Errors in Handling or Interpreting
Data
- Race Conditions
- Load Conditions
- Hardware
- Source, Version and ID Control
- Testing Errors
Let us go through details of each kind of error.
User
Interface Errors
Functionality
|
|
Sl No
|
Possible Error Conditions
|
1
|
Excessive Functionality
|
2
|
Inflated impression of functionality
|
3
|
Inadequacy for the task at hand
|
4
|
Missing function
|
5
|
Wrong function
|
6
|
Functionality must be created by user
|
7
|
Doesn't do what the user expects
|
Communication
|
|
Missing Information
|
|
Sl No
|
Possible Error Conditions
|
1
|
No on Screen instructions
|
2
|
Assuming printed documentation is already available.
|
3
|
Undocumented features
|
4
|
States that appear impossible to exit
|
5
|
No cursor
|
6
|
Failure to acknowledge input
|
7
|
Failure to show activity during long delays
|
8
|
Failure to advise when a change will take effect
|
9
|
Failure to check for the same document being opened twice
|
Wrong, misleading, confusing information
|
|
10
|
Simple factual errors
|
11
|
Spelling errors
|
12
|
Inaccurate simplifications
|
13
|
Invalid metaphors
|
14
|
Confusing feature names
|
15
|
More than one name for the same feature
|
16
|
Information overland
|
17
|
When are data saved
|
18
|
Wrong function
|
19
|
Functionality must be created by user
|
20
|
Poor external modularity
|
Help text and error messages
|
|
21
|
Inappropriate reading levels
|
22
|
Verbosity
|
23
|
Inappropriate emotional tone
|
24
|
Factual errors
|
25
|
Context errors
|
26
|
Failure to identify the source of error
|
27
|
Forbidding a resource without saying why
|
28
|
Reporting non-errors
|
29
|
Failure to highlight the part of the screen
|
30
|
Failure to clear highlighting
|
31
|
Wrong/partial string displayed
|
32
|
Message displayed for too long or not long enough
|
Display Layout
|
|
33
|
Poor aesthetics in screen layout
|
34
|
Menu Layout errors
|
35
|
Dialog box layout errors
|
36
|
Obscured Instructions
|
37
|
Misuse of flash
|
38
|
Misuse of color
|
39
|
Heavy reliance on color
|
40
|
Inconsistent with the style of the environment
|
41
|
Cannot get rid of on screen information
|
Output
|
|
42
|
Can't output certain data
|
43
|
Can't redirect output
|
44
|
Format incompatible with a follow-up process
|
45
|
Must output too little or too much
|
46
|
Can't control output layout
|
47
|
Absurd printout level of precision
|
48
|
Can't control labeling of tables or figures
|
49
|
Can't control scaling of graphs
|
Performance
|
|
50
|
Program Speed
|
51
|
User Throughput
|
52
|
Can't redirect output
|
53
|
Perceived performance
|
54
|
Slow program
|
55
|
slow echoing
|
56
|
how to reduce user throughput
|
57
|
Poor responsiveness
|
58
|
No type ahead
|
59
|
No warning that the operation takes long time
|
60
|
No progress reports
|
61
|
Problems with time-outs
|
62
|
Program pesters you
|
Program
Rigidity
|
|
User tailorability
|
|
Sl No
|
Possible Error Conditions
|
1
|
Can't turn off case sensitivity
|
2
|
Can't tailor to hardware at hand
|
3
|
Can't change device initialization
|
4
|
Can't turn off automatic changes
|
5
|
Can't slow down/speed up scrolling
|
6
|
Can't do what you did last time
|
7
|
Failure to execute a customization commands
|
8
|
Failure to save customization commands
|
9
|
Side effects of feature changes
|
10
|
Can't turn off the noise
|
11
|
Infinite tailorability
|
Who is in control?
|
|
12
|
Unnecessary imposition of a conceptual style
|
13
|
Novice friendly, experienced hostile
|
14
|
Surplus or redundant information required
|
15
|
Unnecessary repetition of steps
|
16
|
Unnecessary limits
|
Command
Structure and Rigidity
|
|
Inconsistencies
|
|
Sl No
|
Possible Error Conditions
|
1
|
Optimizations
|
2
|
Inconsistent syntax
|
3
|
Inconsistent command entry style
|
4
|
Inconsistent abbreviations
|
5
|
Inconsistent termination rule
|
6
|
Inconsistent command options
|
7
|
Similarly named commands
|
8
|
Inconsistent Capitalization
|
9
|
Inconsistent menu position
|
10
|
Inconsistent function key usage
|
11
|
Inconsistent error handling rules
|
12
|
Inconsistent editing rules
|
13
|
Inconsistent data saving rules
|
Time Wasters
|
|
14
|
Garden paths
|
15
|
choice can't be taken
|
16
|
Are you really, really sure
|
17
|
Obscurely or idiosyncratically named commands
|
Menus
|
|
18
|
Excessively complex menu hierarchy
|
19
|
Inadequate menu navigation options
|
20
|
Too many paths to the same place
|
21
|
You can't get there from here
|
22
|
Related commands relegated to unrelated menus
|
23
|
Unrelated commands tossed under the same menu
|
Command Lines
|
|
24
|
Forced distinction between uppercase and lowercase
|
25
|
Reversed parameters
|
26
|
Full command names are not allowed
|
27
|
Abbreviations are not allowed
|
28
|
Demands complex input on one line
|
29
|
no batch input
|
30
|
can't edit commands
|
Inappropriate use of key board
|
|
31
|
Failure to use cursor, edit, or function keys
|
32
|
Non std use of cursor and edit keys
|
33
|
non-standard use of function keys
|
34
|
Failure to filter invalid keys
|
35
|
Failure to indicate key board state changes
|
Missing
Commands
|
|
State transitions
|
|
Sl No
|
Possible Error Conditions
|
1
|
Can't do nothing and leave
|
2
|
Can't quit mid-program
|
3
|
Can't stop mid-command
|
4
|
Can't pause
|
Disaster prevention
|
|
5
|
No backup facility
|
6
|
No undo
|
7
|
No are you sure
|
8
|
No incremental saves
|
Disaster prevention
|
|
9
|
Inconsistent menu position
|
10
|
Inconsistent function key usage
|
11
|
Inconsistent error handling rules
|
12
|
Inconsistent editing rules
|
13
|
Inconsistent data saving rules
|
Error handling by the user
|
|
14
|
No user specifiable filters
|
15
|
Awkward error correction
|
16
|
Can't include comments
|
17
|
Can't display relationships between variables
|
Miscellaneous
|
|
18
|
Inadequate privacy or security
|
19
|
Obsession with security
|
20
|
Can't hide menus
|
21
|
Doesn't support standard OS features
|
22
|
Doesn't allow long names
|
Error
Handling
Error
prevention
|
|
Sl No
|
Possible Error Conditions
|
1
|
Inadequate initial state validation
|
2
|
Inadequate tests of user input
|
3
|
Inadequate protection against corrupted data
|
4
|
Inadequate tests of passed parameters
|
5
|
Inadequate protection against operating system bugs
|
6
|
Inadequate protection against malicious use
|
7
|
Inadequate version control
|
Error
Detection
|
|
Sl No
|
Possible Error Conditions
|
1
|
ignores overflow
|
2
|
ignores impossible values
|
3
|
ignores implausible values
|
4
|
ignores error flag
|
5
|
ignores hardware fault or error conditions
|
6
|
data comparison
|
Error
Recovery
|
|
Sl No
|
Possible Error Conditions
|
1
|
automatic error detection
|
2
|
failure to report error
|
3
|
failure to set an error flag
|
4
|
where does the program go back to
|
5
|
aborting errors
|
6
|
recovery from hardware problems
|
7
|
no escape from missing disks
|
Boundary
related errors
Sl No
|
Possible Error Conditions
|
1
|
Numeric boundaries
|
2
|
Equality as boundary
|
3
|
Boundaries on numerosity
|
4
|
Boundaries in space
|
5
|
Boundaries in time
|
6
|
Boundaries in loop
|
7
|
Boundaries in memory
|
8
|
Boundaries with data structure
|
9
|
Hardware related boundaries
|
10
|
Invisible boundaries
|
11
|
Mishandling of boundary case
|
12
|
Wrong boundary
|
13
|
Mishandling of cases outside boundary
|
Calculation
Errors
Sl No
|
Possible Error Conditions
|
1
|
Bad Logic
|
2
|
Bad Arithmetic
|
3
|
Imprecise Calculations
|
4
|
Outdated constants
|
5
|
Calculation errors
|
6
|
Impossible parenthesis
|
7
|
Wrong order of calculations
|
8
|
Bad underlying functions
|
9
|
Overflow and Underflow
|
10
|
Truncation and Round-off error
|
11
|
Confusion about the representation of data
|
12
|
Incorrect conversion from one data representation to
another
|
13
|
Wrong Formula
|
14
|
Incorrect Approximation
|
Race
Conditions
Sl No
|
Possible Error Conditions
|
1
|
Races in updating data
|
2
|
Assumption that one event or task finished before another
begins
|
3
|
Assumptions that one event or task has finished before
another begins
|
4
|
Assumptions that input won't occur during a brief
processing interval
|
5
|
Assumptions that interrupts won't occur during brief
interval
|
6
|
Resource races
|
7
|
Assumptions that a person, device or process will respond
quickly
|
8
|
Options out of sync during display changes
|
9
|
Tasks starts before its prerequisites are met
|
10
|
Messages cross or don't arrive in the order sent
|
Initial
and Later States
Sl No
|
Possible Error Conditions
|
1
|
Failure to set data item to zero
|
2
|
Failure to initialize a loop-control variable
|
3
|
Failure to initialize a or re-initialize a pointer
|
4
|
Failure to clear a string
|
5
|
Failure to initialize a register
|
6
|
Failure to clear a flag
|
7
|
Data were supposed to be initialized elsewhere
|
8
|
Failure to re-initialize
|
9
|
Assumption that data were not re-initialized
|
10
|
Confusion between static and dynamic storage
|
11
|
Data modifications by side effect
|
12
|
Incorrect initialization
|
Control
Flow Errors
Program
runs amok
|
|
Sl No
|
Possible Error Conditions
|
1
|
Jumping to a routine that isn't resident
|
2
|
Re-entrance
|
3
|
Variables contains embedded command names
|
4
|
Wrong returning state assumed
|
5
|
Exception handling based exits
|
Return
to wrong place
|
|
Sl No
|
Possible Error Conditions
|
1
|
Corrupted Stack
|
2
|
Stack underflow/overflow
|
3
|
GOTO rather than RETURN from sub-routine
|
Interrupts
|
|
Sl No
|
Possible Error Conditions
|
1
|
Wrong interrupt vector
|
2
|
Failure to restore or update interrupt vector
|
3
|
Invalid restart after an interrupt
|
4
|
Failure to block or un-block interrupts
|
Program
Stops
|
|
Sl No
|
Possible Error Conditions
|
1
|
Dead crash
|
2
|
Syntax error reported at run time
|
3
|
Waiting for impossible condition or combinations of
conditions
|
4
|
Wrong user or process priority
|
Error
Detection
|
|
Sl No
|
Possible Error Conditions
|
1
|
infinite loop
|
2
|
Wrong starting value for the loop control variables
|
3
|
Accidental change of loop control variables
|
4
|
Command that do or don't belong inside the loop
|
5
|
Command that do or don't belong inside the loop
|
6
|
Improper loop nesting
|
If
Then Else , Or may not
|
|
Sl No
|
Possible Error Conditions
|
1
|
Wrong inequalities
|
2
|
Comparison sometimes yields wrong result
|
3
|
Not equal verses equal when there are three cases
|
4
|
Testing floating point values for equality
|
5
|
confusion between inclusive and exclusive OR
|
6
|
Incorrectly negating a logical expression
|
7
|
Assignment equal instead of test equal
|
8
|
Commands being inside the THEN or ELSE clause
|
9
|
Commands that don't belong either case
|
10
|
Failure to test a flag
|
11
|
Failure to clear a flag
|
Multiple
Cases
|
|
Sl No
|
Possible Error Conditions
|
1
|
Missing default
|
2
|
Wrong default
|
3
|
Missing cases
|
4
|
Overlapping cases
|
5
|
Invalid or impossible cases
|
6
|
Commands being inside the THEN or ELSE clause
|
7
|
Case should be sub-divided
|
Errors
Handling or Interpreting Data
Problems
in passing data between routines
|
|
Sl No
|
Possible Error Conditions
|
1
|
Parameter list variables out of order or missing
|
2
|
Data Type errors
|
3
|
Aliases and shifting interpretations of the same area of
memory
|
4
|
Misunderstood data values
|
5
|
inadequate error information
|
6
|
Failure to clean up data on exception handling
|
7
|
Outdated copies of data
|
8
|
Related variable get out of synch
|
9
|
Local setting of global data
|
10
|
Global use of local variables
|
11
|
Wrong mask in bit fields
|
12
|
Wrong value from table
|
Data
boundaries
|
|
Sl No
|
Possible Error Conditions
|
1
|
Un-terminated null strings
|
2
|
Early end of string
|
3
|
Read/Write past end of data structure or an element in it
|
Read
outside the limits of message buffer
|
|
Sl No
|
Possible Error Conditions
|
1
|
Complier padding to word boundaries
|
2
|
value stack underflow/overflow
|
3
|
Trampling another process's code or data
|
Messaging
Problems
|
|
Sl No
|
Possible Error Conditions
|
1
|
Messages sent to wrong process or port
|
2
|
Failure to validate an incoming message
|
3
|
Lost or out of synch messages
|
4
|
Message sent to only N of N+1 processes
|
Data
Storage corruption
|
|
Sl No
|
Possible Error Conditions
|
1
|
Overwritten changes
|
2
|
Data entry not saved
|
3
|
Too much data for receiving process to handle
|
4
|
Overwriting a file after an error exit or user abort
|
Load
Conditions
Sl No
|
Possible Error Conditions
|
1
|
Required resources are not available
|
2
|
No available large memory area
|
3
|
Input buffer or queue not deep enough
|
4
|
Doesn't clear item from queue, buffer or stock
|
5
|
Lost Messages
|
6
|
Performance costs
|
7
|
Race condition windows expand
|
8
|
Doesn't abbreviate under load
|
9
|
Doesn't recognize that another process abbreviates output
under load
|
10
|
Low priority tasks not put off
|
11
|
Low priority tasks never done
|
Doesn't
return a resource
|
|
Sl No
|
Possible Error Conditions
|
1
|
Doesn't indicate that it's done with a device
|
2
|
Doesn't erase old files from mass storage
|
3
|
Doesn't return unused memory
|
4
|
Wastes computer time
|
Hardware
Sl No
|
Possible Error Conditions
|
1
|
Wrong Device
|
2
|
Wrong Device Address
|
3
|
Device unavailable
|
4
|
Device returned to wrong type of pool
|
5
|
Device use forbidden to caller
|
6
|
Specifies wrong privilege level for the device
|
7
|
Noisy Channel
|
8
|
Channel goes down
|
9
|
Time-out problems
|
10
|
Wrong storage device
|
11
|
Doesn't check the directory of current disk
|
12
|
Doesn't close the file
|
13
|
Unexpected end of file
|
14
|
Disk sector bug and other length dependent errors
|
15
|
Wrong operation or instruction codes
|
16
|
Misunderstood status or return code
|
17
|
Underutilizing device intelligence
|
18
|
Paging mechanism ignored or misunderstood
|
19
|
Ignores channel throughput limits
|
20
|
Assuming device is or isn't or should be or shouldn't be
initialized
|
21
|
Assumes programmable function keys are programmed
correctly
|
Source,
Version, ID Control
Sl No
|
Possible Error Conditions
|
1
|
Old bugs mysteriously re appear
|
2
|
Failure to update multiple copies of data or program files
|
3
|
No title
|
4
|
No version ID
|
5
|
Wrong version number of title screen
|
6
|
No copy right message or bad one
|
7
|
Archived source doesn't compile into a match for shipping
code
|
8
|
Manufactured disks don't work or contain wrong code or
data
|
Testing
Errors
Missing
bugs in the program
|
|
Sl No
|
Possible Error Conditions
|
1
|
Failure to notice a problem
|
2
|
You don't know what the correct test results are
|
3
|
You are bored or inattentive
|
4
|
Misreading the Screen
|
5
|
Failure to report problem
|
6
|
Failure to execute a planned test
|
7
|
Failure to use the most promising test case
|
8
|
Ignoring programmer's suggestions
|
Finding
bugs that aren't in the program
|
|
Sl No
|
Possible Error Conditions
|
1
|
Errors in testing programs
|
2
|
Corrupted data files
|
3
|
Misinterpreted specifications or documentation
|
Poor
reporting
|
|
Sl No
|
Possible Error Conditions
|
1
|
Illegible reports
|
2
|
Failure to make it clear how to reproduce the problem
|
3
|
Failure to say you can't reproduce the problem
|
4
|
Failure to check your report
|
5
|
Failure to report timing dependencies
|
6
|
Failure to simplify conditions
|
7
|
Concentration on trivia
|
8
|
Abusive language
|
Poor
Tracking and follow-up
|
|
Sl No
|
Possible Error Conditions
|
1
|
Failure to provide summary report
|
2
|
Failure to re-report serious bug
|
3
|
Failure to check for unresolved problems just before
release
|
4
|
Failure to verify fixes
|
No comments:
Post a Comment