Heuristics refers to a non-optimal solution for experience-based techniques to solve problems, learning, and discovery.
Controllability - Software and hardware states can be controlled by test engineers and the Software modules can be tested independently
Observability - Check for the object or System states and all other factors affecting the output.
Availability - Check if Source code is accessible as product evolves in stages.
Simplicity - Check if the design is consistent. Check for functional simplicity, structural simplicity and code simplicity.
Stability - Check if the Changes to the software are infrequent and changes are controlled and communicated.
Visibility of system status
Match between system and the real world
Consistency and standards
Error prevention
Flexibility and efficiency of use
Aesthetic and minimalist design
Help and documentation