Heuristics Shared at TCQAA Meeting, July 9, 2003
- Bugs
tend to cluster
- Developers
make similar mistakes over time
- Look
at boundary conditions
- Focus
on revised code
- Look
more at new features
- Try 3+
times through loops
- Last
minute design changes
- High
traffic areas with a history of breaking
- Code
that is developed offsite
- Interfaces
between objects or windows
- Code
that is re-used in multiple places
- Code
that is developed/compiled on a different platform than it will be used on
- Places
where the business domain is complex
- Test
basic flow first
- Dependency
on different versions of other connected applications
- Create
a decision tree and follow all the paths in it
- Decision
logic errors
- First
install initialization
- Clean
installs vs. follow-on installations
- All-pairs
combinations to reduce overall number of tests (look at subset of
combinations)
- Look
for uninitialized data
- Run
application with multiple users, multiple PC’s, etc. that developers
cannot do easily
- Localization
– can it be done, was it done correctly
- Test more
where requirements are fuzzy, ambiguous, missing, hazy, etc.
- Test
where it is harder to fix (fix requires compilation vs. changes in
scripting at run-time)
- Test
dates