I’Ll Believe It When I See Some Flashing Guis

Definition:

  • An unhealthy fixation/obsession with testing the app via its GUI ‘just like a real user’. Testing business rules through the GUI is a terrible form of coupling. If you write thousands of tests through the GUI, and then change your GUI, thousands of tests break. Rather, test only GUI things through the GUI, and couple the GUI to a dummy system instead of the real system, when you run those tests. Test business rules through an API that doesn’t involve the GUI.

References:

Quality attributes

  • - Code Example

  • - Cause and Effect

  • - Frequency

  • - Refactoring