Software Testing - Heuristics
What is heuristics?
Heuristics refers to a non-optimal solution for experience-based techniques to solve problems, learning, and discovery.
Heuristics of Software Testability
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.
Heuristics Interface for User Interface Design (UID)
Visibility of system status
Match between system and the real world
Consistency and standards
Flexibility and efficiency of use
Aesthetic and minimalist design
Help and documentation