Basic Test Flow: On-Screen Data Entry

Posted by Albert Gareev on May 20, 2008 | Categories: Patterns

Parent page: Basic Test Flows

On-Screen Data Entry Flow


Entry/Exit Points

Entry Point. Single. GUI screen (window, web page, etc.).

Exit Point. Single. Last operation. Same GUI screen.


GUI interaction – typing text, selecting items, clicking buttons, etc.

GUI observation – checking screens (windows, web pages, etc.) in context of which GUI operations are performed; checking GUI objects with which operations are performed.

Evaluation – assessment of Pass/Fail criteria for GUI interactions and observations.

Pass/Fail Criteria

Fail Criteria

  • GUI interaction failure
  • GUI observation failure
  • Assessment criteria failure


Stop Criteria

  • GUI context not available
  • End of steps reached


Pass Criteria

  • No failures
  • End of steps reached


Test Data

Input Data. The Test  Flow uses only data to input into an application.


1. GUI observation. “Login screen exists and enabled”.

2. GUI observation. “Username input box exists and enabled”.

3. GUI interaction. “Type in username”.

4. GUI observation. “Password input box exists and enabled”.

5. GUI interaction. “Type in password”.

6. GUI observation. “Login button exists and enabled”.

7. GUI interaction. “Click on Login button”.


This is the simplest test flow. It performs basic straight “happy path” business logic.

Note that its scope is very limited – a script executing it won’t “see” anything except screen title and 3 GUI objects. For instance, “Cancel” button presented on the GUI screen, will not be noticed or verified by the script.

Any unexpected pop-up dialogs won’t be handled, and the script won’t check whether log in was successful or not.


Could be implemented with any type of approach: API hook-up, record/playback, data-driven scripts, and keyword-driven scripts.


Light coverage, barely suitable for Smoke Acceptance Test Plan.

Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported
This work by Albert Gareev is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported.