Causes of Bugs
-
Misunderstanding.
- Difficult to read code and grasp the concept.
- Not reading documentation.
- Reading documentation – documentation and code mismatch.
-
Lack of awareness.
- Values are changed by "some other code".
- Behaviour changes on upgrades.
- Operating with invalid values.
-
Mental overload.
- Difficulty in expressing concept as code.
- Too many things to keep track of.
-
Changing expectations.
- What was desired previously is now undesired.
- Subset of code is changed to meet new expectation.